谈移动IPv4和IPv6中的路由机制
李瑞刚 范丽花
摘要
在标准IP协议中,路由路径的优化是通过路由协议对路由表的加以维护与更新。然而对于移动节点,这种机制并不适用。通信对端节点到移动节点数据分组的转发总是必须经过家乡代理。路由优化机制使得数据可以双向直接选路。同时路由优化还提供了对于平滑切换的支持。此外,由于IPv6的新特性,使得IP协议对于移动性有了更好的支持。
关键词
家乡代理,家乡地址,转交地址,绑定缓存
Abstract
In standard IP routing routes are constantly optimized as routing tables are propagated throughout the Internet. In the case of mobile hosts that wish to use their home addresses this mechanism does not work. Thus while communicating sub-optimal routing often takes place. The problem results from the routing of packets to the mobile node via its home agent. Route optimization enables the datagrams to be routed directly in both directions. Route optimization also provides support for smooth handoffs. Additionally, with the new characteristics of IPv6, better mobility support can be resulted from Internet Protocol.
keyword
home agent, home address, care-of address, binding cache, triangle routing
1. 引言
移动IP是IETF(Internet Engineering Task Force)制定的扩展IP网络移动性的系列标准,该标准是使连接到任何网络上的移动终端使用一个固定的IP地址并能够持续接收IP包的技术。RFC2002 IP Mobility Support是移动IP的主要标准,其中详细描述了移动IP的构架和工作机制。
2. 移动IP协议的原理
移动IP协议工作原理大致如下图:
1) 移动终端在家网时,仍按传统的TCP/IP方式进行通信,不需要使用移动IP协议。
2) 移动终端漫游到一个外地网络时,仍然使用固定的IP地址进行通信。为了能够收到通信对端发给它的IP数据包,移动终端需要向家代理注册当前的位置地址,这个位置地址就是转交地址。移动IP可以通过两种方式获得转交地址——外代理的地址和动态配置一个地址。
3) 家代理接受来自转交地址的注册后,会构建一条通向转交地址的隧道,将截获的发给移动终端的IP数据包通过隧道送到外网转交地址处。
4) 在转交地址处解除隧道封装,恢复出原始的IP数据包,最后送到移动终端,这样移动终端在外网就能够收到这些发送给它的IP数据包。
5) 移动终端在外网通过外网的路由器或者外代理向通信对端发送IP数据包。
6) 当移动终端来到另一个外网时,只需要向家代理更新注册的转交地址,就可以继续通信。
7) 当移动终端回到家网时,移动终端向家代理注销转交地址,这时移动终端又将使用传统的TCP/IP方式进行通信。
3. 移动IPv4中所存在的路由问题
现有的移动IP解决方案存在著名的三角路由问题,如图2所示。通信对端发送给移动主机的报文经过的路径是:通信对端、家乡代理、外地代理、移动主机。而移动主机发送给通信对端的报文经过的路径却是:移动主机、外地代理(缺省路由器)、通信对端。
家乡代理
外地代理
移动主机
通信对端
图2、三角路由
移动主机发送给通信对端的报文使用的是路由协议提供的最佳路由,而通信对端发送给移动主机的报文却不能使用路由协议提供的最佳路由。造成三角路由的根本原因是通信对端不知道移动主机的当前位置,即不知道移动主机的转交地址。如果通信对端知道移动主机的转交地址,他发送给移动主机的报文就不用先发送给移动主机的家乡代理,可以直接通过隧道发送给当前转交地址。
4. 移动IPv4中所采用的路由优化
对于现有的移动IP协议,所有发至移动节点的数据包都必须首先送往家乡代理,然后由其通过“隧道”技术将每一个数据包传送到移动节点当前所在的位置。虽然这种方法解决了现有IP协议不支持终端移动性的问题,但是从效率角度来看,性能不是很理想。原因在于,与直接在移动节点和对端节点之间进行通信相比,每个发往数据包都必须经历更长的路径才能到达目的地。这种间接路由机制不仅延长了传输时延、增大了丢包率,而且无形中给网络和路由器都带来了不必要的负担。所以,对于现有的移动IP路由机制必须加以优化。下面介绍目前被普遍认同的一种优化方法,同时这种优化方法也是IETF移动IP工作组所推荐采用的。
总体来说,这种优化方法主要是在与移动节点进行通信的对端节点内保存一个缓存对,用于记录移动节点的家乡地址和转交地址。随着移动节点的不断移动,这个缓存对内的信息不断更新。利用这种缓存机制,就可以实现在对端节点和移动节点之间直接建立隧道来进行通信,从而避免了由家乡代理所带来的种种弊端。
这种优化技术的关键在于通信对端节点内的地址缓存对的合理维护与更新。当通信对端与移动节点开始通信时,首先将数据发送至家乡代理,此时,与传统的移动IP协议不同的是,家乡代理不仅将数据进行隧道封装并转发给外地代理,而且将自己保存的地址缓存对发送给通信对端,使得通信对端节点内也存有一份该移动节点的地址绑定缓存。在此之后的通信过程中,就可以形成移动节点与其通信对端节点的双向直接选路,从而避免了由“三角路由”所引起的种种缺陷。在移动节点不断移动过程中,每到达一个新的网络,家乡代理中的地址缓存进行更新,并且通知与该移动节点保持通信的所有,使得各自内部缓存同步更新。而且,与家乡代理中的地址缓存一样,通信对端节点中的地址缓存也同样有自己的生存时间,在生存时间耗尽时,此缓存对必须抛弃并重新请求获得新的绑定缓存。为了实现平滑切换,路由优化机制将移动节点的前一个外地代理的地址保存下来,于是,当移动节点在一个新的外地代理注册后,发往前一个外地代理的所有数据会转发的这个新的外地代理,从而避免了在移动节点不断移动的过程中数据丢失的问题。
这种路由优化机制在技术上看起来颇为明智,然而在实际生产过程中是很难实现的。因为这需要对通信对端操作系统进行较大规模的改进,同时移动节点与其通信对端之间的安全问题也很难解决。预期形势会在IPv6广泛采用后有所改善。
家乡代理
外地代理
移动主机
通信对端
图3、路由优化
5. 移动IPv6对移动性的支持
IPv6支持移动IP的设计(移动IPv6),吸取了移动IPv4设计的成功经验,同时又具有许多新的特征。移动IPv6与移动IPv4有许多共同特征,但移动IPv6现在完全融入IP且比移动IPv4有了很多改善。下面总结一下移动IPv6与移动IPv4间的主要区别:
在移动IPv4中的“路由优化”在移动IPv6中是个内建的协议基本部分,而不是作为一个扩展选项,移动IPv4节点未必都支持。这综合路由优化功能允许任意通信者节点和移动节点直接通信,不需要通过移动节点的宿主网络并由宿主代理转发,因而也就消除了基于移动IPv4协议出现的“三角路由”问题。移动IPv4的“注册”功能和路由优化功能在移动IPv6中是作为单一协议执行而不是两个分开的(且不同的)协议。
让移动节点和移动IP与执行“入口过滤”的路由器有效共存,移动IPv6和IPv6本身整合了这种功能。发送分组时,IP头部的源地址用移动节点的转交地址,这样分组就可以正常通过入口过滤路由器。移动节点的宿主地址是用分组的一个宿主地址目标选项,使得转交地址对IP层上面的协议层是透明的。
移动IPv4中使用的“外部代理”在移动IPv6中不再需要,移动节点利用IPv6的特征,比如邻居发现和地址自动配制,在任何地方不需当地路由器的特别支持,也可以运行。
移动节点离开宿主网络时,大多数发送给它的分组使用IPv6路由头部而不是IP封装,而移动IPv4必须使用IP封装。路由头部的使用,减少了额外的头部字节数,也就减少了传输移动IP分组的负荷。然而,为避免在传输过程修分组,由宿主代理截取并用隧道转发的分组仍然使用封装。当移动节点离开宿主网络,它的宿主代理截取发到宿主网络的分组,
使用IPv6邻居发现而不是移动IPv4使用的ARP。邻居发现的使用增强了协议的健状性并简化了移动IP的应用,因为不需考虑ARP中要考虑的链路层。
移动IPv6中的动态宿主代理地址发现机制,使用IPv6任意播并返回一个单一的回复给移动节点,而不象移动IPv4采用的机制,使用IPv4直接广播,并且宿主链路上所有宿主代理返回一个回复给移动节点。移动IPv6机制更加高效、更加可靠,因为只需一个分组返回给移动节点。移动节点不太可能丢失这些回复,因为协议不需要“阻塞”回复。
6. 结束语
传统的IPv4对于移动性的支持远远不能满足不断增长的移动节点的需要。对于IPv4进行扩展、实现路由优化,并且积极探索IPv6对移动性的支持,一直以来是人们所研究的目标。IPv6协议在设计之初就考虑到对移动性的支持,所以我们有理由认为,如果想真正实现对移动性的支持,IPv6是必然的选择。
参考文献
[1] C. Perkins., IP Mobility Support for IPv4, RFC 2002, October 1996
[2] Johnson D., Perkins C., Mobility Support in IPv6, work in progress, 22 October 2002
[3] C. Perkins., Johnson D., Route Optimization in Mobile IP, work in progress
[4] C. Perkins, IP Encapsulation within IP, RFC2003,
[5] J. Solomon Applicability Statement for IP Mobility Support, RFC 2005, October 1996
[6] Iames D.Solomm,移动IP ,机械工业出版社
[7] Slvano Gal, IPV6网络互连与Cisco路由器, 机械工业出版社
[8] Perkins.C, Mobile IP : design principles and practices, Addison-Wesley, c1998.