控制面隧道端点标识符的分配方法及其系统的制作方法

文档序号:7596244阅读:151来源:国知局
专利名称:控制面隧道端点标识符的分配方法及其系统的制作方法
技术领域
本发明涉及第三代移动通信技术领域,特别涉及通用移动通信系统核心网通过通用分组无线业务网关支持节点分配控制面隧道端点标识符值的技术。
背景技术
通用移动通信系统(Universal Mobile Telecommunications System,简称“UMTS”)是采用宽带码分多址(Wideband Code Division Multiple Access,简称“WCDMA”)空中接口技术的第三代移动通信系统。在UMTS系统采用了与第二代移动通信系统类似的结构,包括UMTS地面无线接入网(UMTSTerrestrial Radio Access Network,简称“UTRAN”)和核心网络(Core Network,简称“CN”)。其中,UTRAN用于处理所有与无线有关的功能,而CN则处理UMTS系统内所有的话音呼叫和数据连接,并实现与外部网络的交换和路由功能。CN从逻辑上分为电路交换域(Circuit Switched Domain,简称“CS”)和分组交换域(Packet Switched Domain,简称“PS”)。其中分组交换主要由通用分组无线业务服务支持节点(Serving GPRS Support Node,简称“SGSN”)和通用分组无线业务网关支持节点(GPRS Gateway Support Node,简称“GGSN”)两个功能实体来实现。UTRAN、CN与移动台(Mobile Station,简称“MS”)一起构成了整个UMTS系统。
当MS要访问外部数据网络时,必须向CN发起分组数据协议上下文(Packet Data Protocol Context,简称“PDP Context”)激活过程,MS在激活的PDP Context中接收分配给它的PDP地址。PDP上下文保存了用户面进行隧道转发的所有信息,其中包括用户面的网间互联协议(Internet Protocol,简称“IP”)地址、隧道端点标识符(Tunnel Endpoint Identifier,简称“TEID”)和服务质量(Quality of Service,简称“QoS”)等信息。
图1示出了现有技术的UMTS中PDP上下文激活的具体过程。
其中,MS10是用户移动终端,熟悉本领域的人员应该知道,MS10可以是手机、个人掌上电脑、笔记本、等移动终端设备。UTRAN20与MS10通过无线链路进行通信连接。SGSN30主要完成分组交换域的路由转发、移动性管理、会话管理、鉴权和加密等功能。GGSN40提供数据包在UMTS移动网和外部数据网之间的路由和封装。SGSN30与GGSN40直接相连,二者之间的接口是基于通用无线分组服务隧道协议(GPRS Tunneling Protocal,简称“GTP”)协议来实现隧道传输功能,包括信令面GTP控制面(GTP Control,简称“GTP-C”)协议和用户面(GTP User,简称“GTP-U”)。其中,GTP-C完成隧道的管理和其它信令消息的传输功能,GTP-U传输用户面的数据包。每个GTP通道通过一个TEID来作标识。
首先在步骤100,由MS10向SGSN30发送请求激活PDP上下文消息。MS将使用PDP地址指示其是否请求使用静态PDP地址或是动态PDP地址。当请求使用动态地址时,MS10将PDP地址置为空。
随后,在步骤110中,SGSN30判断模式,如果是A/Gb模式,则执行安全功能,而且如果基站子系统跟踪激活,则SGSN30应发送调用跟踪消息给该基站子系统。并且,SGSN30通过由MS10提供的PDP的类型和地址、接入点名称以及PDP上下文签约记录来验证激活PDP上下文请求。如果不能获得GGSN40的地址,或者SGSN30确定激活PDP上下文请求不合法,则SGSN拒绝PDP context激活请求。如果能获得GGSN40的地址,SGSN为请求的PDP上下文分配一个TEID。
在步骤120,SGSN30发送120创建PDP上下文请求消息,消息给GGSN40,该消息中包括PDP的类型和地址、接入点名称以及TEID等信息。然后,在步骤130中,GGSN40向SGSN返回一个创建PDP上下文回复消息,并进入步骤140。
在步骤140,建立无线接入承载(Radio Access Bearer,简称“RAB”)。如果基站子系统(Base Station Subsystem,简称“BSS”)跟踪激活,则在接下来的步骤150中,由SGSN30发送调用跟踪消息给UTRAN20。
随后,则在步骤160中,SGSN30向GGSN40发送一个更新PDP上下文请求消息。
在步骤170,GGSN40通过返回更新PDP上下文回复消息将QoS的新属性内容通告给SGSN,并进入步骤180。
在步骤180,SGSN30在它的PDP上下文中的GGSN地址后插入在步骤170中接收到QoS属性中所包含的网络层服务接入点标识(Network LayerService Access Point Identifier,简称“NSAPI”)。如果MS10请求的是一个动态地址,则将GGSN40返回的更新PDP上下文回复消息的PDP地址插入到PDP上下文中。
然后,在步骤190,SGSN30将地址、QoS等信息通过激活PDP上下文接受消息发送给MS10。于是,PDP上下文激活过程就完成了,SGSN30现在能够在GGSN40和MS10之间发送PDP分组数据单元(Packet Data Unit,简称“PDU”),并启动计费。
下面分别参照图2、图3、图4来详细描述上述PDP上下文中涉及到的TEID。
如图2所示,数据(I)TEID的信息元素(Information Element,简称“IE”)包含用于数据传输的TEID,在收到这个TEID后,收方在向发方传输用户数据时将在其GTP头中包含这个TEID。
控制面TEID的IE如图3所示。如果接收方确认已经成功地给发送方分配了用于信令的TEID,这个IE与以前发送的值是一样的。当接收者接收到任何来自发送方的控制面消息的GTP头的TEID值就是它分配的值时,就认为已经成功地分配了控制面TEID。如果发送者第一次收到接收者的控制面TEID,它就存储这个IE。如果发送者已经接收到了这个控制面TEID,就忽略这个IE。
如图4所示,数据(II)TEID的IE包含原SGSN和新SGSN间为特定的PDP上下文传输数据时使用的TEID,这个TEID由新SGSN请求。其中,位x指的是空位,发送方设置为零,接收方不予考虑。
GTP隧道管理消息中定义的激活PDP上下文请求处理如下作为PDP上下文激活过程的一部分,SGSN节点将向GGSN节点发送′创建PDP上下文请求′消息。SGSN发送此消息的目的IP地址是域名服务系统(DOMAIN NAME SYSTEM,简称“DNS”)服务器提供的GGSN IP地址列表的第一个IP地址。在发送了创建PDP上下文请求消息后,SGSN标记PDP上下文为′等待响应′。在这种状态下,SGSN应接收来自GGSN的G-PDU,但不发送给MS。一个有效的请求发起SGSN中的PDP上下文和GGSN中的PDP上下文间的隧道创建。假如这个过程没有成功的完成,SGSN用IP地址列表的下一个GGSN地址重复PDP上下文创建过程,如果还有的话。如果列表中的GGSN地址用完了仍然没有成功,激活过程就失败。
对于其中的各自TEID处理如下数据(I)的TEID字段为G-PDU定义下行TEID,这个标识由SGSN选择。GGSN应在随后的所有与请求的PDP上下文相关的下行G-PDU的GTP头中包含这个TEID。
控制面TEID字段为控制面消息定义的下行TEID,这个标识由SGSN选择。GGSN应在随后的所有与请求的PDP上下文相关的下行控制面消息的GTP头中包含这个TEID。如果SGSN已经成功地确认了这个标识符的分配,这个字段就不再需要。如果SGSN收到的任何来自GGSN的控制面消息的GTP头中包含了这个TEID,就认为SGSN成功地确认了控制面TEID的分配。
控制面TEID由数据流的接收方分配,它唯一区分了同一对GSN设备不同隧道的标识,如果接收方还没有给这条隧道分配TEID,应该给这条隧道分配一个不使用的TEID,分配的方法是采用一个计数器累加,分配一个TEID后将计数器累加,使得下一次分配的TEID值与前面的不同。
在实际应用中,上述方案存在以下问题现有方案虽然完全遵循协议的描述,采用累加计数器来分配控制面TEID值,以达到每次分配的TEID值不重复的目的。但是这种简单的分配TEID值的方法没有全面考虑实际设备的功能和网上设备运行的情况。在实际设备中,设备因为故障、维护、调试等原因有可能需要重新启动,这样原用来分配TEID的计数器将会被清空,等到需要GGSN分配控制面TEID的时候,分配的TEID值将从零开始,这样就有可能出现与以前分配的TEID值发生重复的情况;或者因为设备有主备倒换的功能,当主板故障发生故障倒换或者进行人工倒换的时候,原备板升级为主板后开始进行业务,应用原有技术分配的TEID值也将从零开始,同样有可能出现与前面某些时刻分配的TEID值发生重复的情况。
重复控制面TEID值的产生将导致GGSN和SGSN解析GTP隧道的混乱,造成用户识别混乱等严重的错误。

