1、引言
1996年, IETF的移动ip工作组(IP Routing for Wireless/Mobile Hosts)制订了移动IPv4的技术标准【1】【2】【3】。但是,到目前为止,移动IPv6的标准仍在制订的过程中,并经历了多次版本更新。最新的草案(Draft)为第19版本的Mobility Support in IPv6【4】。
移动IPv6技术充分利用了IPv6协议对移动性的内在支持。首先,路由器在路由器广播报文中指示了它是否能担任本地代理。同一个子网内答应多个本地代理存在,移动节点可以向任意一个本地代理注册。本地代理中保存有移动节点的家乡地址和转交地址的对照表,收到发送给移动节点的报文后,根据对照表把报文转发给移动节点。其次,每当移动节点收到其他主机发来的报文后,在响应报文中以转交地址作为源地址,并要附带上移动节点的家乡地址。其他主机的后续报文以移动节点的转交地址为目的地址,但是要附带源路由选择头,报头内容为移动节点的家乡地址。使用这种机制的目的是保证移动节点在移动过程中也不会丢失报文。最后,IPv6中定义了重定向过程。当移动节点在小区间切换时,移动节点重新登记成功后,基站应该向原来的基站发重定向包文,使切换过程中路由有偏差的报文重新找到移动节点。
移动IPv6的主要目标就是使得移动节点总是通过家乡地址寻址,不管是连接在家乡链路还是移动到外地网络。移动IPv6对于IP层以上的协议层是完全透明的,这使得移动节点在不同子网间移动时,运行在该节点上的应用程序不需修改或配置仍然可用。
2、移动IPv6的工作原理
移动IPv6从移动IPv4中借鉴了许多概念和术语,例如IPv6中移动节点(MN)、家乡代理(HA)、家乡地址、家乡链路、转交地址和外地链路等概念和移动IPv4中的几乎一样,但两者还是有差别的,具体比较如表格 1所示:
表格 1
移动IPv6的操作可以总结如下:
⑴ 移动节点采用IPv6版的路由器搜索确定它的转交地址。
① 移动节点连接在它的家乡链路上时与任何固定的主机和路由器一样工作。
② 当移动节点连接在它的外地链路上时,它采用IPv6定义的地址自动配置方法得到外地链路上的转交地址。由于移动IPv6没有外地代理,因此移动IPv6中唯一的一种转交地址是配置转交地址,移动节点用接受的路由器广播报文中的M位来决定采用哪一种方法。假如M位为0,那么移动节点采用被动地址自动配置,否则移动节点采用主动地址自动配置。
⑵ 移动节点将它的转交地址通知给家乡代理。
⑶ 假如可以保证操作时的安全性,移动节点也将它的转交地址通知几个通信节点。
移动IPv6采用布告(Notification)过程通知移动节点家乡代理或其他节点它当前的转交地址。移动IPv6中的布告和移动IPv4中的注册有很大的不同。在移动IPv4中,移动节点通过UDP/IP包中携带的注册信息将它的转交地址告诉家乡代理,相反地,移动IPv6中的移动节点用目的地址可选项(Destination Options)来通知其他节点它的转交地址。为移动IPv6布告所定义的三条消息为绑定更新(Binding Update)、绑定应答(Binding Acknowledgment)和绑定请求(Binding Request)。这些消息都被放在目的地可选报头中,这表明这些消息都只被最终目的节点检查。移动IPv6布告过程包括在移动节点和家乡代理或通信节点间交换绑定更新和绑定应答。绑定应答很可能是在移动节点收到一个绑定请求后发出的。有时,通信节点通过向移动节点发送一个绑定请求启动布告过程,移动节点则通过发送绑定更新(不是由任何绑定请求激起的)启动布告过程。在这两种情况中,移动节点都向家乡代理或通信节点告知它当前的转交地址。移动节点可以通过绑定更新中的应答位(A)来要求接收者是否通过向移动节点发送绑定应答来响应,绑定应答首先通知移动节点绑定更新已收到,其次还告诉移动节点绑定更新是否被接受。
⑷ 移动IPv6中同时采用隧道和源路由技术向连接在外地链路上的移动节点传送数据包。
① 知道移动节点的转交地址的通信节点可以利用IPv6选路报头直接将数据包发送给移动节点,这些包不需要经过移动节点的家乡代理,它们将经过从始发点到移动节点的一条优化路由。
② 假如通信节点不知道移动节点的转交地址,那么它就像向其他任何固定节点发送数据包那样向移动节点发送数据包。这时,通信节点只是将移动节点的家乡地址(也是它知道的唯一地址)放入目的IPv6地址域中,并将它自己的地址放在源IPv6地址域中,然后将数据包转发到合适的下一跳上(这由它的IPv6路由表决定)。这样发送的一个数据包将被送往移动节点的家乡链路,就像移动IPv4中那样。在家乡链路上,家乡代理截获这个数据包,并将它通过隧道送往移动节点的转交地址。移动节点将送过来的包拆封,发现内层数据包的目的地是它的家乡地址,于是将内层数据包交给高层协议处理。
⑸ 在相反方向,移动节点送出的数据包采用非凡的机制被直接路由到它们的目的地。
然而,当存在入口方向的过滤时,移动节点可以将数据包通过隧道送给家乡代理,隧道的源地址为移动节点的转交地址。
3、小结
目前世界上有很多组织或者机构在对移动IPv6进行研究,并且已有了一些在不同操作系统上开发出来的实验系统。例如Windows下的Microsoft MIPv6 PRoject(MIPv6) 实验系统,Free BSD下的CMU Monarch Project,KAME Project实验系统,以及linux下的Lancaster 移动 IPv6,USAGI(UniverSAl playGround),MIPL移动IPv6实验系统等等。
移动IPv6是一个庞杂的协议,包含的内容非常多,而且目前还在继续发展。移动IPv6又是一个设计精巧的协议,虽然目前还有一些缺陷,但我们可以看到,移动IPv6协议的前景是非常光明的。在可以预见的未来,我们将可以解决移动的这些缺陷,例如IPv6无缝切换和AAA问题,充分享受移动IPv6给我们带来的便捷,自由徜徉在移动信息的世界里。