5.3 移动IPv6
移动IPv6技术充分利用了IPv6带来的便利与优势,实现了移动IP,它是IPv6重要的研究和应用方向之一。移动IPv6基于IPv6技术,用到IP路由头、认证头以及路由优化。在移动IPv6中,没有外地代理的概念,移动节点从外地链路获得转交地址,并将其报告给自己的家乡代理,一个移动节点可以有多个转交地址。在移动IPv6中,安全选项是必需的,而不是可选的,这就大大提高了协议的安全性。
移动IPv6技术充分利用了IPv6协议对移动性的内在支持。首先,路由器在路由器广播报文中指示了它是否能担任本地代理。同一个子网内允许多个本地代理存在,移动节点可以向任意一个本地代理注册。本地代理中保存有移动节点的家乡地址和转交地址的对照表,收到发送给移动节点的报文后,根据对照表把报文转发给移动节点。其次,每当移动节点收到其他主机发来的报文后,在响应报文中以转交地址作为源地址,并要附带上移动节点的家乡地址。其他主机的后续报文以移动节点的转交地址为目的地址,但是要附带源路由选择头,报头内容为移动节点的家乡地址。使用这种机制的目的是保证移动节点在移动过程中也不会丢失报文。最后,IPv6中定义了重定向过程。当移动节点在小区间切换时,移动节点重新登记成功后,基站应该向原来的基站发重定向报文,使切换过程中路由有偏差的报文重新找到移动节点。
5.3.1 移动IPv6操作
移动IPv6的操作过程如图5-22所示。
图5-22 移动IPv6的操作过程
其具体操作过程如下。
(1)移动节点采用IPv6版的路由器搜索确定它的转交地址。当移动节点连接在它的家乡链路上时与任何固定的主机和路由器一样工作。当移动节点连接在它的外地链路上时,它采用IPv6定义的地址自动配置方法得到外地链路上的转交地址。由于移动IPv6没有外地代理,因此移动IPv6中唯一的一种转交地址是配置转交地址,移动节点用接收的路由器广播报文中的M位来决定采用哪一种方法。如果M位为0,那么移动节点采用被动地址自动配置,否则移动节点采用主动地址自动配置。之后,移动节点将它的转交地址通知给家乡代理。步骤(1)如图5-23所示。
图5-23 步骤(1)
(2)如果可以保证操作时的安全性,移动节点也将它的转交地址通知几个通信节点。移动IPv6采用布告过程通知移动节点家乡代理或其他节点它当前的转交地址。移动IPv6中的布告和移动IPv4中的注册有很大不同。在移动IPv4中,移动节点通过UDP/IP包中携带的注册信息将它的转交地址告诉家乡代理,相反,移动IPv6中的移动节点用目的地址可选项来通知其他节点它的转交地址。为移动IPv6布告所定义的三条消息为绑定更新、绑定应答和绑定请求。这些消息都被放在目的地可选报头中,这表明这些消息都只被最终目的节点检查。移动IPv6布告过程包括在移动节点和家乡代理或通信节点间交换绑定更新和绑定应答。绑定应答很可能是在移动节点收到一个绑定请求后发出的。有时,通信节点通过向移动节点发送一个绑定请求启动布告过程,移动节点则通过发送绑定更新启动布告过程。在这两种情况中,移动节点都向家乡代理或通信节点告知它当前的转交地址。移动节点可以通过绑定更新中的应答位来要求接收者是否通过向移动节点发送绑定应答来响应,绑定应答首先通知移动节点绑定更新已收到,其次还告诉移动节点绑定更新是否被接受。步骤(2)如图5-24所示。
图5-24 步骤(2)
(3)移动IPv6中同时采用隧道和源路由技术向连接在外地链路上的移动节点传送数据包。知道移动节点的转交地址的通信节点可以利用IPv6选路报头直接将数据包发送给移动节点,这些包不需要经过移动节点的家乡代理,它们将经过从始发点到移动节点的一条优化路由。如果通信节点不知道移动节点的转交地址,那么它就像向其他任何固定节点发送数据包那样向移动节点发送数据包。这时,通信节点只是将移动节点的家乡地址放入目的IPv6地址域中,并将它自己的地址放在源IPv6地址域中,然后将数据包转发到合适的下一跳上。这样发送的一个数据包将被送往移动节点的家乡链路,就像移动IPv4中那样。在家乡链路上,家乡代理截获这个数据包,并将它通过隧道送往移动节点的转交地址。移动节点将送过来的包拆封,发现内层数据包的目的地是它的家乡地址,于是将内层数据包交给高层协议处理。步骤(3)如图5-25所示。
图5-25 步骤(3)
(4)在相反方向,移动节点送出的数据包采用特殊的机制被直接路由到它们的目的地。然而,当存在入口方向的过滤时,移动节点可以将数据包通过隧道送给家乡代理,隧道的源地址为移动节点的转交地址。
5.3.2 移动IPv6与移动IPv4的区别
移动IPv6与移动IPv4的不同之处有以下几点。
(1)移动IPv6中没有“外地代理”的概念,只定义了一种“转交地址”。
(2)移动IPv6允许通信对端发出的数据分组可以不经过家乡代理,而直接路由到移动节点。
(3)移动IPv6中的移动检测可以实现对移动节点和默认路由器之间的双向通信的认证。
(4)移动IPv6家乡代理截取发往离开家乡网络的移动节点的数据包时,使用的是“邻居发现协议”。
(5)移动IPv6使用ICMPv6协议,而不需要使用ICMPv4的“隧道软状态”。
(6)移动IPv4使用分组广播机制,每个家乡代理都需要向移动节点返回一个应答,而移动IPv6有动态家乡代理发现机制。
移动IPv6与移动IPv4的区别如图5-26所示。
图5-26 移动IPv6与移动IPv4的区别