发明内容
有鉴于此,本发明的主要目的在于提供一种控制面隧道端点标识符的分配方法及其系统,能够满足GGSN分配控制面TEID不发生重复分配的需求,从而方便GGSN和SGSN能够正确识别和维护用户上下文。
为实现上述目的,本发明提供了一种控制面隧道端点标识符的分配方法,将控制面隧道端点标识符值拆分为高位部分和低位部分,其中,所述高位部分保存在通用分组无线业务网关支持节点设备的非易失性存储器中,并且,所述方法包含以下步骤每当所述通用分组无线业务网关支持节点重启、或主备倒换中的备板升级为主板时,读取所述高位部分,并对其累计加一,所述低位部分清零;当所述通用分组无线业务网关支持节点分配控制面隧道端点标识符时,将所述低位部分累计加一,并将所述高位部分和低位部分组合成完整的控制面隧道端点标识符;并且当所述高位部分达到最大值时,该部分清零;当所述低位部分达到最大值时,该部分清零。
其中,所述高位部分的长度是4位比特,所述低位部分的长度是28位比特。
所述高位部分存储在闪速存储器中。
所述低位部分存储在随机存取存储器中。
当所述通用分组无线业务网关支持节点收到来自通用分组无线业务服务支持节点的激活请求消息,并且所述请求消息中的控制面隧道端点标识符值为0时,分配控制面隧道端点标识符。
当主备倒换时还包含以下步骤所述主板读取所述非易失性存储器中的高位部分;所述主板通过备份模块将所述高位部分的值发送给所述备板;所述备板通过所述备份模块接收来自所述主板的高位部分的值,并写入所述备板的闪速存储器中。
本发明还提供了一种控制面隧道端点标识符分配系统,包含第一存储器,用于存储控制面隧道端点标识符的高位部分,并在所述通用分组无线业务网关支持节点每次启动、或主备倒换升级为主板时累计加一,且当累计值达到最大值时清零,其中,该第一存储器为非易失性存储器;第二存储器,用于存储控制面隧道端点标识符的低位部分,并在所述通用分组无线业务网关支持节点每次启动时清零,且每次分配控制面隧道端点标识符后累计加一,其中,当累计值达到最大值时清零。
其中,所述第一存储器是闪速存储器。
所述第二存储器是随机存取存储器。
所述第一存储器的长度是4位比特,所述第二存储器的长度是28位比特。
通过比较可以发现,本发明的技术方案与现有技术的区别在于,现有技术虽然完全遵循相关协议的描述,采用累加计数器来分配控制面TEID值,以达到每次分配的TEID值不重复的目的。但是这种简单的分配TEID值的方法没有全面考虑实际设备的功能和网上设备运行的情况。在实际设备中,设备当需要重新启动,或者因为设备有主备倒换的功能,当主板故障发生故障而自动倒换或者进行人工对主备板倒换的时候,应用原有技术分配的TEID值就有可能出现与以前分配的TEID值发生重复的情况;控制面TEID数值的重复将导致GGSN和SGSN解析GTP隧道的混乱,而造成用户识别混乱等严重的错误。
本发明方案则提供了新的分配控制面TEID数值的方法,利用控制面TEID为四字节长度的特点,将控制面TEID高位和低位分别两部分,并将4字节高位部分保存在设备单板闪存中,掉电后不丢失,而将28个字节的低位部分保存在内存中。并针对实际设备运行中可能出现设备重新启动或则主备设备倒换的异常情况,通过高位和低位两部分的灵活组合来构造控制面TEID数值,同时在主备板之间备份高位部分。
这种技术方案上的区别,带来了较为明显的有益效果,本发明方案的关键点就在于GGSN处理SGSN发来的请求分配控制面TEID的过程中,将控制面TEID的值拆分为高位和低位两部分的组合来确定控制面TEDI的取值。并进一步,为了达到分配的控制面TEID值不发送重复的目的,将高位保存在非易失存储器(FLASH)中,GGSN每次重新启动时读取FLASH值后将FLASH值累加1,而低位则保存在RAM中,每次分配累加1,通过他们的组合值来保证在较长一段时间内GGSN分配的控制面TEID不会出现重复的值。
因此,本发明方案完善了GGSN对SGSN发来的请求消息分配控制面TEID的处理过程,在理论上保证了GGSN分配的控制面TEID值不发生重复。最终保持了GGSN设备在大业务量、重启、主备倒换时隧道标识的正常分配,保证了不同用户的正确区分和用户业务的正常进行。


