一种标识网中移动节点切换时数据报文的管理方法及系统
技术领域
本发明涉及通信技术领域,具体而言,尤其涉及一种标识网中移动节点切换时数据报文的管理方法及系统。
背景技术
现有因特网广泛使用的TCP/IP(Transmission ControlProtocol/Internet Protocol,传输控制协议/互联网络协议)协议中IP地址具有双重功能,既作为网络层的通信终端主机网络接口在网络拓扑中的位置标识,又作为传输层主机网络接口的身份标识。TCP/IP协议在设计之初并未考虑主机移动的情况。但是,当主机移动越来越普遍时,这种IP地址的语义过载缺陷日益明显。当主机的IP地址发生变化时,不仅路由发生变化,通信终端主机的身份标识也发生变化,这样将会导致路由器的负载越来越重,而且主机标识的变化还将导致应用和连接的中断。
身份标识和位置分离问题提出的目的是为了解决IP地址的语义过载和路由负载严重等问题,将IP地址的双重功能进行分离,实现对移动性、多家乡性、IP地址动态重分配、减轻路由负载及下一代互联网中不同网络区域之间的互访等问题的支持。
现有技术中,基于网络路由器的实现方法是有关身份标识和位置分离的解决方案之一。这种方案的基本思想是:将网络划分为接入层和核心层,网络中的移动节点有两种标识类型:用户身份标识(AccessIdentifier,简称AID)和路由位置标识(Routing-Location Identifier,简称RID)。网络中的每个用户终端配置唯一的AID,并且该AID在移动过程中始终保持不变;在数据转发过程中,AID只能在接入层使用,RID只能在核心层使用;上述基于网络的身份标识和位置分离框架的拓扑示意图如图1所示,相应地,也就把网络划分成了接入网和骨干网。如图1所示,在该基于网络的身份标识和位置分离框架中,主要包括:无线接入网(RAN)、接入网关路由器(Access GatewayRouter,简称AGR)、广义网关路由器(General Switch Router,简称GSR)、映射服务器(Identifier Mapping Server,简称IDMS)、认证中心等。下面分别给予介绍:
AGR,负责为各种移动节点提供接入服务,为接入的用户终端分配RID,并将用户终端的数据报文进行标识封装后在骨干网中传输。
AGR在收到用户终端发来的数据报文时,根据数据报文中目的地址(即通信对端的AID)查询本地缓存(CACHE)中的AID-RID映射表:如果查到对应的AID-RID映射条目,则将查到的通信对端的RID封装在报文头部发送到骨干网进行转发处理;如果没有查到对应的AID-RID映射条目,则将数据报文转发到骨干网,并向IDMS发起查询(通信对端的)AID-RID映射信息的流程,并将IDMS返回对应的AID-RID映射保存在本地,以备后续报文转发时查询。或者,AGR在没有查到对应的AID-RID映射条目时,也可以选择不将数据报文转发到骨干网,而是向IDMS发起查询(通信对端的)AID-RID映射信息的流程,待IDMS返回对应的AID-RID映射后,将查到的通信对端的RID封装在报文头部发送到骨干网进行转发处理。
AGR在收到发往用户终端的数据报文时,对数据报文进行解封装处理,剥去数据报文中新增的包含RID的报文头,发往终端。
GSR的主要功能是根据数据报文中的路由位置标识RID进行选路和转发数据报文。
IDMS主要负责维护网络中用户身份标识和位置标识的映射关系,并向接入网关路由器和其它映射服务器提供查询服务。
认证中心,认证中心负责记录用户终端类别、用户终端服务等级等信息,在用户终端接入时对用户终端进行合法性认证和授权。认证中心支持网络与用户终端间的双向鉴权。无线接入网,负责提供并维护用户终端到接入网关路由器AGR之间的二层链路;在蜂窝移动网应用场景中负责无线资源管理。
由上所述,在图1所示的框架下,网络可划分为接入网和骨干网。接入网位于骨干网的边缘,负责所有终端的接入,在接入网的RAN部分,所有的用户终端都使用AID进行寻址。骨干网则负责通过不同接入网接入用户终端的路由器。接入网与骨干网在拓扑关系上没有重叠。通信主机之间应用层使用AID标识对端,用户终端间的通信只需使用对端的AID进行。
接入网关路由器位于骨干网和接入网的分界点,作为接入网与骨干网的接口,负责为用户终端提供接入服务、且维护用户终端连接、转发用户终端数据等。用户终端的所有通信都通过所在接入网络的接入网关路由器进行转发和管理。用户终端与通信对端之间数据报文的转发过程如下:用户终端在发出数据报文时,对应的接入网关路由器向映射服务器发送查询该用户终端路由方式的请求。其中,映射服务器中存储了网络中所有用户终端的路由方式,映射服务器选择相应的路由方式并返回给接入网关路由器AGR。AGR根据从映射服务器处返回的该移动节点MN的路由方式,将MN发来的数据报文进行转发。若用户终端与通信对端属于同一接入网关路由器服务范围,则AGR将数据报文直接转发给通信对端。若用户终端与其所对应的通信对端属于不同的AGR,那么AGR则将数据报文转发到骨干网。AGR在转发属于不同AGR的数据报文时,还在转发的数据报文中携带RID信息(该RID与AID相对应);对应的,用户终端在接收数据报文时,接入网关路由器进行相反的操作,即剥离RID信息并将数据报文转发给用户终端。
当然AGR还将从映射服务器处获得该用户终端的路由方式存储在自身缓存中,当该用户终端(移动节点)有后续报文发送时,AGR则从自身缓存中查询到该MN的路由方式,并根据该路由方式进行数据报文的转发。
上述基于网络的身份标识和位置分离框架的网络架构的相关接口如图2所示,S1/D1是用户终端与接入网关路由器AGR的接口,S1用于用户接入管理的信令,D1是数据转发接口;S2用于AGR间切换时切换管理信令,D2用于AGR间切换时数据转发;D3是与AGR与GSR间的数据转发接口,S4/S5/S6是用于查询和维护AID-RID映射关系的信令接口,D4m是AGR与IDMS间的数据转发接口。其中,在visted IDMS(拜访地IDMS)与Home IDMS(归属地IDMS)无直联关系时,Broke IDMS(中继IDMS)转发visted IDMS与HomeIDMS间的信令。
下面详细描述在上述网络架构下实现移动节点切换管理的方法,移动节点的通信对端(Correspondent Node,简称CN)与移动节点(Mobile Node,简称MN)建立通信,相互间收发数据报文,在与MN建立通信关系的过程中,CN所在的AGR可以根据MN的消息中携带的AID,向映射服务器IDMS查询MN的AID和RID的映射关系,从而得到MN的路由位置标识RID;同时CN所在的AGR在本地维护MN的AID和RID映射关系表,具体如下表1所示:
表1移动节点的通信对端身份位置标识映射表
AID1 |
RID1 |
AID2 |
RID2 |
...... |
...... |
AIDN |
RIDN |
当无线接入网检测到MN的移动性(即MN的位置发生了变化,从一个AGR覆盖范围移动到了另一个AGR的覆盖范围)时,则发起切换流程,并触发切换流程。在切换过程中,切出网关AGR与切入网关AGR建立转发关系,在切换过程中或切换完成后,切出网关AGR将收到的发往MN(用户终端)的数据报文转发给切入网关AGR,由切入网关AGR转发给MN;
为了避免切换后的路由迂回问题,在切换完成后,由切入网关AGR将MN的新的映射关系通知该MN的所有CN所在的接入网关路由器。这样,所有的CN所在的接入网关路由器就可以将后续的报文直接发送给MN的切入网关AGR,从而避免了路由迂回。为了避免路由迂回的问题,因此就需要在接入网关路由器处保存每个本地接入的MN对应的所有CN的信息,切入网关AGR根据保存的信息,才能将MN新的标识映射关系通知给CN所在的接入网关路由器。因此,在使用中,则首先要求移动节点的接入网关路由器能够保存所有本地接入的MN的通信对端的信息,其次要求MN所在的所有接入网关路由器在单独或者在映射服务器的帮助下能通知通信对端接入的接入网关路由器。如果映射服务器不能提供转发通知的帮助,那么MN所在的AGR就必须保存通信对端所在的接入网关路由器的信息。表2和表3表示的是在映射服务器不能提供帮助的情况下,MN所在的接入网关路由器保存的本地接入映射表和通信对端映射表的一种组织形式。
表2接入网关路由器的本地接入用户终端标识映射表
表3接入网关路由器的通信对端映射标识映射表
对端AID1 |
对端RID1 |
接入网的接入网关路由器 |
定时器 |
在表2和表3中,通信对端的信息还需要设置定时器,来决定如果移动节点很长时间没有和这个通信对端通信了就应该删除这个通信对端的信息,以节省移动节点所在的AGR的内存空间。
然而,在以上解决方案还存在以下问题:
CN所在的AGR在处理第一个发给MN的报文时,会向映射服务器查询MN的AID和RID映射关系,并在本地缓存存储该映射关系的表项,如前面表1的格式,这样后续报文的处理直接在本地缓存就能查到映射关系。但是,本地缓存也不能长时间地缓存MN的映射关系,如果长时间缓存,那么当MN进行移动切换时,如果MN所在的AGR保存的与CN有关的对端表项被老化删除,那么切换后的MN,即切入网关AGR则不会向CN所在的AGR发送更新映射关系的消息。这时,当MN切换完成后,MN的切出AGR和切入AGR之间已经没有了数据报文转交隧道,而CN所在的AGR由于没有收到映射关系更新消息,还会继续向MN的切出AGR发送报文,造成报文丢失,通讯中断。
因此,CN所在的AGR本地缓存的关于MN的映射关系表项需要定时向映射服务器请求进行映射关系更新处理,但是如果定时向映射服务器请求更新的时间间隔过大,依然还是会存在上述通讯终端的问题,如果请求更新的时间间隔太小,则对AGR的性能要求很高,使得AGR的负荷会很重。
发明内容
本发明要解决的技术问题是针对现有技术的不足,提供一种在标识网中移动节点进行移动性切换时能够有效地减轻接入网关设备的负荷,并尽可能地减少报文丢失的数据报文的管理方法和系统。
为解决上述技术问题,本发明采用了以下技术方案:
一种标识网中移动节点切换时数据报文的管理方法,包括以下步骤:
当移动节点进行切换时,移动节点通信对端所在的第一接入网关设备根据存储在自身映射表中的所述移动节点对应的映射条目,将接收到的发往所述移动节点的数据报文发给所述移动节点所在的第二接入网关设备;所述第二接入网关设备将所述数据报文以及存储在自身对端信息表中的所述通信对端对应的对端条目转发给第三接入网关设备,所述第三接入网关设备将所述数据报文转发给所述移动节点;
当所述移动节点切换完成后,所述第一接入网关设备根据所述第三接入网关设备发来的所述移动节点对应的映射条目,将接收到的发往所述移动节点的数据报文发给所述第三接入网关设备再由所述第三接入网关设备将所述数据报文转发给所述移动节点;其中,所述映射表中存储的映射条目的老化周期为T1,所述对端信息表中存储的对端条目的老化周期为T2,且T2>T1。
在本发明的一种实施例中,在所述第一接入网关设备中设置第一定时器,所述第一定时器每隔老化周期T1定时更新映射表中的映射条目;在所述第二接入网关设备中设置第二定时器,所述第二定时器每隔老化周期T2定时更新对端信息表中的对端条目。
在本发明的一种实施例中,所述映射表中存储的映射条目具体为所述移动节点对应的路由映射关系;预设一个用于标识所述移动节点在老化周期T1内是否有数据报文通过的标识位并初始化所述标识位的值;所述第一接入网关设备判断在老化周期T1内所述移动节点是否有数据报文通过,若有,则将所述移动节点标识位的值设为1,若无,则将所述移动节点标识位的值设为0;当所述第一定时器遍历所述映射表时,若所述移动节点标识位的值为1,则将所述移动节点标识位的值设为0,若所述移动节点标识位的值为0,则删除所述移动节点对应的映射条目。
在本发明的一种实施例中,所述对端信息表中存储的对端条目具体为所述通信对端对应的相关信息;预设一个用于标识所述通信对端在老化周期T2内是否有数据报文通过的标识位并初始化所述标识位的值;所述第二网关接入设备判断在老化周期T2内所述通信对端是否有数据报文通过,若有,则将所述通信对端标识位的值设为1,若无,则将所述通信对端标识位的值设为0;当所述第二定时器遍历所述对端信息表时,若所述通信对端标识位的值为1,则将所述通信对端标识位的值设为0;若所述通信对端的标识位的值为0,则删除所述通信对端对应的对端条目。
在本发明的一种实施例中,将所述T1的取值信息保存在所述通信对端发往所述移动节点的数据报文中;当所述移动节点通信对端与移动节点进行通信时,所述第二接入网关设备提取所述第一接入网关设备发来的数据报文中T1的取值信息,并相应地设置老化周期T2的取值。
在本发明的一种实施例中,将所述T1的取值信息具体保存在所述数据报文的IP首部中的选项字段或者重用服务类型TOS字段中。
在本发明的一种实施例中,所述对端信息表存储的对端条目具体为所述通信对端对应的相关信息;预设一个用于标识所述通信对端在老化周期T2内是否有数据报文通过的标识位并初始化所述标识位的值;还为所述第二接入网关设备预设一个基础轮询时间T,若所述第二接入网关设备判断在轮询时间T内所述通信对端有数据报文通过,则将所述通信对端的标识位的值置为初始值,若没有数据报文通过,则将所述通信对端的标识位的值减1,当所述通信对端的标识位的值减为0时,则删除所述通信对端对应的对端条目,其中,T2>T。
在本发明的一种实施例中,所述标识位的值的初始化方法具体为:根据所述老化周期T1的取值信息,设置所述老化周期T2的取值,并将所述第二定时器的老化周期T2的值作为所述通信对端的标识位的值。
在本发明的一种实施例中,所述T2≥2T1。
同时一种标识网中移动节点切换时数据报文的管理系统,包括设置于系统内的移动节点,移动节点通信对端,移动节点通信对端所在的第一接入网关设备,移动节点所在的第二接入网关设备,以及第三接入网络设备;
当所述移动节点进行切换时,所述第一接入网关设备根据存储在自身映射表中的所述移动节点对应的映射条目,将接收到的发往所述移动节点的数据报文发给所述第二接入网关设备,所述第二接入网关设备再将所述数据报文以及存储在自身对端信息表中的所述通信对端对应的对端条目转发给所述第三接入网关设备,所述第三接入网关设备将所述数据报文转发给所述移动节点;
当所述移动节点切换完成后,所述第一接入网关设备根据所述第三接入网关设备发来的所述移动节点对应的映射条目,将接收到的发往所述移动节点的数据报文发给所述第三接入网关设备,再由所述第三接入网关设备将所述数据报文转发给所述移动节点;其中,所述映射表中存储的映射条目的老化周期为T1,所述对端信息表中存储的对端条目的老化周期为T2,且T2>T1。
由于采用了以上技术方案,使本发明具备的有益效果在于:通过T2>T1的设置,使得当移动节点在进行移动性切换时,移动节点所在的第二网关接入设备(切出网关设备)能够把通信对端所在的第一接入网关设备发往移动节点的数据报文转发给第三接入网关设备(切入网关设备),并且,还能把切出网关对端信息表中存储的该移动节点MN对应的所有通信对端CN对应的对端条目都转发给切入网关。而当移动节点切换完成后,通信对端所在的第一接入网关设备可以根据切入网关设备发来的MN的映射条目,直接将通信对端发往移动节点的数据报文直接转发给切入网关设备。由此可见,在移动节点的切换过程中或者切换完成后,移动节点与通信对端的数据报文的基本不会中断。这主要是因为T2>T1,从而使得在MN所在的接入网关设备的对端信息表中存储的CN对应的对端条目老化之前,CN所在的接入网关路由器的映射表中存储的MN对应的映射条目几乎不会老化,从而保证了在MN移动性切换过程中以及切换完成后,MN与CN之间的正常通信。
同时,通过T2>T1的设置,使得接入网关设备不需要定时向映射服务器发送更新映射表映射条目及更新对端信息表对端条目的请求,从而有效地减轻了接入网关路设备的负荷。
附图说明
图1为现有技术的基于网络的身份标识和位置分离架构的网络拓扑示意图;
图2为现有技术的基于网络的身份标识和位置分离框架的网络架构的相关接口示意图;
图3为本发明中移动节点切换时动态设置定时器时长情况下数据报文的处理流程的示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
现有的标识网中,移动节点MN从一个接入网关设备(例如:接入网关路由器AGR)覆盖的范围移动到另一会接入网关设备(如AGR)覆盖的范围时,会出现通信中断以及数据报文丢失的问题。
针对目前标识网中移动节点移动性切换时存在的通信中断、转发效率不高以及系统性能要求高等技术问题,本发明提出了一种在标识网中移动节点进行切换时,能够有效地保证移动节点以及移动节点通信对端之间的正常通信,进而尽量减少报文丢失的方案。
本发明的主要构思是:当移动节点MN进行切换时,移动节点通信对端CN所在的第一接入网关设备(例如:接入网关路由器AGR1)根据存储在自身映射表中的MN对应的映射条,将接收到的发往MN的数据报文发给移动节点所在的第二接入网关设备(例如:接入网关路由器AGR2,也称切出网关AGR),由AGR2将数据报文转发给第三接入网关设备(例如:接入网关路由器AGR3,也称切入网关AGR),再由AGR3转发给MN;在AGR2将数据报文转发给AGR3的过程中,AGR2也将存储在自身对端信息表中的该通信对端CN对应的对端条目转发给AGR3。而当MN切换完成后,AGR1则可以根据AGR3发来的该MN对应的映射条目,直接将接收到的发往MN的数据报文发给AGR3,再由AGR3转发给MN。其中,AGR1的映射表中存储的映射条目的老化周期为T1,AGR2的对端信息表中存储的对端条目的老化周期为T2,且T2>T1。也就是说,AGR1每隔时间T1会定时更新映射表中的存储的映射条目的信息,AGR2每隔时间T2会定时更新对端信息表中的存储的对端条目的信息。为了让AGR1映射条目的周期更新时间T1较长,并且又能保证在MN切换时不会出现对端信息的缺失,因此AGR2中对端信息表的对端条目的周期更新时间T2需要大于T1。如此则保证了在MN的切换过程中,当CN发起某个业务流时,AGR1的映射表中MN对应的映射条目的信息还没有老化时,AGR2的对端信息表中该MN相应的CN对应的对端条目的信息也同时存在。由于MN与CN之间进行数据报文交互时MN对应的映射条目会发生变化,在此,将MN切换后的映射条目称为MN对应的新的映射条目。当MN切换完成后,MN的切入网关AGR3能够通知CN该MN对应的新的映射条目,从而保证了AGR3与CN所在的AGR1能够正常通信,从而尽可能地减少数据报文的丢失。
需要说明的是,接入网关设备可以选择接入网关路由器,但却不限于接入网关路由器,如可以选择具有路由功能的交换机。下面的实施例中,接入网关设备都以接入网关路由器为例进行说明。
若将老化周期T2的值设置为小于或等于老化周期T1的值,那么在MN的切换过程中,当CN发起某个业务流时,在AGR1的映射表中MN对应的映射条目的信息还没有老化时,AGR2的对端信息表中该CN对应的对端条目的信息则可能已经因为老化而被删除了,如此则使得在MN完成后,MN与CN之间的通信中断。关于第一定时器T1和第二定时器T2的取值,可以采用全局静态配置,比如,通过网管在网络部署时对AGR的定时器进行配置,配置时采用T2大于T1的方式。
在实际运用中,老化周期T1与T2是通过设置定时器的方式来进行控制的。比如,在一种实施例中,在AGR1中设置一个第一定时器D1,D1用于为老化周期T1计时,每隔老化周期T1定时更新映射表中的映射条目;在AGR2中,设置一个第二定时器D2,D2用于为老化周期T2计时,每隔老化周期T2定时更新对端信息表中的对端条目。通过D1与D2的设置,映射表可以按照预定的时间定时更新表中的映射条目,对端信息表也可以按照预定的时间定时更新表中的对端条目。进而,保证了更新映射条目以及对端条目的准确性以及及时性。
在一种实施例中,AGR1的映射表中存储的映射条目具体为MN对应的路由映射关系,该路由映射关系具体为用户身份标识(AID)-路由位置标识(RID)的映射关系,即AID-RID映射关系,如表1所示。从表1可知,映射表中会缓存多个移动节点的路由映射关系。也就是说,在映射表中会缓存很多个MN对应的映射条目。如果为每一个映射条目都设置一个定时器,那么系统则需要大量定时器,既而使得系统的开销很大。因此,在实施例中,采用为映射表中的所有映射条目设置一个统一的定时器(上文中的第一定时器D1),并为每一个MN设置一个标识位,该标识位用于标识该MN在一个老化周期内T1内是否有数据报文通过。同时初始化该MN的标识位的值,初始化方式具体为:将所有MN的标识位的初始值都设为1,即默认在一个老化周期T1内所有移动节点都有数据报文通过。在老化周期T1内,AGR1的任务进行数据报文的转发,并将有数据报文通过的MN的标识位的标识值置为1。对于在老化周期T1内没有数据报文经过的MN,则将其标识位的值置为0。
第一定时器D1每隔老化时间T1遍历映射表一次,当第一定时器在遍历映射表时,若移动节点的标识位的值为1,则将标识位的值设为0,若移动节点的标识位的值为0,则在映射表中删除该移动节点的对应的映射条目。采用此种方案,AGR1只需要为所有移动节点设置一个共用的定时器,并且在不需要向映射服务器发送查询请求的前提下,也能实现对映射表中的存储的MN对应的映射条目的定时更新处理。
在一种实施例中,所述对端信息表中存储的对端条目具体为MN相应的通信对端CN对应的相关信息;具体地说,对端信息表中存储的对端条目为MN对应的CN以及该CN所属的AGR的信息。同样地,从表2和表3可知,对端信息表中也存储有很多个CN对应的对端条目。那么,相应地,也就有很多个CN。如果为每一个CN都设置一个定时器,这样系统需要大量的定时器,同时也会增加系统的开销。因此,和映射表一样,也为对端信息表中存储的所有CN统一设置一个定时器(上文中的第二定时器D2)。并为每一个CN设置一个标识位,该标识位用于标识该CN在一个老化周期T2内是否有数据报文通过。同时初始化该标识位的值,初始化的方法为:将对端信息表中所有CN对应的标识位的值设为1。AGR2判断在老化周期T2内该CN是否有数据报文通过,也就是判断在周期T2内CN是否有数据报文处理;若是,则将CN对应的标识位的值设为1,若否,则将CN对应的标识位的值设为0;
第二定时器D2每隔时间T2将遍历映射表一次,当D2遍历映射表时,如果CN的标识位的值为1,则将标识位的值置为0,若CN的标识位的值为0,则在对端信息表中删除该CN对应的对端条目的信息。采用此种方案,AGR2只需要为所有通信对端设置一个共用的定时器,在不需要向映射服务器发送查询请求的前提下,也能实现对对端信息表的CN对应的对端条目的更新处理。
由此可见,通过AGR1每隔时间T1定时更新映射表中存储的MN的映射条目以及AGR2每隔时间T2定时更新对端信息表中存储的CN的对端条目,以及设置T2>T1的方案,使得在MN进行移动性切换的过程中,AGR1发送的数据报文能够通过AGR2发给AGR3,并通过AGR3转发给MN,而在MN进行移动性切换完成后,MN的切入网关AGR3能够将MN的新的路由映射方式及时地发给CN所在的AGR1,从而保证AGR1能够根据MN新的路由映射方式将发往MN的数据报文转发给AGR3。进而保证了CN与MN之间的正常的数据报文的交换。
实施例1:
下面,通过一个具体的实施例,以T1>T2的情况作对比,详细介绍在T2>T1的情况下,MN进行切换时是如何保证MN与CN之间的正常通信的。
例如,假设D1的周期T1的值为10,D2的周期T2的值为8。CN在时刻1时发起某一业务流,此时,映射表中MN对应的映射条目以及对端信息表中CN对应的对端条目在时刻1被创建,并且AGR1的映射表中MN的标识位的值和对端信息表中CN的标识位的值在时刻1时均被设为1。D1在时刻10时遍历映射表,由于MN的标识位的值为1,则将其标识位的值置为0。同样地,D2在时刻8时遍历对端信息表,此时CN的标识位的值为1,则将其标识位的值置为0。假设在时刻18时CN与MN之间才有数据报文的交互。对于D2而言,在时刻8到时刻16时间段内,由于CN没有数据报文处理,则在时刻16时,将删除对端信息表中该CN对应的对端条目的信息。如果MN在时刻17时发生了移动性切换,那么此时,由于AGR2的对端信息表中已经没有则没有该业务流对应的CN对应的对端条目信息,从而切入网关AGR3就无法获得该业务流的MN相应的CN对应的对端条目的信息,所以AGR3就不会向AGR1通知MN对应的新的路由映射关系。此时,CN所在的AGR1由于没有收到AGR3发来的更新路由映射关系的请求,那么AGR1则不会更新自身映射表中存储的MN发起的该业务流的MN对应的新的路由映射关系。那么对于CN发往MN的数据报文,AGR1则会根据当前映射表中存储的该MN的路由映射关系进行发送。实际上,此时AGR1的数据报文是发给了AGR2,而MN由于已经切换到了AGR3,AGR2与AGR3此时已经没有了通信的隧道,因此AGR2只能将数据报文丢弃。而由于AGR1中该MN始终有数据报文经过,因此AGR1缓存的映射表中该MN对应的映射条目则不会老化,因此CN发往MN的数据报文将会持续丢失。
假设T2的值为10,T1的值为8,同样地,CN在时刻1时发起某一业务流,此时,映射表中MN对应的映射条目以及对端信息表中CN对应的对端条目在时刻1被创建。同样地,AGR1的映射表中MN的标识位的标识值和对端信息表中CN的标识位的标识值在时刻1时均被设为1。D1在时刻8时遍历映射表,由于MN的标识位的值为1,则将其标识位的值置为0。同样地,D2在时刻10时遍历对端信息表,此时由于CN的标识位的值为1,则将其标识位的值置为0。假设在时刻14时CN与MN之间才有数据报文的交互,并在时刻15时MN进行了移动切换。对于D1而言,由于在8-16时间段内,MN有数据报文处理,因此,在时刻16不会删除映射表中MN对应的映射条目。而对于D2而言,在10-20的时间段内,CN有数据报文处理,因此在时刻20时,对端信息表中仍存储有该CN的对端条目。由于在时刻15时MN发生了移动性切换时,AGR2将从AGR1处获得的数据报文转发给AGR3的过程中,也会将自身缓存中的对端信息表中该MN相应的CN对应的对端条目转发给AGR3。因此,MN的切入网关AGR3在时刻15时能够获得该CN对应的对端条目的信息。当MN与CN之间还有数据报文交互时,AGR3会向AGR1发送路由映射关系的更新请求,并将MN对应的新的路由映射关系通知AGR1,从而保证数据报文不会被丢失。为了保证无缝切换的效果,还可以设置,MN在AGR2向AGR3切换过程中,AGR2和AGR3之间的数据报文转交隧道需要等到AGR3的对端信息表中的CN的对端条目信息更新处理完成后再删除。
在实际的应用中,如果T2大于T1,实际上由于两端AGR的老化周期可能不会同步,还是会存在一些问题。比如:D1的周期T1的值为8,D2的周期T2的值为10,CN与MN之间在时刻10有某一业务流的数据报文交互,假如D1的周期为9/17/25......,而D2的周期为1/11/21,那么如果从时刻10到时刻21,都没有报文经过AGR1和AGR2,则AGR2的对端信息表中CN对应的对端条目会因为老化而被删除,然而AGR1映射表中MN的映射条目还未被老化,因此,如果在时刻22-26之间MN发生切换,则AGR1还是会向AGR2发送数据报文,也会出现CN与MN之间通信中断的问题。
因此,在一种实施例中,为了完全规避CN与MN之间出现的通信中断的问题,保证CN与MN之间的无缝切换,将第二定时器的老化周期T2的值设置为T1的两倍或者两倍以上。当T2≥2T1时,由于对端信息表中CN对应的对端条目一定会比相应的映射表中MN对应的映射条目后老化,因此,能够保证CN与MN之间的正常通信。此时,T1的取值还可以适当放宽,以减轻设备的负荷。
需要说明的是,在实际的MN的移动切换过程中,还可以根据D1的老化周期T1的取值,动态地设置老化周期T2的值,只要保证T2>T1即可。在一种实施例中,具体是通过如下方式来动态地设置D2的周期T2的取值的,将周期T1的取值信息保存在通信对端CN发往移动节点MN的数据报文中;因此,当MN与CN之间进行通信时,MN所在的AGR2提取CN发来的数据报文中T1的取值信息,就可以相应地设置D2的老化周期T2的取值。当然,为了保证无缝切换,将T2的值设置为T1的两倍或者两倍以上。
一般情况下,是从报文的IP首部中选取一部分字段来携带第一定时器T1的取值信息的。在一种实施例中,具体是将T1的取值信息存储在发往MN报文的IP首部中的选项字段或者是重用服务类型TOS字段。若通过IP首部中的选项字段来携带T1的取值信息,采用的选项字段的具体格式可以如下表4所示:
表4携带T1取值信息的IP选项字段
实施例2:
下面以具体的实施例,详细说明该种在动态设置定时器的时长的情况下,移动节点进行切换时数据报文的管理方法,如图3所示,具体流程如下:
301、CN向MN发起一个业务流;
302、CN发送报文到AGR1;
303、AGR1收到该业务流的数据报文后,向映射服务器查询MN在映射表中对应的AID-RID的映射条目,查询到后将该映射条目缓存在本地,并根据路由映射关系对数据报文进行外层封装,在封装时根据AGR1本地配置的第一定时器T1的时长设置报文IP首部中的定时器的选项。其中,T1的值根据实际需求选取;
304、AGR1将数据报文发送给AGR2;
305、AGR2根据报文的外层封装生成相应的CN对应的对端条目,并根据IP首部中的定时器选项中的第一定时器T1的取值设置本地的T2定时器时长;
306、AGR2将数据报文转发给MN。
从上述流程可以看出,由于AGR的D1的老化周期T1的取值可以采用本地配置,因此,AGR2会收到多个AGR发来的D1的老化周期T1的不同取值,这种情况下,第二定时器D2还可以采用分别设置标识位取值的方式来达到为对端映射表中的不同对端条目设置不同定时器的方法。在一种实施例中,还为AGR2预设一个基础轮询时间T,若AGR2判断在轮询时间T内CN有数据报文通过,则将CN的标识位的值设为初始值,若没有数据报文通过,则将CN的标识位的值减1,当CN的标识位的值减为0时,则删除所述通信对端对应的对端条目。
其标识位的值初始化的方法具体可以是:根据老化周期T1的取值信息,设置老化周期T2的取值,并将第二定时器的老化周期T2的值作为该通信对端的标识位的值。
实施例3:
假设AGR2收到的来自AGR1’的D1’老化周期T1’的取值为5,收到的来自AGR1”的D1”老化周期T1”的取值为8,那么AGR2的基础定时器轮询时间T可以设置为1,其中T的选择需满足T2>T。如此,与AGR1’相应的对端信息表中对应的对端条目的定时器的老化周期是10,该AGR1’对应的通信对端标识位的值的初始值也设置为10;与AGR1”相应的对端信息表中对应的对端条目的定时器老化周期是16,该AGR1”对应的通信对端的标识位的值也设置为16。那么当每次AGR2轮询时,如果通信对端没有数据报文经过,就将该通信对端的标识位的值减1,如果有报文经过则重置为初始值,这样就能够达成不同通信对端老化时间不同的效果。假设,在AGR2轮询时,与AGR1’相应的通信对端没有报文经过,就将该通信对端对应的标识位的值减1,那么AGR2轮询后,AGR1’相应的通信对端对应的标识位的值即为9。当CN的标识位的值减为0时,则删除所述通信对端对应的对端条目。
同时,本发明还提供了一种标识网中移动节点切换时数据报文的管理系统,包括设置于系统内的移动节点,移动节点通信对端,移动节点通信对端所在的第一接入网关设备,移动节点所在的第二接入网关设备,以及第三接入网络路由器;
当所述移动节点进行切换时,所述第一接入网关设备根据存储在自身映射表中的所述移动节点对应的映射条目,将接收到的发往所述移动节点的数据报文发给所述第二接入网关设备,所述第二接入网关设备再将所述数据报文以及存储在自身对端信息表中的所述通信对端对应的对端条目转发给所述第三接入网关设备,所述第三接入网关设备将所述数据报文转发给所述移动节点;
当所述移动节点切换完成后,所述第一接入网关设备根据所述第三接入网关设备发来的所述移动节点对应的映射条目,将接收到的发往所述移动节点的数据报文发给所述第三接入网关设备,再由所述第三接入网关设备将所述数据报文转发给所述移动节点;其中,所述映射表中存储的映射条目的老化周期为T1,所述对端信息表中存储的对端条目的老化周期为T2,且T2>T1。
应用本发明,通过合理的设置移动节点的切入网关设备、切出网关设备以及MN对应的CN所在的接入网关设备中定时器的老化周期,使得移动节点在进行上下文切换时,能够有效的减轻接入网关设备的负荷,不会造成CN与MN之间的通信的中断,从而保证了移动节点切换时数据报文不会丢失。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。