随着目前移动设备的日渐扩展,越来越多的通信设备需要在移动条件下接入网络,不管是在移动过程中还是在移动区域后。因此,作为IPv6的重要组成部分——移动连接特性也是IPv6受欢迎的重要原因。
一、产生缘由
在现有路由机制下,因特网上的一个节点在改变了其在网络上的接入点以后,如果不重新配置其IP地址,那么路由器就不能识别此节点,它就不能继续与网上的其它节点进行通信,移动IP就是为解决这个问题而提出的。
二、移动IP
简单来说,移动IP提供了一种IP路由机制,使移动节点可以以一个永久的IP地址连接到任何链路上。移动IP可以看作是一个路由协议,只是与其它路由协议相比,移动IP具有特殊的功能,它的目的是将数据包路由到那些可能一直在快速地改变位置的移动节点上。移动IP只是将数据包路由到移动节点的网络层标准,对TCP等其他技术以及应用程序的改进则不是移动IP的范畴。
三、移动机制
下面从一个简单的例子来介绍一下IPv6对移动性问题的解决方案。参见图1,NodeA链接到Link1上,它有一个地址A1,这个地址A1是可以通过Router1到达的,当NodeA没有发生移动时,NodeB与NodeA通信时,NodeB发送的数据包会按照现有的路由方式到达NodeA。
可是当NodeA发生了移动,从Link1移动到Link2时,如果NodeA不改变其IP地址,NodeB发送的数据包按照现有的以前缀为基础的路由方式就不能够到达NodeA了。下面我们看一看IPv6对这个问题是如何解决的,当NodeA从Link1移动到Link2以后,会有如下动作发生(见图2):
A、Router2会定期广播发送RouterAdvertisement消息,带有本地链路上的前缀信息,NodeA接收到这个消息后,知道自己发生了移动,它会根据新的前缀信息通过地址自动配置得到一个新的地址A2;
B、NodeA会发送一个信息包M2给Router1,这个信息包告诉Router1现在NodeA的新地址A2,此后,Router1再发现有需要送到NodeA的原来的地址A1的数据包,它会把这个数据包截获,然后把这个包作为净荷,在其上面再加上一层IPv6报头,把新的数据包发送到NodeA的新地址A2,这个过程应用的是“隧道技术”;
C、假如NodeB发送数据包给NodeA,它并不知道NodeA已经发生了移动,此时它会把这个数据包继续发送给NodeA原来的地址A1;
D、NodeB发送的数据包到达Router1以后,Router1会截获这个数据包,同时把这个数据包转发到NodeA的新地址A2;
E、NodeA收到Router1转发过来的数据包以后,通过检查这个数据包的源地址,它知道NodeB想与它进行通信,于是它会发送一个信息包M3给NodeB,告诉自己的新地址A2;
F、NodeB收到这个数据包以后,会记录下NodeA的新地址A2,这样如果再有数据包需要发给NodeA,它会直接把数据包发给地址A2。至此NodeA和NodeB之间可以实现双向通信;
G、若有其余节点想与NodeA进行通信,其建立通信的过程与NodeB类似。
三、移动优势
IPv6在制定之初就考虑到了要解决移动性问题,因此它的基本理论中就有许多是为解决移动问题而提出的,这使得IPv6的移动解决方案是一个对移动性问题的根本的解决方案。IPv6有许多适用于解决移动性问题的新特性,这些特性都是IPv4所不具备的,因此IPv6能够更好地解决移动性问题,除了上面提到的地址自动配置、邻居发现、安全机制以外,Ipv6还包括下面解决移动问题的措施:
A、黑洞检测:移动IPv6中的移动检测机制提供了移动节点和它的当前路由器之间的双向可到达的确认机制,即移动节点可以随时知道当前路由器是否继续可达,同时路由器也可以知道节点是否继续可达。如果移动节点检测到当前路由器不再可用,它就会去请求另外一台路由器。而MobileIPv4只提供了“前向”可到达的检测机制,即路由器可以随时确认移动节点是否继续可达,但是移动节点却不能检测到路由器是否继续可达。
B、路由报头:IPv6中定义了路由报头,报头中指定了数据包在从源节点到目的节点的过程中应该经过的节点的地址。大多数发送到移动节点的数据包都要使用路由报头,数据包的目的地址是移动节点的转交地址,并且包含一个路由报头,路由报头的下一跳是这个移动节点的家乡地址。
C、动态家乡代理地址发现机制:在IPv6中,定义了一种称为“anycast”的地址,它也是一个地址组,地址组中的所有的机器都会收到发往这个“anycast”地址的数据包,但是只会有一台机器对这个数据包做出响应。移动节点家乡链路上所有的路由器都配置为“Mobile-IPv6anycastaddress”,移动节点把“家乡代理地址发现请求”消息发到这个“Mobile-IPv6anycastaddress”,所有的家乡代理都收到了这条消息,但是有且仅有一个家乡代理对此做出响应。
D、透明性的实现:节点的移动对移动节点和通信节点上的应用程序是透明的。对于通信节点来说,移动节点发送数据包时使用“homeaddressoption”,可以使其不必知道移动节点的转交地址;对于移动节点上的应用程序来说,通信节点发送数据包时采用“RouterHeader”,仍旧可以使应用程序不必知道移动节点的转交地址。
五、解决问题
移动IPv6的发展还处在初级阶段,目前提出来的还只是移动解决方案的基础理论,移动IPv6的最终目标是实现全球范围的真正的移动网络,它会满足移动计算和个人通信的所有要求。
要真正实现全球范围内移动网络,还需要完成以下几个方面的工作:
1)、在协议的发展方面,还需要进一步完善一些协议,如IPv6、MobileIPv6、IPSec协、SCTP、Diameter等。
2)、在协议的改进方面,需要研究服务质量、TCP协议。
3)、在移动本身方面,还需要解决AAA(Authentication、Authorization、Accouting指身份认证、授权机制、自动计费服务)、BufferManagement、与无线通信技术的融合、SeamlessHandover(无缝切换)等问题。
移动IPv6的前景是诱人的,但是它的发展还只是处在起步阶段,前面介绍的移动IPv6的基础理论只是在宏观的方面解决移动性问题,即它所解决的问题是:当一个节点改变了网络接入点以后,如何把数据包继续路由到这个节点上,它并没有考虑这个过程对其他方面的影响,也没有过多地考虑性能和服务质量方面的问题。实际上,要实现全球范围的真正的移动网络,需要整个移动IPv6的体系结构的协调,除了解决路由问题以外,还有许多需要解决的问题,整个移动IPv6体系的完善还有很长的路要走。