一种数据交换的方法、接入路由器及位置管理服务器
技术领域
本发明涉及移动通信领域,尤其涉及一种数据交换的方法、接入路由器及位置管理服务器。
背景技术
传输控制协议/因特网互联协议(Transmission Control Protocol/InternetProtocol,简称TCP/IP),在初始设计时未考虑终端会发生拓扑位置改变的情况,即TCP/IP协议本身不支持移动性。随着用户对移动性和信息的需求急剧上升,越来越多的人希望在移动的过程中高速地接入互联网,获取急需的信息,完成想做的事情。因此,移动互联网成为未来互联网的发展方向,但是传统TCP/IP协议不支持移动性的缺陷,使得对移动节点的移动性管理成为移动互联网面对的一大难题。
为了解决移动性管理问题,业界比较流行的移动性管理技术包括移动IP(MobileIP,简称MIP)、代理移动IP(Proxy MIP,简称PMIP)、通用隧道封装协议(Generic TunnelProtocol,简称GTP)等。这些技术的共同特点是引入了固定锚点(Anchor)来实现对移动节点的移动性管理。例如,MIP协议使用家乡代理(Home agent,简称HA)作为锚点、PMIP协议使用本地移动性锚点(Local Mobility Anchor,简称LMA)作为锚点、GTP使用网关GPRS支持节点(Gateway GPRS Support Node,简称GGSN)作为锚点。
但是这些基于锚点的移动性管理方案会导致业界公知的路由迂回问题,如图1所示,移动终端(Mobile Node,简称为MN)与其通信对端(该通信对端可以是网络中的一个服务器或是另一个终端,图中以业务服务器表示)间的通信始终需要绕道至该移动终端的锚点,即使终端当前远离锚点而接近通信对端(Correspondent Node,简称为CN),图1中的粗实线表示了迂回的路由。路由迂回一方面会导致浪费运营商的传输承载资源,不利于节约成本;另一方面增加了MN与CN收发IP数据包的时延,不利于改善用户的业务体验;再一方面是增大了终端的IP包在网络上传递时遭遇网络拥塞的可能性,造成终端业务受阻甚至不能实现(如,语音、视频、在线游戏等实时业务)。
已有相关技术中有一种移动性管理方法可以避免上述的路由迂回问题。如图2a所示,该方法的网络逻辑结构包括接入路由器(Access Router,简称AR)和位置管理服务器(Location Management Server,简称LMS)等。AR主要负责用户接入、为用户终端分配IP地址等;LMS负责记录用户终端的“IP地址-位置”对应关系。其中所述的“位置”一般是指终端当前直接连接的AR(即终端的服务AR)的IP地址。
在上述相关技术中,在终端初始接入并连接至它的首个服务AR时,该AR为终端分配IP地址,并向LMS更新该终端当前的“IP地址-位置”对应关系。值得说明的是,该终端的首个服务AR(即,为终端分配IP地址的AR)是终端的归属AR。当终端的对端(如,业务服务器)向终端发送数据报文时,将数据报文的目的IP地址设为终端的上述IP地址。在数据报文到达通信对端的服务AR(图2a所示的AR3)时,AR3首先在本地确定终端的位置。若无法确定,则向LMS查询终端当前的位置。如图2a所示,终端当前的服务AR是AR1,则通过查询,AR3获知终端当前位于AR1。此时,AR3将数据报文进行隧道封装(如图2b所示的协议栈),隧道的目的地址为AR1的IP地址,然后将隧道封装之后的数据报文发送到AR1。AR1收到上述报文,解除隧道封装,再将数据报文投递给终端。
当终端因移动而切换了当前为其服务的AR时,如图2a所示,从AR1切换到AR2,AR2成为终端新的服务AR(归属AR仍然是AR1)。AR2将向LMS更新该终端的“IP地址-位置”对应关系,将位置更新为AR2的IP地址。CN的服务AR(即AR3)也能获得到相应的通知,转而将上述的数据报文做另外的隧道封装,隧道的目的地址为AR2的IP地址,并将之发送到AR2,再由AR2解除隧道封装,进一步将报文发送到终端。如图2a所示,在切换前后,路由是没有迂回的。
在实际部署的网络中,根据相关的统计,大部分移动终端的数据流量都发生在终端不移动的时候。也即,终端从其归属AR(如图2a中的AR1)获取为其分配的IP地址,使用该IP地址作为终端的源地址进行通信;通信结束时,释放该IP地址。在这整个过程中,终端的位置未发生变化,其服务AR没有发生变化,仍然是其归属AR。在这种场景下,参照图2a所示的上述相关技术,对端的服务AR(即图2a中的AR3)在转发对端发送给终端的数据报文时,就没有必要对数据进行封装,可以直接将报文发送出去,通用路由协议能够保证该数据报文被正常路由到终端当前的服务AR(此时为归属AR)。
但是,在上述的相关技术中,由于对端的服务AR无法判断终端当前的服务AR是否是其归属AR,因而总是要先对上述数据报文进行隧道封装再发送。如上文所述,对大部分的流量来说,隧道封装是不必要的。而对报文做隧道封装,则会增加整个网络的开销,降低网络的性能。因此,若能避免不必要的隧道封装,则可以大大降低网络开销,提升网络性能。
发明内容
本发明解决的技术问题是提供一种数据交换的方法、接入路由器及位置管理服务器,能够避免对数据报文不必要的隧道封装,从而可以大大降低网络开销,提升网络性能。
为解决上述技术问题,本发明提供了一种数据交换的方法,
第一接入路由器接收到发往第一IP地址的数据报文时,确定采用第一路由方式或者第二路由方式发送所述数据报文;
其中,所述第一路由方式,是指:根据所述第一IP地址直接发送所述数据报文;
第二路由方式,是指:根据获取到的所述第一IP地址标识对应的第一终端的位置信息,发送所述数据报文。
进一步地,所述第一接入路由器根据所述第一终端当前服务的接入路由器是否为所述终端的归属接入路由器,如果是,则确定采用第一路由方式;否则,确定采用第二路由方式发送所述数据报文。
进一步地,所述第一接入路由器基于所述第一IP地址以及预先配置的各接入路由器所管理的IP地址或前缀的信息,判断所述第一IP地址是否归属所述第一终端当前服务的接入路由器管理,如果是,确定采用所述第一路由方式发送所述数据报文;否则,确定采用所述第二路由方式发送所述数据报文。
进一步地,所述第一接入路由器基于位置管理服务器(LMS)、或者所述第一终端当前服务的接入路由器、或者所述第一终端的归属接入路由器发送的路由方式指示,确定采用第一路由方式还是第二路由方式发送所述数据报文。
进一步地,所述LMS根据所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器向所述第一接入路由器发送所述路由方式指示,如果是,则指示采用所述第一路由方式;否则,指示采用所述第二路由方式。
进一步地,所述LMS基于以下方式判断根据所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器:
所述LMS接收到所述终端当前服务的接入路由器发送的位置更新消息,根据预先配置的各接入路由器所管理的IP地址或前缀的信息,通过判断所述第一IP地址是否归属所述第一终端当前服务的接入路由器管理,判断出所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器;
或者,所述第一终端接入或切换到当前服务的接入路由器的过程中,若所述当前服务的路由器为所述终端的归属路由器时,则所述当前服务的接入路由器向所述LMS发送消息以指示所述第一终端当前服务的接入路由器为所述第一终端的归属接入路由器;所述LMS根据所述指示判断出所述第一终端当前服务的接入路由器为所述第一终端的归属接入路由器。
进一步地,所述第一接入路由器从LMS查询所述第一终端的位置信息,若查询不到,则确定采用所述第一路由方式发送所述数据报文;若接收到所述LMS返回的位置信息,则确定采用所述第二路由方式发送所述数据报文。
进一步地,所述第一终端从其归属接入路由器切换到目标接入路由器的过程中,所述第一终端的归属接入路由器获取所述第一接入路由器的IP地址,向所述第一接入路由器发送更新消息,并携带路由方式指示,以指示所述第一接入路由器采用所述第二路由方式发送所述数据报文。
进一步地,所述第一终端从其归属接入路由器切换到目标接入路由器的过程中,所述第一终端的归属接入路由器或者LMS发出更新消息,将所述更新消息的目的地址设置为所述发往第一IP地址的数据报文的源IP地址,同时构造逐跳选项头,在所述逐跳选项头中设置通知所述第一接入路由器处理该更新消息的标识;
所述第一接入路由器根据所述逐跳选项头中设置的所述标识,确定采用所述第二种路由方式发送所述数据报文。
进一步地,所述方法还包括:
所述第一终端从其归属接入路由器切换到目标接入路由器的过程中,所述第一终端的归属接入路由器向LMS发送指示消息,携带收到的所述发往第一IP地址的数据报文的源IP地址,以指示所述LMS通知所述第一接入路由器更新所述第一终端的位置信息;
所述LMS向所述第一接入路由器发送更新消息,携带所述第一终端的新的位置信息。
进一步地,所述LMS向所述第一接入路由器发送所述更新消息的同时,指示所述第一接入路由器采用所述第二路由方式发送数据报文;
所述第一接入路由器根据所述指示,确定采用所述第二路由方式发送数据报文。
进一步地,所述第一终端从当前服务的接入路由器切换到归属接入路由器的过程中,所述当前服务的接入路由器向所述第一接入路由器发送更新消息,并携带路由方式指示,以指示所述第一接入路由器采用第一路由方式发送数据报文。
进一步地,所述第一终端从当前服务的接入路由器切换到目标接入路由器的过程中,所述当前服务的接入路由器与所述目标接入路由器之间交互所述第一终端的上下文信息的同时,所述当前服务的接入路由器指示所述目标接入路由器针对所述第一终端的每个通信对端,采用第一路由方式还是第二路由方式发送数据报文。
进一步地,所述第一接入路由器在本地查找不到所述第一IP地址标识对应的第一终端的位置信息时,则确定采用第一路由方式发送所述发往第一IP地址的数据报文;否则,确定采用第二路由方式所述发往第一IP地址的数据报文。
进一步地,所述第一终端当前服务的接入路由器为所述第一终端的归属接入路由器时,则所述当前服务的接入路由器在接收到所述发往第一IP地址的数据报文时发送给所述第一终端;所述第一终端当前服务的接入路由器不是所述第一终端的归属接入路由器时,则所述归属接入路由器在接收到所述发往第一IP地址的数据报文时,向所述LMS查询所述第一终端当前的位置信息,并根据查找到的位置信息将所述数据报文发送至所述第一终端当前服务的接入路由器,由所述第一终端当前服务的接入路由器发送给所述第一终端。
进一步地,所述第一接入路由器在接收到所述数据报文时,如判断出本接入路由器不是发送所述数据报文的终端的归属接入路由器,则确定采用第二路由方式发送所述数据报文。
进一步地,所述第一接入路由器在确定采用第一路由方式或者第二路由方式后,将路由方式信息保存在本地,并与所述第一IP地址相关联,或者与所述第一IP地址对应的IP前缀相关联。
本发明还提供了一种接入路由器,所述接入路由器包括数据接收单元,路由方式确定单元,和数据发送单元,
所述数据接收单元,用于接收发往第一IP地址的数据报文;
所述路由方式确定单元,用于确定采用第一路由方式或者第二路由方式发送所述数据报文;其中,所述第一路由方式,是指:根据所述第一IP地址直接发送所述数据报文;第二路由方式,是指:根据获取到的所述第一IP地址标识对应的第一终端的位置信息,发送所述数据报文;
所述数据发送单元,用于根据确定的所述路由方式,发送所述数据报文。
进一步地,所述路由方式确定单元,用于:
根据所述第一IP地址向LMS查询所述第一终端的位置信息,若查询不到,则确定采用第一路由方式发送所述数据报文;若接收到所述LMS返回的位置信息,则确定采用第二路由方式发送所述数据报文;或者,
基于所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器,如果是,则确定采用第一路由方式;否则,确定采用第二路由方式发送所述数据报文;或者,
基于所述第一IP地址以及预先配置的各接入路由器所管理的IP地址或前缀的信息,判断所述第一IP地址是否归属所述第一终端当前服务的接入路由器管理,如果是,确定采用所述第一路由方式发送所述数据报文;否则,确定采用所述第二路由方式发送所述数据报文;或者,
基于LMS、或者所述第一终端的归属接入路由器、或者所述第一终端当前服务的接入路由器发送的路由方式指示,确定采用第一路由方式还是第二路由方式发送所述数据报文。
进一步地,所述路由方式确定单元,还用于在确定采用第一路由方式或者第二路由方式后,将路由方式信息保存在本地,并与所述第一IP地址相关联,或者与所述第一IP地址对应的IP前缀相关联。
进一步地,所述接入路由器还包括切换处理单元,
所述切换处理单元,用于本接入路由器下的第一终端切换到目标接入路由器的过程中,
获取所述发往第一IP地址的数据报文的源IP地址,向所述源IP地址对应的第一接入路由器发送更新消息,携带路由方式指示,以指示所述第一接入路由器采用所述第二路由方式发送所述数据报文;
或者,发出更新消息,将所述更新消息的目的地址设置为所述发往第一IP地址的数据报文的源IP地址,同时构造逐跳选项头,在所述逐跳选项头中设置通知所述第一接入路由器处理该更新消息的标识。
进一步地,所述路由方式确定单元,用于根据接收到的所述逐跳选项头中设置的所述标识,确定采用所述第二种路由方式发送所述数据报文。
进一步地,所述接入路由器还包括切换处理单元,
所述切换处理单元,用于本接入路由器下的第一终端切换到目标接入路由器的过程中,向LMS发送指示消息,携带收到的所述发往第一IP地址的数据报文的源IP地址,以指示所述LMS通知所述第一接入路由器更新所述第一终端的位置信息,以及指示所述第一接入路由器采用第二路由方式发送数据报文。
进一步地,所述接入路由器还包括切换处理单元,
所述切换处理单元,用于本接入路由器下的第一终端切换到归属接入路由器的过程中,向所述第一接入路由器发送更新消息,并携带路由方式指示,以指示所述第一接入路由器采用第一路由方式发送所述发往第一IP地址的数据报文。
进一步地,所述接入路由器还包括切换处理单元,
所述切换处理单元,用于本接入路由器下的第一终端切换到目标接入路由器的过程中,与所述目标接入路由器之间交互所述第一终端的上下文信息的同时,并指示所述目标接入路由器针对所述第一终端的每个通信对端,采用第一路由方式还是第二路由方式发送数据报文。
此外,本发明还提供了一种位置管理服务器,包括:
路由方式指示模块,用于在受到触发后,指示第一接入路由器采用第一路由方式还是第二路由方式发送发往第一IP地址的数据报文;
其中,所述第一路由方式,是指:根据所述第一IP地址直接发送所述数据报文;第二路由方式,是指:根据获取到的所述第一IP地址标识对应的第一终端的位置信息,发送所述数据报文。
进一步地,所述路由方式指示模块受到触发后,判断所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器向所述第一接入路由器发送所述路由方式指示,如果是,则指示所述第一接入路由器采用所述第一路由方式;否则,指示所述第一接入路由器采用所述第二路由方式。
进一步地,所述路由方式指示模块受到触发至少包括以下情形:
接收到所述终端当前服务的接入路由器发送的位置更新消息;
接收到所述第一终端的归属接入路由器发送的、携带所述归属接入路由器收到的所述发往第一IP地址的数据报文的源IP地址的指示消息;
接收到所述第一接入路由器发起的对所述第一终端的位置信息查询。
进一步地,所述路由方式指示模块,用于基于以下方式判断根据所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器:
基于接收到的所述终端当前服务的接入路由器发送的位置更新消息,根据预先配置的各接入路由器所管理的IP地址或前缀的信息,通过判断所述第一IP地址是否归属所述第一终端当前服务的接入路由器管理,判断出所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器;
或者,基于所述第一终端接入或切换到归属接入路由器的过程中所述第一终端的归属接入路由器发送的位置更新消息,根据所述位置更新消息中包含的所述第一终端当前服务的接入路由器为所述第一终端的归属接入路由器的指示,判断出所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器。
进一步地,所述路由方式指示模块,用于所述第一终端从其归属接入路由器切换到目标接入路由器的过程中,根据所述第一终端的归属接入服务器发送的携带所述发往第一IP地址的数据报文的源IP地址的指示消息,通知所述第一接入路由器更新所述第一终端的位置信息,并指示所述第一接入路由器采用第二路由方式发送数据报文。
进一步地,所述路由方式指示模块,用于所述第一终端从其归属接入路由器切换到目标接入路由器的过程中,根据所述第一终端的归属接入服务器发送的携带所述发往第一IP地址的数据报文的源IP地址的指示消息,发出更新消息,将所述更新消息的目的地址设置为所述发往第一IP地址的数据报文的源IP地址,同时构造逐跳选项头,在所述逐跳选项头中设置通知所述第一接入路由器处理该更新消息的标识;以使所述第一接入路由根据接收到的所述逐跳选项头中设置的所述标识,确定采用所述第二种路由方式发送所述数据报文。
本发明在给移动终端提供移动性支持的基础上,能够避免路由迂回,且能避免对流量进行不必要的隧道封装,从而降低网络开销,提升网络性能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有的基于锚点的移动性管理方案的网络结构示意图;
图2a为相关技术的移动性管理方案的网络结构示意图;
图2b为相关技术的移动性管理方案的协议栈示意图;
图3为本发明实施例一的数据交换流程示意图;
图4为本发明实施例的AR-CN保存的终端的相关信息的示意图;
图5为本发明实施例二的数据交换流程示意图;
图6为本发明实施例三的数据交换流程示意图;
图7为本发明实施例四的数据交换流程示意图;
图8为本发明实施例五的数据交换流程示意图。
具体实施方式
本实施方式提供一种数据交换的方法,采用如下技术方案:
第一接入路由器接收到发往第一IP地址的数据报文时,确定采用第一路由方式或者第二路由方式发送所述数据报文;
其中,所述第一路由方式,是指:根据所述第一IP地址直接发送所述数据报文;
第二路由方式,是指:获取所述第一IP地址标识对应的第一终端的位置信息,并根据获取到的所述位置信息发送所述数据报文。
进一步地,所述第一接入路由器按照以下方式确定采用第一路由方式或者第二路由方式发送所述数据报文:
所述第一接入路由器根据所述第一IP地址标识对应的第一终端当前服务的接入路由器是否为所述终端的归属接入路由器,确定采用第一路由方式还是第二路由方式发送所述数据报文;
所述第一接入路由器根据所述第一IP地址在本地查找不到对应的位置信息时,则采用第一路由方式;否则,采用第二路由方式;
所述第一接入路由器根据所述第一IP地址在本地查找不到对应的位置信息时,向LMS查询所述第一IP地址对应的位置信息,若查询不到所述第一终端的位置信息,或者接收到LMS返回的“无位置信息”的指示,则采用第一路由方式发送所述数据报文;若接收到LMS返回的位置信息,则采用第二路由方式发送所述数据报文;
所述第一接入路由器根据接收到LMS发送的路由方式指示,确定采用第一路由方式还是第二路由方式发送所述数据报文;
或者,所述第一接入路由器接收到所述第一终端的归属接入路由器或者当前服务的接入路由器发送的路由方式指示,确定采用第一路由方式还是第二路由方式发送所述数据报文。
进一步地,所述第一接入路由器根据所述第一IP地址查询到对应的位置信息时,在本地保存终端的“IP地址与位置信息”的对应关系。
进一步地,所述第一接入路由器在确定采用第一路由方式或者第二路由方式后,将路由方式信息保存在本地,并与终端的IP地址(或IP前缀,下文中如无特殊说明,均指IP地址或IP前缀)关联;
进一步地,所述第一接入路由器在确定采用第一路由方式或者第二路由方式后,将路由方式信息与本地保存的第一终端的“IP地址与位置信息”的对应关系相关联。
进一步地,所述第一接入路由器根据所述第一IP地址以及预先配置的信息,判断所述第一终端当前服务的接入路由器是否为其归属接入路由器。
进一步地,所述预先配置的信息,包括:各接入路由器管理的IP地址池的信息;
所述第一接入路由器通过判断所述第一IP地址是否为所述第一终端的服务接入路由器管理的IP地址池中的IP地址,判断出所述第一终端当前服务的接入路由器是否为其归属接入路由器。
此外,所述第一接入路由器可以根据接收到的LMS的指示,获知所述第一终端的服务接入路由器是否为其归属接入路由器;或者,获知采用何种路由方式。
进一步地,LMS接收到第一终端的服务接入路由器发送的位置更新消息时,根据位置更新消息中的源地址获知第一终端的服务接入路由器的IP地址;所述LMS根据预先配置的信息,通过判断所述第一IP地址是否为所述第一终端的服务接入路由器管理的IP地址池中的IP地址,判断出所述第一终端的服务接入路由器是否为其归属接入路由器;
其中,所述预先配置的信息包括:各接入路由器管理的IP地址池的信息。
或者,第一终端接入到归属接入路由器时,其归属接入路由器向LMS发送位置更新消息,携带为第一终端分配的IP地址,并指示该第一终端当前的服务接入路由器为其归属接入路由器;
LMS根据所述第一终端的归属接入路由器发送的所述指示,获知所述第一终端的服务接入路由器为其归属接入路由器。
进一步地,所述第一接入路由器在接收到所述数据报文时,如判断出自身不是发送所述数据报文的终端的归属接入路由器,则确定采用第二路由方式发送所述数据报文。
进一步地,第一终端从归属的接入路由器切换到目标接入路由器时,所述第一终端的归属接入路由器获取所述接入路由器的IP地址,向所述接入路由器发送更新消息,并携带路由方式指示,以指示所述接入路由器采用第二路由方式发送数据报文。
或者,所述第一接入路由器接收到所述第一终端的归属接入路由器发送的更新消息时,可获知终端当前的AR不是归属AR,则确定采用第二路由方式发送数据报文。
或者,终端从归属的接入路由器切换到目标接入路由器时,所述终端的归属接入路由器向所述接入路由器发送更新消息,将所述更新消息的目的地址设置为对端的IP地址,同时构造一个逐跳选项头(Hop-by-Hop Options Header),在其中设置通知所述第一接入路由器处理该消息的标识,然后发送该更新消息;
所述第一接入路由器根据上述的逐跳选项头,以及其中设置的标识,能够处理该消息,并根据所述更新消息确定采用第二路由方式发送数据报文。
进一步地,终端从归属的接入路由器切换到目标接入路由器时,终端的归属接入路由器向LMS发送一指示消息,携带收到的数据报文的源IP地址,以指示LMS通知所述源IP地址所标识指代的终端的第一接入路由器更新该终端的位置信息;
LMS向所述第一接入路由器发送更新消息,携带终端的新的位置信息,并可携带一路由方式指示,以指示所述第一接入路由器采用第二路由方式发送数据报文。
或者,LMS向所述源IP地址所标识指代的终端的第一接入路由器发送更新消息,将所述更新消息的目的地址设置为所述源IP地址,同时构造一个逐跳选项头(Hop-by-HopOptions Header),在其中设置通知所述接入路由器处理该消息的标识,然后发送该更新消息;
所述第一接入路由器根据上述的逐跳选项头,以及其中设置的标识,能够处理该消息,并根据所述更新消息确定采用第二路由方式发送数据报文。
进一步地,终端从源接入路由器(非归属接入路由器)切换到归属接入路由器时,源接入路由器向第一接入路由器发送更新消息,并可携带一路由方式指示,以指示第一接入路由器采用第一路由方式发送数据报文。
进一步地,在切换时,源接入路由器与目标接入路由器之间交互关于该终端的上下文信息的时,由源接入路由器通知目标接入路由器针对每个终端的对端,采用何种路由方式发送数据报文。
进一步地,所述接入路由器根据所述第一IP地址在本地查找不到对应的位置信息时,则采用第一路由方式发送所述数据报文;
若所述终端的归属接入路由器为所述终端的服务接入路由器,则在接收到所述数据报文时发送给所述终端;若所述终端的归属接入路由器不是所述终端的服务接入路由器,则在接收到所述数据报文时,向LMS查询所述终端当前的位置信息,并根据查找到的位置信息将所述数据报文发送至所述终端的服务接入路由器,由所述终端的服务接入路由器发送给所述终端。
进一步地,如何通知第一接入路由器采用第二种路由方式进行路由的方式,与前述的第一终端从归属接入路由器切换到目标接入路由器的处理基本相同,其区别仅在于此处不是切换场景,因此,具体不再赘述。
以上描述中是说明了IP地址的情况,需要说明的是,上述方案对于IP前缀的情况同样适用,即,本发明中所述的IP地址不区分IPv4或者IPv6地址;且IP地址也可以用IP前缀来代替。
为了便于阐述本发明,以下将结合附图及具体实施例对本发明技术方案的实施作进一步详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例一
图3所示为本发明的第一实施例,具体包括以下主要步骤:
步骤301:终端的通信对端(CN)向终端发送数据报文,其目的IP地址设为终端的IP地址。该数据报文首先到达CN当前连接的接入路由器(AR),即CN当前的服务AR,以下均简称为AR-CN。
步骤302-303:收到上述数据报文以后,依据该数据报文的目的IP地址(即为终端的IP地址),AR-CN首先在本地查询该终端的位置信息。假定此时查询不到,则AR-CN向位置管理实体(LMS)依据上述IP地址请求该终端的位置信息。
步骤304:AR-CN将上述查询到的信息记录在本地(则对于后续的报文,可以在本地直接查询到上述信息),同时依据上述信息来确定如何路由上述数据报文。具体来说,有两种路由方式,第一种路由方式是对上述的数据报文不作任何处理而直接发送出去;第二种路由方式是对上述数据报文进行隧道封装,并将隧道的目的地址设为终端的服务AR的IP地址(即终端的位置),再发送出去。
步骤305:依据上面的判断,AR-CN使用上述两种方式之一将数据报文发送(直接发送,或者隧道封装后发送)至终端的服务AR(AR-终端)。
步骤306:AR-终端进一步将数据报文发送至终端。值得说明的是,若AR-终端收到的是隧道封装后的数据报文,则AR-终端需要首先解除隧道封装,然后再发送给终端。
如上文所述,当终端的服务AR是终端的归属AR时,在步骤304中,AR-CN应当确定采用“第一种路由方式”,即对CN发送给终端的数据报文不做任何处理而直接发出。支持AR-CN确定应当采用的路由方式的方法有多种,具体包括以下。
判断方法一:
当终端接入到其归属AR时,归属AR为终端分配IP地址。归属AR从自己管理的IP地址池中选择一个合适的IP地址(如,未分配给其他终端的IP地址)分配给该终端。同时,归属AR还将该终端的“IP地址-位置”对应关系发送至LMS保存,这里的“位置”信息为归属AR的IP地址。
通过上述步骤302-303,AR-CN能从LMS获取终端的位置信息,即知道当前终端连接的AR(即,AR-终端)的IP地址。AR-CN可以根据预配置在本地的信息,通过判断终端的IP地址是否是AR-终端管理的IP地址池中的一个地址,来确定终端当前的服务AR是否是其归属AR。例如,运营商可以通过预先配置的方法,将域内所有AR管理的IP地址池信息都配置在这个AR-CN上,并以AR的IP地址作为标识。这样,AR-CN可根据上述获得的AR-终端的IP地址找到其管理的IP地址池的信息,就能很容易的判断出终端的IP地址是否是该地址池中的一个地址。当判断为“是”时,AR-CN即可确定采用上述“第一种路由方式”(即,直接发送)来发送上述收到的CN发送给终端的数据报文(判断为“是”则说明终端当前的服务AR就是其归属AR);当判断为“否”时,AR-CN即可确定采用上述“第二种路由方式”(即,隧道封装后发送)来发送上述报文(判断为“否”则说明终端当前的服务AR不是其归属AR)。
如步骤304所述,AR-CN需要将从LMS查询到的信息保存在本地,具体来说,是将查询到的终端的“IP地址-位置”信息保存在本地。在收到后续CN发送给终端的数据报文时,AR-CN可以直接在本地获取相关的信息。此时,AR-CN还需要将上述的判断结果也保存在本地,并与终端的IP地址相关联,例如以“IP地址-位置-发送方式”的形式保存。这样,在处理上述后续报文时,就可以根据判断结果直接确定应当使用那种方式来发送收到的CN发送给终端的数据报文。优选地,依照图4所示方法保存上述判断结果。如图4所示,可令AR-CN在本地记录的“IP地址-位置”信息中的“位置”字段(即,图4的Loc字段)填入特殊的数值(如,全0)以表示该IP地址标识的终端当前的服务AR是其归属AR。那么,在AR-CN收到上述后续的数据报文时,根据数据报文的目的IP地址在本地查询相应的“IP地址-位置”信息:若查询到位置信息是上述的特殊值,则AR-CN使用上述“第一种路由方式”发送报文(如,图4中的100.1.1.3);否则采用上述“第二种路由方式”处理报文(如,图4中的100.1.1.1),并将隧道目的地址设为“位置”信息所指示的值,然后再发送出去。
值得说明的是,AR-CN可以直接依据上述的“判断终端的IP地址是否是AR--终端管理的IP地址池中的一个地址”的方法来直接确定路由方式,可以先判断出AR-终端是否是该终端的归属AR,然后再基于这个结果确定路由方式。这两个确定路由方式的过程在效果上是等同的,本发明对此不加以区分。
判断方法二:
如“判断方法一”所述,当终端接入到其归属AR时,归属AR为终端分配IP地址。但此时,归属AR可以不把终端的“IP地址-位置”关系更新到LMS(或者,仅将为终端分配的IP地址发送到LMS,以表示终端已经在线)。这样在LMS中没有关于该终端的位置信息。
如步骤302所述,AR-CN需要到LMS中查询终端的位置信息。但此时,AR-CN不能从LMS中获取位置信息,优选地,LMS向AR-CN返回“无位置信息”指示)。在获取不到终端的位置信息的情况下,AR-CN可判断终端当前的服务AR是终端的归属AR,基于该判断,AR-CN确定对CN发送给该终端的数据报文采用上述“第一种路由方式”发送。反之,若能查询到终端的位置信息,AR-CN则采用上述“第二种路由方式”发送。
AR-CN也需要将上述的判断结果记录在本地,具体方法同“判断方法一”中所述。也优选采用图4所示的方法来保存判断结果。
判断方法三:
如“判断方法一”所述,当终端接入到其归属AR时,归属AR为终端分配IP地址。此时,优选归属AR向LMS发送更新消息,携带终端的IP地址以及一指示,该指示用以表明此IP地址标识的终端的当前服务AR是该终端的归属AR。LMS在本地保存上述指示指代的信息并与终端的IP地址相关联。优选地,归属AR也可以将终端的“IP地址-位置”信息发送到LMS保存,优选也携带在上述更新消息中。
如步骤302所述,AR-CN需要到LMS中查询终端的位置信息。此时,LMS可以在返回的消息中(如,步骤303所示的消息)携带另一指示,用以通知AR-CN该终端当前的服务AR是不是其归属AR。优选地,上述返回的消息也携带终端的“位置”信息。
根据LMS返回的应答消息中携带的上述指示,AR-CN可判断终端当前的服务AR是否是终端的归属AR。基于该判断,AR-CN可以确定对收到的CN发送给该终端的数据报文采用上述“第一种路由方式”或“第二种路由方式”来发送。
AR-CN也需要将上述的判断结果记录在本地,具体方法同“判断方法一”中所述。也优选采用图4所示的方法来保存判断结果。
值得说明的是,上述LMS返回给AR-CN的消息中携带的指示也可以直接是指示AR-CN应当采用的路由方式。此时,AR-CN即可根据该指示直接确定出应当采用的路由方式。
判断方法四:
如“判断方法一”所述,当终端接入到其归属AR时,归属AR为终端分配IP地址。同时,归属AR还需要向LMS发送更新消息,将终端的“IP地址-位置”信息更新至LMS。LMS可以依据上述更新消息的源地址获知发送上述更新消息的AR的IP地址。
LMS可以根据预配置在本地的信息判断终端的IP地址是否是发送上述更新消息的AR管理的IP地址池中的一个地址。例如,运营商可以通过预先配置的方法,将域内所有AR管理的IP地址池的信息都配置在LMS上,并以AR的IP地址作为标识。这样,LMS可根据上述获得的AR的IP地址找到其管理的IP地址池的信息,即能很容易的判断出终端的IP地址是否是该地址池中的一个地址。若是,则终端当前的服务AR就是其归属AR。LMS将判断结果保存在本地,并与终端的IP地址相关联。
后续如“判断方法三”所述的方法,在AR-CN向LMS查询终端的位置信息时,能从LMS获取到相关的指示,根据指示AR-CN能够确定发送上述数据报文的方式。
AR-CN也需要将上述的判断结果记录在本地,具体方法同“判断方法一”中所述。也优选采用图4所示的方法来保存判断结果。
还需要说明的是,在一些实际的部署中,路由器常常会设置有源地址校验功能。那么,上述的AR-CN可以首先判断自己是否是上述CN的归属AR,若不是则直接采用上述“第二种路由方式”发送报文;若是,再依照上述方法进行处理。
值得说明是,上述实施例一是以CN向终端发送数据报文为例说明的,那么终端向其CN发送数据报文的情况也一样(只要将上述的CN和终端的角色相互对调即可)。实际上,当AR收到发往目的地为某IP地址(该IP地址指代的终端即为实施例一中的“终端”)的数据报文时,都需要像步骤304所述的AR-CN那样,判断采用何种方式发送该报文,具体的判断方法如上述。
实施例二
终端是移动终端,随着终端的移动,会切换终端的服务AR,从源AR切换至目标AR。如上文所述,若终端的源AR是其归属AR,对端(CN)向其发送数据报文时,CN的服务AR(AR-CN)采用上述“第一种路由方式”,即不对该数据报文进行处理,而直接发送出去。当终端切换到目标AR(新的服务AR)后,该AR不再是终端的归属AR,则AR-CN需要对上述数据报文采用上述“第二种路由方式“发送,将数据报文发送到目标AR。图5是本发明第二实施例,具体包括以下步骤:
步骤501:如上述,假定终端的源AR是其归属AR。则CN向终端发送的数据报文在到达AR-CN以后,AR-CN对上述数据报文采用“第一种路由方式“发送。此时,该数据报文会被正常路由到终端的源AR(归属AR),再由归属AR发送给终端。
步骤502:终端从源AR切换到目标AR,目标AR成为其新的服务AR。值得注意的是,新的服务AR不再是终端的归属AR。
步骤503:源AR与目标AR之间为了支持终端的切换,需要进行关于该终端的上下文交互。值得注意的是,步骤502与步骤503可以同时执行,或者嵌套在一起执行。
步骤504:目标AR,即终端的新服务AR,向位置管理实体(LMS)发送消息,用于更新该终端的“IP地址-位置“信息,此时终端的位置是目标AR的IP地址。
步骤505:AR-CN此时并不知道终端已经从源AR切换到了目标AR,仍然将收到的CN发送给终端的数据报文采用上述“第一种路由方式”发送。数据报文被路由到终端的归属AR。
步骤506:此时,终端的归属AR(即源AR)知道终端已经切换到了目标AR,则可以根据目标AR的IP地址,将上述收到的数据报文转发给目标AR,由目标AR进一步发送给终端。同时,该归属AR还要确定上述对端的服务AR(即AR-CN)是谁。
优选地,归属AR可以向LMS查询上述对端的服务AR。具体地,归属AR根据收到的上述数据报文的源地址获取上述对端的IP地址,然后依据该IP地址到LMS查询。LMS根据该IP地址在本地查询对应的AR-CN。若LMS在本地保存了对端的“IP地址-位置”信息,则该位置信息即为AR-CN的IP地址;若没有保存该信息(这种情况在本发明中意味对端当前的AR-CN是其归属AR),则LMS根据预先配置的信息(该预先配置的信息如实施例一中“判断方式四”所述),根据CN的IP地址找到该IP地址所属的IP地址池,再找到该地址池是属于哪个AR管理的,则这个AR就是上述的AR-CN。然后LMS将AR-CN的IP地址返回给上述归属AR。
优选地,归属AR可以根据自己在本地预先配置的信息,获取到AR-CN的IP地址,与LMS依靠预先配置的信息确定AR-CN的方法相同。
步骤507:在确定了AR-CN后,上述归属AR向该AR-CN发送消息,用于更新AR-CN本地保存的上述终端的位置信息。同时,该消息优选还携带一个指示,用以指示AR-CN后续采用上述“第二种路由方式”来发送收到的CN发送给终端的数据报文。
步骤508:收到上述消息以后,AR-CN在本地更新该终端的位置信息,同时重新判断应当采用的路由方式。优选地,AR-CN向上述的归属AR返回应答消息。判断应当采用的路由方式包括几种方法,如下叙述。
切换场景下的判断方法一:
依据步骤507所述的指示,确定采用“第二种路由方式”发送收到的CN发送给终端的数据报文。同时,AR-CN还需要将判断结果记录在本地并与上述终端的IP地址关联。具体方法如实施例一中的“判断方法一”所述。可以采用“IP地址-位置-发送方式”的形式记录,则此时在更新终端位置信息的同时,更新发送方式。也可以按照图4所示的方式,即原先该终端IP地址对应的位置是一个特殊的值(如,全零),此时更新为终端的新位置信息(即,目标AR的IP地址)。
切换场景下的判断方法二:
在步骤507中,归属AR向AR-CN发送的消息中仅携带终端的IP地址和终端的新位置信息,该位置信息本身就作为上述的指示。此时,AR-CN看该消息中携带有终端的位置信息,则确定采用上述“第二种路由方式”发送上述数据报文。AR-CN也需要将判断结果保存在本地,具体方法如上述。
值得说明的是,此时AR-CN看该消息中携带有终端的位置信息,则可以判断出终端当前的服务AR不是其归属AR。
切换场景下的判断方法三:
AR-CN不依赖上述步骤507的提示,即在步骤507中,归属AR仅通知AR-CN上述终端的新位置,新位置(目标AR的IP地址)指代了目标AR。此时,同实施例一中的“判断方法一”所述的方法,AR-CN可以根据预配置在本地的信息判断终端的IP地址是否是该目标AR管理的IP地址池中的一个地址。在本实施例中,判断结果为“否”,则说明目标AR不是终端的归属AR。此时AR-CN采用上述“第二种路由方式”来发送数据报文。AR-CN也需要将判断结果保存在本地,具体方法如上述。
步骤509:后续收到的数据报文,AR-CN根据上述记录的判断结果采用对应的路由方式进行发送。在本实施例中,此时,AR-CN对这些数据报文采用上述的“第二种路由方式”进行发送。
值得说明的是,源AR也可以不用确定对端的AR的IP地址,即上述步骤506可以不用执行。则在执行步骤507,源AR将步骤507所述的消息的目的地址设置为对端的IP地址,同时构造逐跳选项头(Hop-by-Hop Options Header),在其中设置通知AR-CN处理该消息的标识,然后发送出去。则该消息一定能够路由到AR-CN,根据上述的逐跳选项头,以及其中设置的标识,AR-CN便能够依照上述处理该消息,同时确定合适的路由方式(即,采用“第二种路由方式”)。
值得说明的是,当终端从源AR切换到目标AR后,对于终端向对端发送的数据报文,由该目标AR来判断应当采用那种路由方式进行发送,其判断方法如本发明实施例一所述。或者,在切换时,源AR与目标AR之间交互关于该终端的上下文信息的同时,由源AR通知目标AR针对每个终端的对端,应当采用何种路由方式发送报文。
值得说明是,上述实施例二是以CN向终端发送数据报文,终端发生切换为例说明的,那么终端向其CN发送数据报文,CN发生切换的情况也一样(只要将上述的CN和终端的角色相互对调即可)。
实施例三
图6是本发明的第三实施例,是终端从源AR切换到目标AR处理的另一种方法,具体包括以下步骤:
步骤601-605:同步骤501-505。
步骤606:如步骤505所述,终端的归属AR(即源AR)知道终端已经切换到了目标AR,则根据目标AR的IP地址,将收到的数据报文转发给目标AR。
同时,在本步骤中,终端的归属AR还需要向LMS发送一指示消息,携带CN的IP地址(该IP地址即为收到的数据报文的源IP地址),以指示LMS通知AR-CN该终端当前新的位置信息。
优选地,在收到上述指示消息以后,LMS向归属AR返回应答消息。
步骤607:收到上述消息以后,LMS首先确定CN的服务AR(AR-CN)。其具体方法如步骤506所述的方法。
步骤608-609:在确定了AR-CN之后,LMS向AR-CN发送更新上述终端位置信息的消息,其中携带终端的IP地址,终端的新位置信息(即,目标AR的IP地址)。优选地,如步骤507所述,还携带一个上述的提示。AR-CN优选给LMS返回应答消息。
步骤610:收到上述消息以后,AR-CN在本地更新该终端的位置信息,同时重新判断应采用的路由方式。优选地,AR-CN向上述LMS返回应答消息。判断应当采用的路由方式,包括几种方法,如下叙述。
切换场景下的判断方法一:
依据步骤608所述的指示,确定采用“第二种路由方式”发送收到的CN发送给终端的数据报文。后续的具体判断方法以及处理的原理与实施例二步骤507中的“切换场景下的判断方法一”相同,不再赘述
切换场景下的判断方法二:
在步骤608中,LMS向AR-CN发送的消息中仅携带终端的IP地址和终端的新位置信息,该位置信息本身就作为上述的指示。后续的具体判断方法以及处理的原理与实施例二步骤507中的“切换场景下的判断方法二”相同,不再赘述
切换场景下的判断方法三:
AR-CN不依赖上述步骤608的提示,即在步骤608中,LMS仅通知AR-CN上述终端的新位置信息,新位置信息即为目标AR的IP地址。后续的具体判断方法以及处理的原理与实施例二步骤507中的“切换场景下的判断方法三”相同,不再赘述
步骤611:同步骤509。
值得说明的是,LMS也可以不用确定对端的AR的IP地址,即上述步骤607可以不用执行。则在执行步骤608,将步骤608所述的消息的目的地址设置为对端的IP地址,同时构造逐跳选项头(Hop-by-Hop Options Header),其中设置通知AR-CN处理该消息的标识,然后发送出去。则该消息一定能够路由到AR-CN,根据上述的逐跳选项头,以及其中设置的标识,AR-CN便能够处理该消息。
值得说明是,上述实施例三是以CN向终端发送数据报文,终端发生切换为例说明的,那么终端向其CN发送数据报文,CN发生切换的情况也一样(只要将上述的CN和终端的角色相互对调即可)。
实施例四
如上述,随着终端的移动,会更改其服务AR,从源AR切换至目标AR。当终端的目的AR是归属AR时,优选还需要令CN-AR采用上述“第一种路由方式”发送数据报文,如图7所示,具体包括以下步骤:
步骤701:在本实施例中,假定终端的源AR不是终端的归属AR,则CN-AR收到CN发给终端的数据报文时,对其采用“第二种路由方式”。
步骤702:终端从源AR切换到目标AR,目标AR成为其新服务AR。值得注意的是,该新服务AR是终端的归属AR。
步骤703:源AR与目标AR之间为了支持终端的切换,进行关于终端的上下文交互。值得注意的是,步骤702与步骤703可以同时执行,或者嵌套在一起执行。
步骤704:目标AR,即终端的新服务AR,也是终端的归属AR向位置管理实体(LMS)更新相关信息。
步骤705:AR-CN此时并不知道终端已经从源AR切换到了目的AR,则仍然将CN发送给终端的数据报文采用上述“第二种路由方式”发送。数据报文会被首先发送到终端的源AR。
步骤706-707:此时,终端的源AR知道终端已经切换到目标AR,且能获知目标AR就是终端的归属AR。这可以通过源AR和目标AR之间为支持终端切换而交互的上下文来获知目标AR是归属AR。例如,目标AR发送给源AR消息,其中携带一个指示,说明自己是终端的归属AR。则,源AR向AR-CN发送消息,用以更新AR-CN本地保存的该终端的位置信息。值得说明的是,由于此时AR-CN采用的是“第二种路由方式”发送数据报文的,其隧道的源地址是AR-CN的IP地址,因此源AR可以根据收到的经过隧道封装的数据报文的隧道源地址获取到AR-CN的IP地址,将上述消息发送到该IP地址上。
优选地,上述的消息中还可以携带一个指示,用以指示AR-CN后续采用上述“第一种路由方式”来发送收到的CN发送给终端的数据报文。
优选地,AR-CN向上述目标AR返回应答消息。
步骤708:收到上述消息以后,AR-CN在本地更新该终端的位置信息,同时重新判断应采用的路由方式,包括几种方法,如下叙述。
切换场景下的判断方法一:
依据步骤707所述的指示,确定采用“第一种路由方式”发送收到的CN发送给终端的数据报文。同时,AR-CN还需要将判断结果记录在本地并与上述终端的IP地址关联。具体方法如实施例一中的“判断方法一”所述。可以采用“IP地址-位置-发送方式”的形式记录,则此时在更新终端位置信息的同时,更新发送方式。也可以按照图4所示的方式,即将该终端IP地址对应的位置修改为一个特殊的值(如,全零)。
切换场景下的判断方法二:
在步骤707中,目标AR向AR-CN发送的消息中仅携带终端的IP地址,不携带终端的新位置信息,由这样的方式构成上述的指示。此时,AR-CN判断没有终端的位置信息,则确定采用上述“第一种路由方式”发送上述数据报文。AR-CN也需要将判断结果保存在本地,具体方法如上述。AR-CN判断没有终端的位置信息,也即说明终端当前的服务AR是其归属AR。
切换场景下的判断方法三:
AR-CN不依赖上述步骤707的提示,即在步骤707中,归属AR仅通知AR-CN上述终端的新位置信息,新位置信息即为目标AR的IP地址(此时为归属AR)。此时,同实施例一中的“判断方法一”所述的方法,AR-CN可以根据预配置在本地的信息判断终端的IP地址是否是该目标AR管理的IP地址池中的一个地址。在本实施例中,判断结果为“是”,则说明目标AR是终端的归属AR。AR-CN确定采用上述“第一种路由方式”来发送上述的数据报文。AR-CN也需要将该结果保存在本地,具体方法如上述。
步骤709:对于后续收到的数据报文,AR-CN根据上述记录的判断结果采用对应的路由方式进行发送。在本实施例中,此时,AR-CN对这些数据报文采用上述的“第一种路由方式”进行发送。
值得说明的是,当终端从源AR切换到目标AR以后,对于终端向对端发送的数据报文,由该目标AR来判断应当采用那种路由方式进行发送,其判断方法如本发明实施例一所述。或者,在切换时,源AR与目标AR之间交互关于该终端的上下文信息的时,由源AR通知目标AR针对每个终端的对端,应当采用何种路由方式发送报文。
值得说明是,上述实施例四是以CN向终端发送数据报文,终端发生切换为例说明的,那么终端向其CN发送数据报文,CN发生切换的情况也一样(只要将上述的CN和终端的角色相互对调即可)。
实施例五
图8是本发明的第五实施例。CN向终端发送数据报文,以终端的IP地址为目的地址。当数据报文到达AR-CN时,AR-CN在本地判断应当采取的路由方式,具体包含以下步骤:
步骤801:AR-CN收到CN发送给终端的数据报文,根据该报文的目的IP地址,在本地查找与该IP地址相关的位置信息。若查找不到,则默认判断采用上述的“第一种路由方式”发送数据报文(即,不做处理,直接发出)。本实施例这里假定找不到相关信息,则直接发出,数据报文会被路由到终端的归属AR。
步骤802:若终端当前的服务AR就是归属AR,则归属AR直接将数据报文转发给终端。若不是,则需要归属AR确定终端的服务AR。当归属AR在本地无法确定终端的服务AR时,向LMS发送查询消息,携带终端的IP地址,依据该IP地址查找终端的位置信息。找到之后优选保存在本地。
步骤803:假定此时终端的服务AR不是其归属AR,则归属AR需要将收到的上述数据报文转发到服务AR,由服务AR进一步转发到终端。
步骤804:此时,由于终端的服务AR不是终端的归属AR,则归属AR需要向AR-CN发送消息,以更新AR-CN中保存的关于该终端的位置信息。
值得说明的是,归属AR首先要确定哪一个AR是对端的AR-CN。具体的确定方法同步骤506所述的方式。值得说明的是,在步骤802中,LMS可向归属AR返回AR-CN的IP地址,但需要归属AR在向LMS发送的请求位置信息的请求中也携带上CN的IP地址。
上述归属AR发送给CN-AR的消息需要携带终端的IP地址、位置信息,还优选携带一个指示,如步骤507所述,用以指示AR-CN后续采用上述“第二种路由方式”来发送CN发送给终端的数据报文。
步骤805:AR-CN向归属AR返回应答消息。
步骤806:收到上述消息以后,AR-CN在本地更新该终端的位置信息,同时判断路由方式,具体方式与步骤508所述的方式同理。
步骤807:同步骤509。
值得说明的是,在归属AR判断自己不是终端的服务AR时,也可以如实施例三中所述的方法,向LMS发送请求,然后由LMS向AR-CN更新终端的位置信息。其原理是相通的,在此不在赘述。
还需要说明的是,本实施例中归属AR、LMS也可以采用上述的“逐跳可选项头”的方式将上述用于更新AR-CN上保存的关于终端位置信息的消息发送到AR-CN。
值得说明是,上述实施例五是以CN向终端发送数据报文为例说明的,那么终端向其CN发送数据报文的情况也一样(只要将上述的CN和终端的角色相互对调即可)。
本实施例与实施例一不同之处在于,AR-CN开始在本地找不到终端的位置信息时,就直接发送数据报文。
最后值得说明的是,在本发明的上述实施例中,所述的IP地址不区分IPv4或者IPv6地址;IP地址也可以用IP前缀来代替,例如上述的“IP地址-位置”、“IP地址-位置-发送方式”可用“IP前缀-位置”、“IP前缀-位置-发送方式”代替,又例如,AR管理的IP地址池,可以用AR管理的IP前缀来代替。使用IP前缀代替IP地址之后,上述各实施例的实施原理不发生变化。值得说明是,IP地址和IP前缀也可以混合使用,例如AR-CN根据终端的IP前缀查询终端的位置信息,而该位置信息是AR--终端的IP地址。
此外,本发明实施例中还提供了一种接入路由器,所述接入路由器主要包括数据接收单元,路由方式确定单元,和数据发送单元,
所述数据接收单元,用于接收发往第一IP地址的数据报文;
所述路由方式确定单元,用于确定采用第一路由方式或者第二路由方式发送所述数据报文;其中,所述第一路由方式,是指:根据所述第一IP地址直接发送所述数据报文;第二路由方式,是指:根据获取到的所述第一IP地址标识对应的第一终端的位置信息,发送所述数据报文;
所述数据发送单元,用于根据确定的所述路由方式,发送所述数据报文。
进一步地,所述路由方式确定单元,用于:
根据所述第一IP地址向LMS查询所述第一终端的位置信息,若查询不到,则确定采用第一路由方式发送所述数据报文;若接收到所述LMS返回的位置信息,则确定采用第二路由方式发送所述数据报文;或者,
基于所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器,如果是,则确定采用第一路由方式;否则,确定采用第二路由方式发送所述数据报文;或者,
基于所述第一IP地址以及预先配置的各接入路由器所管理的IP地址或前缀的信息,判断所述第一IP地址是否归属所述第一终端当前服务的接入路由器管理,如果是,确定采用所述第一路由方式发送所述数据报文;否则,确定采用所述第二路由方式发送所述数据报文;或者,
基于LMS、或者所述第一终端的归属接入路由器、或者所述第一终端当前服务的接入路由器发送的路由方式指示,确定采用第一路由方式还是第二路由方式发送所述数据报文。
进一步地,所述路由方式确定单元,还用于在确定采用第一路由方式或者第二路由方式后,将路由方式信息保存在本地,并与所述第一IP地址相关联,或者与所述第一IP地址对应的IP前缀相关联。
进一步地,所述接入路由器还包括切换处理单元,
所述切换处理单元,用于本接入路由器下的第一终端切换到目标接入路由器的过程中,
获取所述发往第一IP地址的数据报文的源IP地址,向所述源IP地址对应的第一接入路由器发送更新消息,携带路由方式指示,以指示所述第一接入路由器采用所述第二路由方式发送所述数据报文;
或者,发出更新消息,将所述更新消息的目的地址设置为所述发往第一IP地址的数据报文的源IP地址,同时构造逐跳选项头,在所述逐跳选项头中设置通知所述第一接入路由器处理该更新消息的标识。
进一步地,所述路由方式确定单元,用于根据接收到的所述逐跳选项头中设置的所述标识,确定采用所述第二种路由方式发送所述数据报文。
进一步地,所述接入路由器还包括切换处理单元,
所述切换处理单元,用于本接入路由器下的第一终端切换到目标接入路由器的过程中,向LMS发送指示消息,携带收到的所述发往第一IP地址的数据报文的源IP地址,以指示所述LMS通知所述第一接入路由器更新所述第一终端的位置信息,以及指示所述第一接入路由器采用第二路由方式发送数据报文。
进一步地,所述接入路由器还包括切换处理单元,
所述切换处理单元,用于本接入路由器下的第一终端切换到归属接入路由器的过程中,向所述第一接入路由器发送更新消息,并携带路由方式指示,以指示所述第一接入路由器采用第一路由方式发送所述发往第一IP地址的数据报文。
进一步地,所述接入路由器还包括切换处理单元,
所述切换处理单元,用于本接入路由器下的第一终端切换到目标接入路由器的过程中,与所述目标接入路由器之间交互所述第一终端的上下文信息的同时,并指示所述目标接入路由器针对所述第一终端的每个通信对端,采用第一路由方式还是第二路由方式发送数据报文。
此外,本发明实施例中还提供了一种位置管理服务器,主要包括:路由方式指示模块,该路由方式指示模块用于在受到触发后,指示第一接入路由器采用第一路由方式还是第二路由方式发送发往第一IP地址的数据报文;
其中,所述第一路由方式,是指:根据所述第一IP地址直接发送所述数据报文;第二路由方式,是指:根据获取到的所述第一IP地址标识对应的第一终端的位置信息,发送所述数据报文。
进一步地,所述路由方式指示模块受到触发后,判断所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器向所述第一接入路由器发送所述路由方式指示,如果是,则指示所述第一接入路由器采用所述第一路由方式;否则,指示所述第一接入路由器采用所述第二路由方式。
进一步地,所述路由方式指示模块受到触发至少包括以下情形:
接收到所述终端当前服务的接入路由器发送的位置更新消息;
接收到所述第一终端的归属接入路由器发送的、携带所述归属接入路由器收到的所述发往第一IP地址的数据报文的源IP地址的指示消息;
接收到所述第一接入路由器发起的对所述第一终端的位置信息查询。
进一步地,所述路由方式指示模块,用于基于以下方式判断根据所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器:
基于接收到的所述终端当前服务的接入路由器发送的位置更新消息,根据预先配置的各接入路由器所管理的IP地址或前缀的信息,通过判断所述第一IP地址是否归属所述第一终端当前服务的接入路由器管理,判断出所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器;
或者,基于所述第一终端接入或切换到归属接入路由器的过程中所述第一终端的归属接入路由器发送的位置更新消息,根据所述位置更新消息中包含的所述第一终端当前服务的接入路由器为所述第一终端的归属接入路由器的指示,判断出所述第一终端当前服务的接入路由器是否为所述第一终端的归属接入路由器。
进一步地,所述路由方式指示模块,用于所述第一终端从其归属接入路由器切换到目标接入路由器的过程中,根据所述第一终端的归属接入服务器发送的携带所述发往第一IP地址的数据报文的源IP地址的指示消息,通知所述第一接入路由器更新所述第一终端的位置信息,并指示所述第一接入路由器采用第二路由方式发送数据报文。
进一步地,所述路由方式指示模块,用于所述第一终端从其归属接入路由器切换到目标接入路由器的过程中,根据所述第一终端的归属接入服务器发送的携带所述发往第一IP地址的数据报文的源IP地址的指示消息,发出更新消息,将所述更新消息的目的地址设置为所述发往第一IP地址的数据报文的源IP地址,同时构造逐跳选项头,在所述逐跳选项头中设置通知所述第一接入路由器处理该更新消息的标识;以使所述第一接入路由根据接收到的所述逐跳选项头中设置的所述标识,确定采用所述第二种路由方式发送所述数据报文。
以上仅为本发明的优选实施案例而已,并不用于限制本发明,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。