移动IP从1996年RFC2002公布之后(之前),国外一些大学和公司推出了许多方案和研究项目,经阅读标准文档和草案及相关资料,我们认为可以有两种方法来开发移动IP(不考虑安全因素)。首先,需要澄清一个问题,RFC2002, 即“IP Mobility Support”,在国内发表的文章中,简称“移动IP”, 我们认为这种称呼有误导的嫌疑,译成IP的移动性支持可能更合适些。即对IP协议进行扩展,支持终端的移动性。顺便说明,移动IP是以移动节点的一个固有IP地址来唯一地标识的。在有的移动IP实现中,是使用NAI或FQDN来唯一地标识移动节点的,这从一个侧面说明使用IP地址标识移动节点显得有点笨拙。当然,在许多情况下保持节点的IP地址不变还有其他原因,通常一些网络服务是以IP地址为基础的,比如软件注册和接入优先级控制等。
第一种方法是RFC2002+区域注册形成层次化的FA树状结构。这种方法由HUT进行了实施,该项目是作为学校的软件工程课的一个题目逐步扩展而来,形成了Lifix!Go商品化方案。
第二种方法是RFC2002+路由优化,这种方法的优势在于升级容易,即IPv4状态下的HA, FA, MN, CN已经是IPv6下的工作方式,只要加入IPv6的支持即可完成,IPv6环境下的移动IP开发工作量基本上可以省略。
下面分别对两种方法的工作机制加以介绍。
1. FA的层次化结构
圆圈内即为FA层次化结构,这是区域注册概念的实例化而已。在标准RFC2002中,当MN移动到外地FA覆盖范围内,通过FA向HA注册或MN从当地DHCP服务器处申请获得IP地址,以此IP地址作为COA直接向HA注册,每次MN换接入点时,都要重复同样的过程,这样便引入了相当的时延。如果MN从甲地移动到乙地的过程中,正在进行某种业务且该业务是时延敏感业务,如话音,通话就会受到影响,导致用户的满意度下降。FA的层次化结构正是为了解决MN在移动过程中的时延问题而提出的,其思路是在第一次移动到某FA层次结构中时,MN执行标准注册过程,即通过FA向HA注册。在注册过程中,注册信息通过图中的LFA,FA,HFA,直到HA,其中LFA,FA和HFA保留MN的注册请求信息。在HA的响应信息(如果是MN的成功注册)返回到HFA之后,响应信息按注册请求信息的相反路径返回到MN,其中LFA,FA,HFA保留有MN的注册允许信息(如SA—安全联盟,TTL等)。如图中,如果MN从LFA1移动到LFA2,MN通过LFA2发注册请求信息,LFA2接到注册请求信息后,转发到FA1,FA1利用MN的NAI信息查找一个表(类似移动网络中的VLR, Visitor Location Register拜访位置注册服务器),如果MN在以前注册过,且TTL没有过期,则FA1将注册应答直接返回给LFA2,由LFA2转发至MN,该应答信息包含允许MN接入的剩余时间。从这里我们可以看出,层次化结构减少了2倍的从FA1到HA的传输时延。通过减少MN到注册允许点的路径跳数来间接地达到快速注册的目的,这正是层次化结构的关键所在。当然在注册过程中MN位于LFA1和LFA2的交叉覆盖范围时,MN要决定如何收发数据包的问题,可以使用如草案中所叙述的Buffer或Multicast来解决丢包问题,但这不是层次化结构所要解决的。据HUT的Lifix!Go白皮书,其最小时延可以做到24ms,最大为97.6ms,完全在人所能容忍的200ms限度内。
2. 路由优化
此图中略掉了FA。所谓路由优化,即是在MN与CN的数据通信过程中,将HA的中转功能省掉,MN和CN直接通信,这样至少可以减少一跳的延时(假设图中的各节点直接连接,在实际网络环境中,在节点之间会有其他路由节点)。在这种方法中。
在MN的接入点发生变化时,即COA发生变化,而在MN与CN通信时,外层IP头的目的地址使用MN的COA而非MN的家乡地址。MN接入点发生变化,意味着COA发生变化,则外层TCP连接不能保持。在内层IP为了维持TCP的连接性,CN中必须修改协议层软件,以完成IP的IP封装。在实际应用中必须考虑到数据的完整性和保密性问题,即使用IPSec中的AH(认证头)或ESP(封装安全载荷)来满足这些要求。在这里,我们先不考虑安全问题。图4直接说明路由信息的传递过程。
当CN有信息要发送到MN时,CN按照常规IP路由过程,使用正常的IP数据包格式,即目的地址为MN的家乡地址。我们假定MN不在家乡网络,则HA截获数据包,并将该数据包进行封装发送到MN的COA,同时HA将向CN发送MN的地址更新信息,CN收到更新信息后,在以后的数据发送过程中,则直接使用MN的COA进行数据封装,这样便消除了三边路由问题。如果MN移动到了一个新的子网或网络,MN除向HA注册外,还向HA发送地址更新请求信息(请求HA代替MN向CN发送地址更新信息,通知CN地址已改),CN收到地址更新信息后,便将与MN通信的数据发送到新的COA。当然在常规的路由优化过程中,存在长延时和丢包问题,如果结合FA(oFA-以前的FA,nFA-新的FA)将可能从一定程度上得到减轻。
在关于MIPv6的草案中,提到MN只使用CCOA(Co-located COA, 同机配置转交地址),同时任何执行IPv6的节点都必须支持IP的移动性,即CN的协议栈天生支持路由优化。
移动IP的发展过程中,FA层次化结构考虑的是Internet的现实性问题,是为网络运营商构建的方案,因为该结构有低的时延,这样便为支持时延敏感业务(话音)创造了条件。路由优化考虑的是网络资源的利用问题,着眼未来,在IPv6中实现,可以除去历史的包袱,没有后向兼容问题。如果在IPv4上实现,面临的问题较大,即必须在CN的协议栈上打个楔子。如果考虑到CN是应用服务器,而非普遍分布的各种台式终端或便携机的话,这种实现可以实施。
摘自 通信世界
|