图1是根据现有技术的UMTS中PDP上下文激活的流程图;图2是根据现有技术的数据(I)TEID的信息元素结构图;图3是根据现有技术的控制面TEID的信息元素结构图;图4是根据现有技术的数据(II)TEID的信息元素结构图;图5是图5是根据本发明方案的一个实施例的控制面TEID的组合结构图;图6是根据本发明方案的一个实施例的在主备设备倒换时对控制面TEID高位处理的流程示意图;图7是根据本发明方案的一个实施例的对来自SGSN激活消息处理的实现流程示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
图5是根据本发明方案的一个实施例的控制面TEID的组合结构图。
如图5所示,本发明方案将控制面TEID拆分为两个部分的组合高位部分和低位部分。整个TEID是由4个字节所组成的,其中,高位部分占有4个比特位,而低位部分占有28个比特位。这样,TEID的取值将是由这两个部分的值组合而产生的。正常情况下控制面TEID的高位部分保持不变,低位部分发生变化。这样的划分实际上利用控制面TEID的高位取值(4个比特位可以取16个不同的数值)将整个TEID值划分成了16个部分。
下面详细阐述本发明方案对TEID拆分成的高位部分和低位部分的处理过程。
其中,对低位部分的处理过程如下控制面TEID的低位部分保持在GGSN设备的随机存取存储器(RandomAccess Memory,简称“RAM”)中。当GGSN设备掉电时,此低位部分将丢失而不再被保存。而当GGSN设备启动时,则给低位部分赋初值为零。GGSN每次分配控制面TEID将取低位再加上高位部分组合成TEID值,每次分配控制面TEID值后,此低位部分累加1,当其值达到最大值的时候再清零值,然后继续累加。因为了低位部分占有28个比特位,这样最大值为2^28-1=268435455,这个数值远远大于当前设备支持的容量,所以可以认为从GGSN启动到复位或者主备设备倒换之间的时间段内,理论上保证了低位部分不会发生重复的现象。这样在低位部分就保证了GGSN分配的TEID值不会重复。
对高位部分的处理过程如下控制面TEID的高位部分保存在GGSN设备的闪速存储器(FlashMemory,简称“FLASH”)当中。即使GGSN设备掉电时也能及时将控制面TEID的高位部分保存起来。在设备出厂时就将此高位部分的数值置为零。在设备启动加载时,首先从其FLASH中读取此高位部分的数值,并将此值赋在TEID高位部分4字节的变量中,读取完后将FLASH中保存的变量值加1,然后重新写回到该FLASH中。这样的处理过程使得GGSN每次重新启动以后控制面的TEID高位部分都累计加了1。如果多次累加使得该高位的数值大于2^4-1=15时,则将其清零。这样就保证了GGSN在16次重新启动过程中控制面TEID的高位数值都是不一样的,于是使得整个控制面TEID的取值将不会重复。
实际上,通过本发明方案的处理也就是将TEID的取值分成了16部分,每次启动只使用其中一部分。
图6是根据本发明方案的一个实施例的在主备设备倒换时对控制面TEID高位的处理流程示意图。
因为控制面TEID的低位部分的数值是保存在RAM中的,所以当备板升级为主板时将从零开始计数,这样就有可能在一段时间后与前主板工作时控制面TEID低位值产生重复。为了保证控制面TEID值不重复,本发明方案采用了批量备份时备份控制面TEID高位部分的方法,同时在备份后将其高位值加1。
下面参照图6来详细描述本发明方案针对主备设备倒换情况进行处理的方法。
首先,在步骤600,备板插入槽位,或者由于设备产生复位启动,于是这便触发了进行批量备份的过程。批量备份的过程就是主板将有用信息发送给备板保存,使得主板停止工作,而使得备板在升级成为主板后,便能够使用原主板保存的信息继续接替原主板的工作。然后,进入步骤610。
在步骤610,主板设备读取其内部FLASH所保存的控制面TEID高4位部分的信息,并将其数值发送给备板。
随后,在步骤620中,备板通过备份模块接收批量备份数据,并将在步骤610中读取到的FLASH中保存的控制面TEID高4位部分的信息赋值于控制面TEID高4位变量。
在步骤630,判断控制面TEID高4位部分加1后数值是否大于15。如果控制面TEID高4位部分加1后数值大于15,则在步骤640中将控制面TEID高位部分清零后写入备板的FLASH中。而如果控制面TEID高4位部分加1后数值小于15,则在步骤650中将控制面TEID高位部分加1后写入备板的FLASH中。
至此就完成了主备设备倒换时对控制面TEID高位的处理。
从上面所述的内容,可以看出本发明方案这样的处理就完全保证了主备板倒换后新分配的控制面TEID值将不会与原先的TEID值发送重复的现象,确保了系统能在发生主备设备倒换异常时仍然能正常工作。
图7是根据本发明方案的一个实施例的对来自SGSN激活消息处理的实现流程示意图。
下面参照图7来详细描述本发明方案对来自SGSN激活消息的处理方法。
首先,在步骤700,GGSN启动,读取其FLASH中所保存的高位部分数值,并将这个数值赋给控制面TEID高4位的全局变量。然后,进入步骤710。
在步骤710,系统将FLASH中保存的值加1,并重新写入到这个FALSH中。这样就确保了GGSN在16次重新启动的过程中控制面TEID的高位始终都是不同的,于是整个控制面TEID的取值将不会重复。
在步骤720,GGSN收到来自SGSN的PDP上下文激活请求消息。
随后,在步骤730中,GGSN判断收到的GTP消息头中的TEID值是否为0。如果这个GTP消息头中的TEID值不为0,表明现已有分配好的控制面TEID值。于是,在接下来的步骤740中,GGSN按照正常流程进行处理,不再分配控制面TEID值,并在处理完后进入步骤780进行后续业务处理。
而如果这个GTP消息头中的TEID值为0,表明需要重新分配控制面TEID数值。因此,在随后的步骤750中,系统正常流程处理,准备分配控制面TEID。然后,在步骤760,将控制面低位TEID数值累加1位,并在后面的步骤770中,将控制面低位TEID值和高位TEID值组合,形成新的TEID值,从而完成分配一个新的控制面TEID值。
在步骤780中,GGSN完成后续业务处理,至此GGSN对来自SGSN激活消息处理便结束了。
从上面所述方案内容的可以看出,由于在GGSN重新启动后,利用事先保存在GGSN的FLASH中的高4位数值和低位数值的累加有效地避免了由于设备中用户标识的混乱而导致用户业务不能正常进行的情况。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
权利要求
1.一种控制面隧道端点标识符的分配方法,其特征在于,将控制面隧道端点标识符拆分为高位部分和低位部分,其中,所述高位部分保存在通用分组无线业务网关支持节点设备的非易失性存储器中,并且,所述方法包含以下步骤每当所述通用分组无线业务网关支持节点重启、或主备倒换中的备板升级为主板时,读取所述高位部分,并对其累计加一,所述低位部分清零;当所述通用分组无线业务网关支持节点分配控制面隧道端点标识符时,将所述低位部分累计加一,并将所述高位部分和低位部分组合成完整的控制面隧道端点标识符;并且当所述高位部分达到最大值时,该部分清零;当所述低位部分达到最大值时,该部分清零。
2.根据权利要求1所述的控制面隧道端点标识符的分配方法,其特征在于,所述高位部分的长度是4位比特,所述低位部分的长度是28位比特。
3.根据权利要求1所述的控制面隧道端点标识符的分配方法,其特征在于,所述高位部分存储在闪速存储器中。
4.根据权利要求1所述的控制面隧道端点标识符的分配方法,其特征在于,所述低位部分存储在随机存取存储器中。
5.根据权利要求1所述的控制面隧道端点标识符的分配方法,其特征在于,当所述通用分组无线业务网关支持节点收到来自通用分组无线业务服务支持节点的激活请求消息,并且所述请求消息中的控制面隧道端点标识符值为零时,分配控制面隧道端点标识符。
6.根据权利要求1所述的控制面隧道端点标识符的分配方法,其特征在于,当主备倒换时还包含以下步骤所述主板读取所述非易失性存储器中的高位部分;所述主板通过备份模块将所述高位部分的值发送给所述备板;所述备板通过所述备份模块接收来自所述主板的高位部分的值,并写入所述备板的闪速存储器中。
7.一种控制面隧道端点标识符分配系统,其特征在于,包含第一存储器,用于存储控制面隧道端点标识符的高位部分,并在所述通用分组无线业务网关支持节点每次启动、或主备倒换升级为主板时累计加一,且当累计值达到最大值时清零,其中,该第一存储器为非易失性存储器;第二存储器,用于存储控制面隧道端点标识符的低位部分,并在所述通用分组无线业务网关支持节点每次启动时清零,且每次分配控制面隧道端点标识符后累计加一,其中,当累计值达到最大值时清零。
8.根据权利要求7所述的控制面隧道端点标识符分配系统,其特征在于,所述第一存储器是闪速存储器。
9.根据权利要求7所述的控制面隧道端点标识符分配系统,其特征在于,所述第二存储器是随机存取存储器。
10.根据权利要求7所述的控制面隧道端点标识符分配系统,其特征在于,所述第一存储器的长度是4位比特,所述第二存储器的长度是28位比特。
全文摘要
本发明涉及第三代移动通信技术领域,公开了一种控制面隧道端点标识符的分配方法及其系统,能够满足GGSN分配控制面TEID不发生重复分配的需求,从而方便GGSN和SGSN能够正确识别和维护用户上下文。这种控制面隧道端点标识符的分配方法将控制面隧道端点标识符值拆分为高位部分和低位部分,每当通用分组无线业务网关支持节点重启、或主备倒换中的备板升级为主板时,读取高位部分,并对其累计加一,低位部分清零;当通用分组无线业务网关支持节点分配控制面隧道端点标识符时,将低位部分累计加一,并将高位部分和低位部分组合成完整的控制面隧道端点标识符。
文档编号H04L29/00GK1725751SQ20041006958
公开日2006年1月25日 申请日期2004年7月20日 优先权日2004年7月20日
发明者袁昊 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1