背景技术
现有宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统\时分码分多址(Time Division-Code Division Multiple Access,TDCDMA)是当前基于无线WCDMA/TDCDMA技术实现业务接入的重要系统和方法,其网络架构如图1所示。包括无线接入网,以及服务GRPS(General PacketRadio Service,通用无线分组服务)支持节点(Serving GPRS Support Node,SGSN)、网关GPRS支持节点(Gateway GPRS Support Node,GGSN)和终端等网元。其中,无线接入网则主要包括基站以及无线网络控制器(RadioNetwork Controller,RNC)。
RNC是无线接入网内的重要网元,主要作用是管理和控制无线接入网内的基站,协调以及控制网络的无线资源。SGSN和GGSN是为了提供GPRS业务而在全球移动通讯系统(Global System for Mobile Communication,GSM)网络中引进的网元设备。SGSN的主要作用是为本服务区域的MS转发上行、下行的IP分组,而GGSN则是提供数据报文在WCDMA/TDCDMA网内和外部数据网(如,IP互联网,Internet等)之间的路由和封装。用户选择哪一个GGSN作为其网关,是在分组数据协议(Packet Data Protocol,PDP)上下文激活过程中根据用户的签约信息以及用户请求的接入点名(Access PointName)确定的。
移动网络的一个重要特性是在终端持续移动的过程中保持业务的连续性。在WCDMA/TDCDMA网络中,该连续性是通过系统提供的位置管理(Location Management)功能来保证的,该功能包括路由区更新(Routing AreaUpdate)以及切换(Handover)等子功能。其中,切换包括重定位(Relocation)功能和系统间切换(Inter-system Change)功能。路由更新是指在终端从一个路由区移动到另一个路由区时,终端向网络报告自身所处路由区发生变化的过程;重定位是指终端从一个RNC服务区域切换到另一个RNC服务区域的过程。路由更新和重定位功能都是为了保证终端业务的连续性,让终端在网络中移动时,对于外界看来总是可达的,并不让终端以及终端的通信对端在IP层面上感知该终端的位置发生了变化。简单的说即是让终端在移动的过程中保持终端有效的IP地址不发生变化。这里值得说明的是,现有技术中,重定位又包含了三种场景:“服务RNC重定位”(Serving RNS Relocation)场景、“联合硬切换和SRNC重定位(Combined Hard Handover and SRNSRelocation)”场景以及“联合的小区/URA和SRNS重定位(Combined Cell/URA Update and SRNS Relocation)”场景。
如上文所述,SGSN需要为本服务区域的MS转发上行、下行的IP分组,因此数据转发路径可以表达为:终端-基站-RNC-SGSN-GGSN。根据现网的实际运作表明,在这种数据传输模式下,SGSN很容易成为性能瓶颈。因此,当前提出了一种被称为“直接隧道(Direct tunnel)”的技术。其基本方法是让SGSN脱离数据面,仅作为控制面网元,让RNC与GGSN之间直接传递上下行数据。SGSN的作用是协调在RNC与GGSN间建立直连的数据通道(即,直接隧道)以支撑RNC与GGSN间的直接数据传递。此时,数据转发路径可以表达为:终端-基站-RNC-GGSN。
在位置管理过程中,可能会涉及到终端变更当前连接的SGSN的场景,以下内容均针对应用了直接隧道以后,涉及变更SGSN的场景进行叙述。
图2a、2b以“联合硬切换和SRNC重定位”过程为例示意了这种重定向功能,其中终端当前连接的SGSN发生了变更:源RNC(Radio NetworkController,无线网络控制器)和目标RNC归属于不同的SGSN。当终端从源RNC的服务区域移动到目标RNC的服务区域时,将会触发执行重定向流程。如图2a所示,在重定向之前,终端的上下行数据传输路径为终端-源RNC-GGSN;再如图2b所示,在重定向之后,终端的上下行数据传输路径为终端-目标RNC-GGSN。图2c是现有技术中“联合硬切换和SRNC重定位”过程的流程,具体包括以下步骤:
步骤201:源RNC发起PS域的联合硬切换和SRNS重定位;
步骤202:源RNC通过发送重定位请求(Relocation Required)消息给原SGSN(Old SGSN),发起重定位准备过程;
重定位请求携带重定位类型(涉及UE)、原因、源小区ID、目标小区ID、源RNC到目标RNC透明容器等内容。
步骤203:原SGSN根据目标小区ID,如果确定SRNS(Serving RNC,服务RNC)重定位是SGSN间的SRNS重定位,则发送转交重定位请求(Forward Relocation Required)消息给新SGSN,发起重定位资源分配过程;
步骤204a~204b:新SGSN发送重定位请求(Relocation Request)消息给目标RNC,并将在GGSN上终端使用的上行隧道地址发送给目标RNC。目标RNC执行建立无线接入承载,并发送重定位请求证实(Relocation RequestAcknowledge)消息给新SGSN。目标RNC在本步骤中为终端分配下行通道的地址,并将之携带在重定位请求证实消息中发送给新SGSN。
新SGSN可以向目标RNC请求建立多个无线接入承载(Radio AccessBearer,RAB)。此时,目标RNC需要为每个成功建立的RAB都分配一个下行通道的地址。
步骤205:目标RNC和新SGSN之间用于传送用户数据的资源已分配好,并且新SGSN已为SRNS的重定位准备就绪后,新SGSN发送转发重定位响应(Forward Relocation Response)消息到前SGSN;
步骤206:原SGSN发送重定位命令(Relocation Command)消息给源RNC,继续源RNS的重定位。
步骤207:源RNC从PS域接收到重定位命令消息后,启动数据转发定时器,开始转发数据。
步骤208a~208b:源RNC通过发送RRC消息给MS,触发SRNS重定位的执行;后续终端发送RRC消息给目标RNC。
步骤209a~209d:源RNC通过原SGSN、新SGSN向目标RNC传递RNC上下文,通过传递RNC上下文(Forward SRNC Context)消息。
步骤210:当目标RNC发现终端在其服务区时,目标RNC向新SGSN发送重定位检测(Relocation Detect)消息。
步骤211:当目标RNC收到终端发送过来的RRC消息时(步骤208b),目标RNC向新SGSN发送重定位完成(Relocation Complete)消息。
步骤212a~212b:新SGSN向原SGSN发送转交重定位完成(ForwardRelocation Complete)消息;原SGSN向新SGSN返回转交重定位完成证实(Forward Relocation Complete Acknowledge)消息;
步骤213a~213b:新SGSN向GGSN发送更新PDP上下文请求(UpdatePDP Context Request)消息,将相关信息更新至GGSN。这些信息包括新SGSN为终端分配的控制面地址信息(控制面IP地址以及TEID)、目标RNC为终端分配的下行隧道地址等。GGSN向新SGSN返回更新PDP上下文应答(Update PDP Context Response)消息。
步骤214a~214b:原SGSN向源RNC发送Iu释放命令(Iu ReleaseCommand)消息;收到该消息以后,当源RNC上启动的定时器超时,源RNC释放空口资源,同时向原SGSN返回Iu释放完成(Iu Release Complete)消息。
步骤215:终端执行后续的位置更新流程。
由上述过程可见,在重定向前后,终端的上下行数据始终都要经过同一个GGSN。虽然终端附着的SGSN可以发生变化,但是变化后的SGSN(即新SGSN)在重定向的过程中是需要帮助在目标RNC与GGSN间建立用于传递上下行数据直连隧道的(步骤204和步骤213),因此上下行数据在重定向以后依然需要经过同一个GGSN,该GGSN在重定向前后始终保持不变。在现有技术中,该GGSN被称为终端的锚点(Anchor Point)。在本文中,“重定向”与“重定位”等同,两个名词等同使用。
在现有技术中,无论终端如何移动,其锚点是不会变化的,也即终端附着的GGSN是不会发生变化的。这样不变的锚点会引发一系列的问题。比如,导致业界广泛承认的路由迂回问题:终端在一次连接及使用业务的过程中,终端的位置可以发生变化。当终端目前位置远离其锚点时,终端与外界交互的数据流还要通过其锚点转发。特别是当终端目前位置距离其访问的业务源较近时,路由迂回问题将会更加明显。图3中的实线所表示的为迂回的路由,虚线所表示的则为优化的路由(即无迂回的路由)。路由迂回一方面会导致浪费运营商的传输承载资源,不利于节约成本;另一方面增加了终端与通信对端收发IP数据包的时延,不利于改善用户的业务体验;再一方面是增大了终端的IP包在网络上传递时遭遇网络拥塞的可能性,造成终端业务受阻甚至不能实现(如,语音视频等实时业务)。
具体实施方式
由上文分析可知,现有技术导致的一系列问题是由于终端在移动的过程中,始终存在一个固定的锚点,如上文所述的GGSN。终端移动时,其锚点不能发生变化的本质原因是在TCP/IP协议框架中,IP地址同时表示终端的位置和身份信息。若终端在移动的过程中可以动态的迁移其当前附着的GGSN,则可以解决现有技术中因存在固定锚点而导致的路由迂回问题(如图3中的虚线路径)。
为了使终端能在移动过程中动态更改其附着的GGSN,本发明在图1所示的网络架构的基础上,增加一个新的逻辑网元,称之为“映射服务器”,或者称之为“身份位置寄存器(Identity Location Register,ILR)”。该网元可以以独立物理实体的形式存在,也可以以逻辑功能的形式存在与其他物理实体(如,在AAA服务器、HLR等)中。对应于上述的两种形式,分别需要在GGSN与该网元间建立新的接口,或重用并扩展目前已存在的接口。
本发明还为终端分配一个身份标识(Access Identity,AID)以及一个位置标识(Routing Identify,RID)。终端的身份标识用来标定一个终端的身份,且是固定不变的:无论终端在网络中如何移动以及无论当前终端附着在哪个GGSN上,其身份标识始终保持不变,且是唯一的;终端的位置标识则表明终端当前所处的网络的拓扑位置(含有路由信息),或者说根据该位置标识可以定位到终端所在的GGSN。当终端的通信对端要向终端发送数据时,若对端不知道终端的位置信息,则它需要首先到上述ILR查询该终端当前的位置标识;得到位置标识后,对端把数据包首先发送到位置标识所指代的GGSN,再由GGSN将数据包进一步转发给终端。值得说明的是,上述查询ILR的功能,也可以由通信对端的接入网关(如,通信对端所连接的GGSN)来执行。此时,通信对端将发往终端的IP数据包首先发送到它的接入网关,然后该接入网关再看自己知不知道这个终端的位置标识,如果不知道,则到ILR查询终端的位置标识。为了描述简单,以下通信对端均可指对端本身,或者对端所连接的接入网关。
当终端发生了移动且更改了附着的GGSN时(从原GGSN迁移到新GGSN),新GGSN需要为该终端分配一个新的RID,且该新的RID需要被更新到ILR。若在迁移至新GGSN之前,终端有正在与之通信的对端,此时上述新位置标识也优选需要被通知到该通信对端。在收到更新的位置标识之前,通信对端依然会把数据包发送到原GGSN,所以终端新的位置标识也需要通知给原GGSN,当原GGSN收到对端发送过来的数据包时,可以将该数据包转发至新GGSN,再由新GGSN将数据包发送给终端。
当通信系统应用了上述“直接隧道”技术以后,当终端在移动过程中迁移了附着的GGSN时,是需要在目标RNC与新GGSN间建立直接隧道的,因此本发明以下内容提供了一种建立直接隧道的方法。
本发明建立直接隧道的实现方法和系统的主要思想是在终端发生移动的场景下,目标RNC通过新SGSN向新GGSN发送其为所述终端分配的下行隧道地址(即,下行隧道地址传递步骤);所述新GGSN为终端分配上行隧道地址,并通过所述新SGSN向所述目标RNC发送所述上行隧道地址(即,上行隧道地址传递步骤),从而在目标RNC与新GGSN之间建立直接隧道(Direct Tunnel)。
前述上行隧道地址传递步骤和下行隧道地址传递步骤不分先后。下面结合附图和具体实施例对本发明所述技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1(代表实施例)
图4所示为本发明实施例1,是在终端因移动而变更连接的SGSN时,即从原SGSN(Old SGSN)到新SGSN(New SGSN)时,由新SGSN帮助在目标RNC(Target RNC)和新GGSN之间建立直接隧道的例子。其中,在终端迁移到新SGSN的同时,为避免上述因路由迂回而造成的问题,终端也要变更当前附着的GGSN,即从原GGSN(Old GGSN)迁移到新GGSN(NewGGSN),建立直接隧道的过程包括:
步骤401:目标RNC为终端分配下行隧道地址;
在终端的移动过程中,当从源RNC(Source RNC)的服务区域移动到目标RNC的服务区域时,目标RNC需要为终端分配下行隧道,以支持直接隧道功能。下行隧道由下行隧道的地址来标识,具体来说,下行隧道地址是指目标RNC为该终端分配的在该RNC上使用的用户面地址(如,IP地址)以及下行数据(Downlink Data)的隧道端点标识(Tunnel End Identity,TEID)的组合。这里还需要说明的是,上述“下行隧道”也可以被称为“下行通道”,两者含义等同。
步骤402:目标RNC向新SGSN发送第一消息,将上述下行通道的相关信息(即,上述用户面地址以及TEID)发生发送给新SGSN;
步骤403:新SGSN向新GGSN发送第二消息,将上述新目标RNC的下行隧道地址信息发送给新GGSN;
如上文所述,为了解决现有技术中的路由迂回问题,在终端移动的过程中,需要迁移终端当前附着的GGSN,此时新SGSN需要选择一个新的GGSN。在确定了新GGSN以后,新SGSN把上述目标RNC为终端分配的下行隧道的地址信息携带在上述第二消息中发送给新GGSN,新GGSN将之保存在该终端的上下文(如,PDP上下文)中。此时,当新GGSN收到发向终端的数据包(如,IP包)时,新GGSN可以根据上述下行隧道地址信息(IP+TEID),将数据包发送至目标RNC。
步骤404:新GGSN为终端分配上行隧道地址;
具体地,新GGSN为终端分配的上行隧道地址是指新GGSN为终端分配的在该GGSN上使用的用户面地址(如,IP地址)以及TEID的组合。新GGSN还可以将上行隧道地址信息(用户面地址+TEID)也保存在终端的上下文(如,PDP上下文)中。
步骤405:新GGSN向新SGSN返回第三消息,其中携带上述上行隧道地址信息;
步骤406:新SGSN向目标RNC返回第四消息,把上述新GGSN为终端分配的上行隧道地址信息发送给目标RNC。
在目标RNC得到上述上行隧道地址信息以后,当收到终端向对端发送的数据包时,目标RNC就可以依照该地址,将上行数据包直接发送到新GGSN,再由新GGSN将数据包发送到对端。
通过本实施例的方法,由新SGSN在目标RNC和新GGSN之间传递上下行通道的地址信息,实现了在目标RNC和新GGSN间建立直接隧道。
以上第一至第四消息可以是现有消息也可以是新增消息。
所述终端位置更新发生的场景为:服务RNC重定位(Serving RNSRelocation)场景、联合硬切换和SRNC重定位(Combined Hard Handover andSRNS Relocation)场景、联合的小区/URA和SRNS重定位(Combined Cell/URA Update and SRNS Relocation)场景、或,路由区更新(Routing AreaUpdate)以及后续的PDP上下文激活(PDP Context Activation)场景。以下结合具体的场景对本发明进行详细说明。
以上实施例1中步骤401至403相当于上行隧道地址传递步骤的具体实现,步骤404至406相当于下行隧道地址传递步骤的具体实现,如前文所述,为了实现本发明,并不限定步骤401至403与步骤404至406之间的先后顺序。可理解地,在步骤404及405之前,新SGSN因为终端的移动已经选择了该新GGSN并使其受到了触发,触发该新GGSN的可以是前述第二消息(参见实施例2-4),也可以是新SGSN发送给该新GGSN的其他触发消息(参见实施例5-6)。
值得说明的是,在本文范围内描述的RNC包括源RNC和目标RNC,均是为终端服务的RNC,所以又可被称为SRNC(Serving RNC)。相应地,源RNC又可被称为源SRNC,目标RNC又可被称为目标SRNC。
实施例2
图5所示为本发明实施例2,是在WCDMA/TDCDMA网络中服务RNC重定位的场景下,由新SGSN帮助在目标RNC和新GGSN间建立直接隧道的实施例,具体包括以下步骤:
步骤501:源RNC决定发起SRNS重定位(SRNC Relocation)流程;
步骤502:同步骤202。
本步骤中,重定位类型需要设置为“不涉及UE”。
步骤503:同步骤203;
步骤504a~504b:同步骤204a~204b;
不过必须强调的是,在本实施例中由于终端需要变更附着的GGSN(即新GGSN),所以在本步骤中新SGSN未掌握新GGSN为终端分配的上行隧道地址信息。那么此时与现有技术不同的是,在本步骤中新SGSN不需要将原GGSN为终端分配的上行隧道地址信息发送给目标RNC。但是,目标RNC仍然需要像现有技术那样,为终端分配下行隧道地址,并将该信息携带在504b对应的消息中传递给新SGSN。还值得说明的是,目标RNC为终端分配的下行隧道地址,具体是指目标RNC上使用的用户面地址以及隧道端点标识TEID。目标RNC把下行隧道地址信息发送到新SGSN。
步骤505:同步骤205;
步骤506:同步骤206;
步骤507:同步骤207;
步骤508:当一切准备就绪时,源RNC向目标RNC发送重定位提交(Relocation Commit)消息;
步骤509:目标RNC向新SGSN发送重定位检测(Relocation Detect)消息;
步骤510a~510b:目标RNC与终端交互RAN(Radio Access Network)相关的信息;
步骤511:目标RNC向新SGSN发送重定位完成(Relocation Complete)消息;
步骤512:新SGSN为终端选择新GGSN,新SGSN向新GGSN发送触发消息,该消息携带终端的标识以及终端当前附着的原GGSN的标识;
如上文所述,新SGSN选择新GGSN的目的是为了消除路由迂回,以及因路由迂回而导致的一系列问题。
优选地,终端的标识是终端的IMSI或该终端的AID;原GGSN的标识是该GGSN的IP地址,或者是该GGSN的控制面地址(如,控制面的IP地址)以及在该GGSN上使用的该终端的控制面TEID(Tunnel EndpointIdentifier,隧道端点标识)的组合(即用控制面地址+TEID来作为原GGSN的标识)。
优选地,该触发消息还携带新SGSN为该终端指定的控制面的TEID和IP地址,该控制面的IP和TEID在将来完成位置管理过程以后,作为新GGSN向新SGSN发送与该终端相关的控制信令的通道地址使用。
优选地,该触发消息还携带新SGSN在上述步骤中获取到的目标RNC为终端分配的下行隧道地址。该地址将来在完成RNC重定位以后,作为数据面(或称之为“用户面”,两者概念等同)通道地址来使用。
该触发消息的目的是通知新GGSN该终端将要附着到该新GGSN上,并告知新GGSN一些相关的信息(如,原GGSN的标识、新SGSN为终端指定的控制面地址信息,目标RNC的下行地址通道信息等)。
该触发消息的具体命名可以例如是“重定向上下文请求(RelocationContext Request)”等;该消息优选是基于GTP协议的消息。
步骤513:新GGSN向原GGSN发送上下文请求(Context Request)消息,向原GGSN请求关于该终端的上下文信息,包括该终端的PDP上下文(PDP Context)信息;
该上下文请求消息携带终端的标识。优选地,终端标识是终端的IMSI(International Mobile Subscriber Identification,国际移动用户识别码)或身份标识(AID),该AID在网络中作为终端的身份标识可唯一标记该终端。优选地,若需要请求多个终端的上下文信息,则该消息可以携带多个终端的标识。
步骤514:原GGSN搜集终端的上下文信息,其中至少包括终端的PDPContext,以及优选地还包括其他一些配置信息,并通过上下文请求应答消息发送给新GGSN;
优选地,若原GGSN保存有终端的一些必要的配置信息,例如终端与原GGSN通过PCO(Protocol Configuration Options,协议配置可选项)交互的配置参数,或者原GGSN作为新GGSN时,从另一原GGSN获取的配置参数,则原GGSN需要把这些配置参数也发送到新GGSN。这些配置信息包括例如LCP协议的配置参数(如,MRU)、终端用户需要提供给AAA服务器的用户名密码等。
此时,新GGSN获得到了该终端的上下文信息,为终端从原GGSN迁移到新GGSN上做好了准备。
步骤515:新GGSN收到上下文请求应答后,取出终端的上下文信息并保存在本地。新GGSN根据原GGSN提供的上下文信息,为终端在本地创建PDP Context以及优选地还要为终端在本地配置相关的信息,该信息包括步骤514中所述的配置信息/配置参数(例如,将终端提供的用户名密码适当的保存在新GGSN本地;为该终端设置使用的LCP协议的配置参数等)。
在本步骤中,新GGSN还要为终端指定控制面和用户面的TEID和IP地址。控制面的IP地址和TEID在将来完成位置管理过程以后,作为新SGSN向新GGSN发送与该终端相关的控制信令的通道地址使用;用户面的IP和TEID(即上行隧道地址)在将来完成位置管理过程以后,作为目标RNC为终端向新GGSN发送上行IP数据包的通道地址使用(此时,假定应用了直接隧道技术)。
新GGSN向新SGSN发送触发消息应答,将其为终端指定的上述控制面、用户面的TEID和/或IP地址等信息通知到新SGSN。新SGSN更新本地保存的关于该终端的PDP上下文。
该触发消息应答的目的是新GGSN通知新SGSN自己已经准备好接纳终端的附着,并告知新SGSN一些相关的信息(如,新GGSN为终端指定的控制面、用户面IP地址、TEID等)。特别要说明的是,新GGSN将上述为终端分配的上行隧道地址信息(IP+TEID)携带在触发消息应答中发送给新SGSN,用于建立直接隧道。
该触发消息应答的具体命名可以例如是“重定向上下文应答(RelocationContext Response)”等,其中还可以携带执行结果信息(如“成功”、“失败”等);优选地,该消息是基于GTP协议的消息。
步骤516:新SGSN向目标RNC发送消息,将上述新GGSN为终端分配的上行隧道地址信息通知给目标RNC;
优选地,新SGSN在收到新GGSN返回的上述触发消息应答以后,确认新GGSN已经准备好终端的附着。此时,新SGSN将上述上行隧道地址信息(GGSN的用户面IP地址+TEID)通知给目标RNC,以便后续目标RNC可以将终端发送给对端的数据包直接发送到新GGSN。这里值得注意的是,若上述目标RNC为终端分配了多个下行隧道地址,则新GGSN也要相应为终端分配多个上行通道的地址,以与下行隧道地址一一对应,形成多个双向的通道,用于传递上下行数据。
步骤517a~517b:同步骤212a~212b;
步骤518a~518b:同步骤214a~214b;
步骤519:同步骤215。
使用本发明提供的方法,可以实现在终端迁移当前附着的GGSN的过程中,在目标RNC和新GGSN之间建立直接隧道。
如上文说书,在迁移GGSN的过程中,新GGSN需要为终端分配新的RID。那么在本实施例中,新GGSN可以在步骤512之后为终端分配新的RID。同时,新GGSN需要将该新RID通知给原GGSN,比如使用步骤513的消息。同时,在分配了新RID以后,新GGSN需要将新的RID通知到ILR,或者通知到ILR以及对端。不过,作为一种变形,也可以由原GGSN将新的RID通道到ILR,或者通知到ILR以及对端(如,在步骤513,原GGSN或得到新RID以后)。
实施例3
图6所示为本发明实施3,是在WCDMA/TDCDMA网络中的“联合硬切换与服务RNC重定位”的场景下,由新SGSN帮助在目标RNC和新GGSN间建立直接隧道的方法,具体包括以下步骤:
步骤601:源RNC发起PS域的联合硬切换和SRNS重定位;
步骤602:同步骤502(202)。本步骤中,重定位类型需要设置为“涉及UE”;
步骤603:同步骤503(203);
步骤604a~604b:同步骤504a~504b,目标RNC把下行隧道地址信息发送到新SGSN;
步骤605:同步骤505(205);
步骤606:同步骤506(206);
步骤607:同步骤507(207);
步骤608a~608b:同208a~208b;
步骤609a~609d:同209a~209d;
步骤610:同210;
步骤611:同211;
步骤612-616:同实施例2所述的步骤512至516;
步骤617a~617b:同步骤517a~517b(212a~212b);
步骤618a~618b:同步骤518a~518b(214a~214b)。
步骤619:同步骤519(215)。
实施例4
图7所示为本发明实施例4,是在WCDMA/TDCDMA网络中的“联合的小区/URA和SRNS重定位(Combined Cell/URA Update and SRNSRelocation)”的场景下,由新SGSN帮助在目标RNC和新GGSN间建立直接隧道的方法,具体包括以下步骤:
步骤701:终端向源RNC发送小区更新(Cell Update)消息,或者发送URA Update或Cell Update或GRA Update;
步骤702~709:同步骤502~509;
步骤710a~710b:目标RNC向终端发送小区更新确认(Cell UpdateConfirm)消息,或者是发送URA Update Confirm或Cell Update Confirm或GRA Update Confirm;终端向目标RNC发送RAN移动性信息确认消息(RANMobility Information Confirm);
步骤711:当目标RNC收到终端发送过来的RAN移动性信息确认消息时(步骤710),目标RNC向新SGSN发送重定位完成(Relocation Complete)消息;
步骤712~716:同实施例2所述的步骤512至516;
步骤717~719:同517~519。
实施例5
当新SGSN收到转交重定位请求(如步骤503、603、703)时,如上文所述由于终端需要变更附着的GGSN(即新GGSN),因而此时新SGSN未掌握新GGSN为终端分配的上行隧道地址信息,所以新SGSN在向目标RNC请求分配无线承载资源的时(步骤504a、604a、704a)不能通知目标RNC新GGSN为终端分配的上行隧道地址。
本实施例作为对上述实施例(实施例2至4)的一种变形,当新SGSN收到转交重定位请求时,即可为终端选择新GGSN,并向该新GGSN请求为终端分配上行隧道地址信息。以对实施例2的变形为例,如图8所示,具体包括以下步骤:
步骤801:同步骤501;
步骤802:同步骤502;
步骤803:同步骤503;
步骤804:新SGSN为终端选择新GGSN,并向新GGSN发送触发消息,其中携带终端的标识;
步骤805:新GGSN为该终端分配上行隧道地址,具体是指终端在新GGSN上使用的数据面的IP地址以及TEID。若新SGSN需要请求目标RNC为终端分配多个下行隧道地址(如,每个下行隧道地址对应一条无线承载),则此时新GGSN要为终端分配相应的多个上行通道的地址,以与下行隧道地址一一对应,形成多个双向的通道,用于传递上下行数据。具体需要分配几个上行隧道地址,需要新SGSN在步骤804中告知新GGSN。例如,SGSN可以根据其获取到的终端的PDP上下文信息,或EPS(Evolved Packet System,演进的分组系统)承载信息来通知新GGSN应创建几条上行隧道。
步骤806a~步骤806b:同步骤204a~204b。所不同的是,在步骤204a~204b中,新SGSN是将终端在原GGSN上使用的上行隧道地址通知给目标RNC。而在本步骤中,新SGSN是将上述从新GGSN获得的新GGSN为终端分配的上行隧道地址发送给RNC。808b同204b一样,目标RNC将其为终端分配的下行隧道地址发送给新SGSN。
步骤807~808:同步骤505~506。
步骤809:同步骤507~519。所不同的是在本实施例中,后续新SGSN无需再执行选择新GGSN的步骤,因为在步骤803中已经选好了新GGSN,新SGSN直接向该新GGSN发送触发消息(如512所述)。同时,在后续步骤中新SGSN也无需向目标RNC发生“重定位完成确认”消息(如516所述),因为在步骤805中新SGSN已经将新GGSN为终端分配的上行隧道地址发送给了目标RNC。当然同步骤512所述,新SGSN还是需要将目标RNC为终端分配的下行隧道地址携带在触发消息中,发送给新GGSN。这样,也能实现新SGSN帮助在目标RNC与新GGSN之间建立直接隧道。
同样的变形也可应用在实施例3和实施例4上,原理相同,不再赘述。
实施例6
SRNC重定位场景还包括终端在空闲模式下发生的SRNC重定位。所谓终端的空闲模式,是指当终端长时间没有业务(无上下行数据)时,而暂时断开终端与基站之间的无线承载连接的一种状态,其目的是为了节约有限的空口资源。图9和图10共同构成本发明实施例6,具体包括以下步骤:
步骤901:处于空闲模式的终端发现自己所处的路由区域发生变更时,终端向新SGSN发送路由区更新请求(Routing Area Update Request)消息;
步骤902a~902c:新SGSN向原SGSN发送SRNC上下文请求(SRNSContext Request)消息,从原SGSN获取终端的SRNC上下文。由原SGSN可能要去终端的原SRNC(Old SRNC)获取终端的SRNC上下文;
步骤903:原SGSN向新SGSN发送SRNC上下文应答(SRNS ContextResponse)消息。
步骤904:若新SGSN没有该终端的认证相关的信息,则新SGSN会发起对终端的鉴权流程(需要HLR参与其中)。
步骤905:新SGSN向原SGSN发送SRNC上下文证实(SRNS ContextAck)消息。
步骤906:原SGSN向原SRNC发送SRNC数据转发命令(SRNS DataForward Command)
步骤907-908:原SRNC将数据通过原SGSN发送到新SGSN上。
步骤909~912:同步骤512~515。在这过程中,新GGSN为终端分配了在该新GGSN上使用的上行通道的地址(IP地址以及TEID)。值得说明的是,与步骤512不同的是,在与之对应的步骤909中,新SGSN没有将目标RNC的下行隧道地址信息发送给新GGSN。
步骤913:后续处理,例如向HLR发起位置更新等。
通过实施例的上述流程,新GGSN为终端分配了上行隧道地址,并将通道地址信息发送给了新SGSN,新SGSN将之保存在本地。等到终端退出空闲模式(IDLE Mode),重新建立无线承载时,新SGSN再帮助在这里的目标RNC与新GGSN间建立直接隧道,如图10所示,具体包含以下步骤:
步骤1001a~1001b:终端向RNC(即上述的目标RNC)发出RRC连接请求,RNC向终端回应RRC连接设置;
步骤1002:终端向SGSN(即上述的新SGSN)发送业务请求消息;
步骤1003:执行安全功能;
步骤1004:SGSN(上述新SGSN)向RNC(上述目标RNC)发送无线接入承载分配请求,以为终端建立无线承载。此时,在本步骤中,SGSN将存储的GGSN(即上述新GGSN)的上行隧道地址信息携带在无线接入承载分配请求中,发送给RNC;
步骤1005~1006:RNC与终端之间建立无线承载。
步骤1007:RNC(上述目标RNC)向SGSN(上述新SGSN)发送无线接入承载分配响应。在这个步骤中,RNC(即上述目标RNC)为终端分配了下行隧道地址,并将该地址信息携带在无线接入承载分配响应中发送给了SGSN(新SGSN)。
步骤1008:由SGSN(新SGSN)发起PDP上下文修改过程。具体是指SGSN(新SGSN)向GGSN(新)发送修改PDP上下文请求(Modify PDP ContextRequest)消息,其中携带上述RNC为终端分配的下行隧道地址信息;GGSN用修改PDP上下文应答(Modify PDP Context Response)消息应答新SGSN。
由此,在SGSN(即在位置更新过程中的新SGSN)的帮助下,在RNC(即在位置更新过程中的目标RNC)与GGSN(即在位置更新过程中的新GGSN)之间建立了直接通道。
另外,本发明还提供了一种无线网络控制器(RNC),如图11所示,与本发明特别相关地,该RNC包括地址分配模块、发送模块及接收模块,在终端发生移动的场景下,作为目标RNC时:
所述地址分配模块,用于为所述终端分配下行隧道地址;
所述发送模块,用于向新服务GRPS支持节点(SGSN)发送第一消息,其中携带所述目标RNC为终端分配的下行隧道地址;
所述接收模块,用于接收新SGSN发送的第四消息,其中携带新网关GPRS支持节点(GGSN)为所述终端分配的上行隧道地址。
所述目标RNC为所述终端分配的上行隧道地址个数与所述新GGSN为所述终端分配的下行隧道地址个数相同。
更进一步地,处于空闲状态的终端发生移动的场景下,所述目标RNC的发送模块在所述终端退出空闲状态后,发送所述第一消息。
本发明还提供了一种服务GRPS支持节点(SGSN),如图12所示,与本发明特别相关地,该SGSN包括上行消息处理模块和下行消息处理模块,在终端发生移动的场景下,作为新SGSN时:
所述上行消息处理模块,用于接收目标无线网络控制器(RNC)发送的第一消息,以及向所述新GGSN发送第二消息,所述第一消息、第二消息中携带所述RNC为所述终端分配的下行隧道地址;
所述下行消息处理模块,用于接收所述新网关GPRS支持节点(GGSN)发送的第三消息,以及向所述目标RNC发送第四消息,所述第三消息、第四消息中携带所述GGSN为所述终端分配的上行隧道地址。
进一步地,处于空闲状态的终端发生移动的场景下,所述新SGSN的下行消息处理模块在所述终端退出空闲状态后,发送所述第四消息,所述新SGSN的上行消息处理模块在所述终端退出空闲状态后,发送所述第二消息。
更进一步地,所述新SGSN还包括GGSN选择模块,在终端发生移动的场景下,作为新SGSN时,用于选择所述新GGSN;所述上行消息处理模块,在选择所述新GGSN后,向所述新GGSN发送所述第二消息或触发消息,以触发所述新GGSN为所述终端分配上行隧道地址。
本发明还提供了一种网关GPRS支持节点(GGSN),如图13所示,与本发明特别相关地,所述GGSN包括接收模块、地址分配模块和发送模块,在终端发生移动的场景下,作为新GGSN时:
所述接收模块,用于接收新服务GRPS支持节点(SGSN)发送的第二消息,其中携带目标无线网络控制器(RNC)为所述终端分配的下行隧道地址;
所述地址分配模块,用于为所述终端分配上行隧道地址;
所述发送模块,用于向所述新SGSN发送所述第三消息,其中携带所述下行隧道地址。
进一步地,处于空闲状态的终端发生移动的场景下,新GGSN的发送模块,在所述终端空闲状态时发送所述第三消息。
所述新GGSN为所述终端分配的下行隧道地址个数与所述目标RNC为所述终端分配的上行隧道地址个数相同。
所述地址分配模块,根据所述接收模块接收到的所述新SGSN发送的第二消息或触发消息的触发,为所述终端分配上行隧道地址并发送所述第三消息。
为了实现以上方法,本发明还提供了一种建立直接隧道的实现系统,其包括如前所述的RNC、SGSN和GGSN,如图14所示。
对应于实施例6,处于空闲状态的终端发生移动的场景下,新GGSN的发送模块,在所述终端空闲状态时发送所述第三消息,所述新SGSN的下行消息处理模块在所述终端退出空闲状态后,发送所述第四消息,所述目标RNC的发送模块在所述终端退出空闲状态后,发送所述第一消息。所述新SGSN的上行消息处理模块在所述终端退出空闲状态后,发送所述第二消息。
所述新SGSN还包括GGSN选择模块,在终端发生移动的场景下,作为新SGSN时,用于选择所述新GGSN;所述上行消息处理模块,在选择所述新GGSN后,向所述新GGSN发送所述第二消息或触发消息,以触发所述新GGSN为所述终端分配上行隧道地址。所述GGSN的地址分配模块,根据所述接收模块接收到的所述新SGSN发送的第二消息或触发消息的触发,为所述终端分配上行隧道地址并发送所述第三消息。
所述下行隧道地址包括目标RNC上使用的用户面地址以及下行数据的隧道端点标识(TEID);所述上行隧道地址包括新GGSN上使用的用户面地址以及上行数据的TEID。
优选地,所述第二消息还携带所述终端的标识和/或所述终端当前附着的原GGSN的标识,所述终端的标识是所述终端的IMSI或所述终端的身份标识(AID);所述原GGSN的标识是所述原GGSN的IP地址或所述原GGSN的控制面地址与TEID的组合。
进一步地,所述GGSN还包括上下文管理模块,在作为新GGSN时,用于向原GGSN请求获取所述终端的上下文信息;在作为原GGSN时,用于根据新GGSN的请求向所述新GGSN提供所述终端的上下文信息;所述GGSN的地址分配模块根据所述上下文管理模块获取的终端的上下文信息分配所述上行隧道地址。
进一步地,所述GGSN的地址分配模块,还用于根据获取所述终端的上下文信息为所述终端分配控制面的TEID和IP地址,所述第二消息还携带所述控制面TEID和IP地址。
所述目标RNC为所述终端分配的上行隧道地址个数与所述新GGSN为所述终端分配的下行隧道地址个数相同。
本发明所说的终端发生移动的场景包括:服务RNC重定位(Serving RNSRelocation)场景、联合硬切换和SRNC重定位(Combined Hard Handover andSRNS Relocation)场景、联合的小区/URA和SRNS重定位(Combined Cell/URA Update and SRNS Relocation)场景。
本发明建立直接隧道的实现方法和系统中,当新SGSN选择了新GGSN时,新SGSN将目标RNC的下行隧道地址发送给新GGSN;新GGSN为终端分配上行隧道地址,并传递给新SGSN,然后新SGSN再把该上行隧道地址发送给目标RNC,帮助在目标RNC与新GGSN之间建立直接隧道(DirectTunnel),避免了路由迂回。