"); //-->
IPv6是下一代的因特网协议,它最终将代替IPv4成为因特网的主要网络层协议。移动IPv6目前是IETF(Internet Engineering Task Force)移动IP工作组议程上的主要课题。移动IPv6的文件发展得很快,本文只讨论基于移动IPv6文件的第二个版本。
一、IPv6和IPv4的不同
IPv6与IPv4有许多重要的不同,其中最大的两个不同在于:地址长短,IPv6中为128比特,而IPv4中为32比特;IPv4报头中许多不常用的域被从IPv6报头中删除了,放入了可选项和报头扩展中;
IPv6中的可选项有更严格的定义,因此比IPv4中的可选项更有用。
移动IPv6从IPv4中借鉴了许多概念和术语。IPv6中仍然有移动节点和家乡代理,但没有外地代理、家乡地址、家乡链路、转交地址和外地链路的概念。移动IPv6中同时采用隧道和源路由技术向连接在外地链路上的移动节点传送数据包,而在移动IPv4中只采用了隧道技术。移动IPv6的高层功能和移动IPv4一样,大概也和移动IPv4的三大元素相似,即代理搜索、注册和选路。
二、移动IPv6的工作原理
2.1移动IPv6的组成
移动IPv6的操作可以总结如下:
●移动节点采用IPv6版的路由器搜索(Router Discovery)确定它的转交地址。
●移动节点连接在它的家乡链路上时与任何固定的主机和路由器一样工作。
●当移动节点连接在外地链路上时,它采用IPv6定义的地址自动配置方法得到外地链路上的转交地址。
●移动节点将它的转交地址通知给家乡代理。
●如果可以保证操作时的安全性,移动节点也将它的转交地址通知几个通信伙伴。
●不知道移动节点的转交地址的通信伙伴送出的数据包和移动IPv4中一样进行路由,即它们先被路由到移动节点的本地网络,从那里家乡代理再将它们经过隧道送到移动节点的转交地址。
●知道移动节点转交地址的通信伙伴送出的数据包可以利用IPv6选路报头直接送给移动节点,选路报头将移动节点的转交地址作为一个中间目的地址。
●在相反方向,移动节点送出的数据包采用特殊的机制被直接路由到它们的目的地。
然而,当存在入口方向的过滤时,移动节点可以将数据包通过隧道送给家乡代理,隧道的源地址为移动节点的转交地址。
2.2移动节点如何确定它的位置
下面介绍移动IPv6的代理搜索,移动节点通过这个过程完成以下工作:
●决定它当前连接的是家乡链路还是外地链路。
●决定它是否从一条链路移动到了另一条链路上。
●当连接在外地链路上时取得一个转交地址。
1 ICMPv6路由器搜索
ICMPv6路由器搜索与移动IPv4中的代理搜索十分相似。IPv6邻接点搜索[RPC 1970]中定义的路由器搜索包括两条报文:路由器请求(Router Solicitations)和路由器广播(Router Advertisements)。与移动IPv4一样,路由器广播由路由器和家乡代理在它们所连接的链路上进行周期地广播,路由器请求则是由那些没有足够耐心等待下一个送到的路由器广播报文的移动节点送出的。与移动IPv4中一样,路由器搜索报文也不要求进行认证。
2、移动节点如何得到转交地址
下面介绍移动节点确定它正连接在外地链路上时,得到转交地址的两种方法。由于移动IPv6中没有外地代理,因此移动IPv6中唯一的一种转交地址是配置转交地址。移动节点用接收到的路由器广播报文中的M比特来决定采用哪一种方法。如果M比特为0,那么移动节点采用被动地址自动配置(Stateful Address Autoconfiguration),否则移动节点采用主动地址自动配置(Stateless Address Autoconfiguration)。
★被动地址自动配置
移动节点可以通过被动地址自动配置得到转交地址。在这种方法中,移动节点只是向一个服务器申请一个地址,并将这个地址当作自己的转交地址。与IPv4的情况相对应,IPv6中的“被动”地址分配协议是动态主机配置协议DHCPv6(Dynamic Host Configuration Protocol for IPv6)。
DHCP
Ipv6与IPv4的DHCP非常相似。另外,PPP的IPv6配置协议(PPP's IPv6 Configuration Protocol)也提供了一种服务器向移动节点提供转交地址的方法。
★主动地址自动配置
移动节点还可以通过主动主机地址自动配置得到转交地址。主动地址自动配置是IPv6中新增加的,在IPv4中没有类似的功能。主动地址自动配置是这样工作的:
1)移动节点首先形成一个接口标记,这是一个与链路有关的标识,用来标识移动节点上与外地链路相连的接口。接口标记常取移动节点在那个接口上的数据链路层地址。
2)移动节点检查路由器广播报文中的前缀信息可选项(Prefix Information Options),以决定当前链路上有效的网络前缀。
3)移动节点将一个有效的网络前缀和接口标记相连形成自己的转交地址。
自动地址配置包含一种检查机制,移动节点可用它来检查得到的地址是否被链路上的其他节点使用。
如果有这样的地址重复出现,那么自动配置协议还定义了节点得到唯一地址的方法。
3 移动节点如何将转交地址告诉别的节点
移动IPv6采用布告(Notification)过程通知移动节点家乡代理或其他节点它当前的转交地址。移动IPv6中的布告和移动IPv4中的注册有很大的不同。在移动IPv4中,移动节点通过UDP/IP包中携带的注册信息将它的转交地址告诉家乡代理,相反地,移动IPv6中的移动节点用目的地址可选项(Destination Options)来通知其他节点它的转交地址。
为移动IPv6布告所定义的三条消息为绑定更新(Binding Update)、绑定应答(Binding
Acknowledgment)和绑定请求(Binding Request)。这些消息都被放在目的地可选报头中,这表明这些消息都只被最终目的节点检查。移动IPv6布告过程包括在移动节点和家乡代理或通信伙伴间交换绑定更新和绑定应答。绑定应答很可能是在移动节点收到一个绑定请求后发出的。
有时,通信伙伴通过向移动节点发送一个绑定请求启动布告过程,移动节点则通过发送绑定更新(不是由任何绑定请求激起的)启动布告过程。在这两种情况中,移动节点都向家乡代理或通信伙伴告知它当前的转交地址。移动节点可以通过绑定更新中特殊的设置来要求接收者是否通过向移动节点发送绑定应答来响应,绑定应答首先通知移动节点绑定更新已收到,其次还告诉移动节点绑定更新是否被接受。
2.3 数据包的选路
知道移动节点的转交地址的通信伙伴可以利用IPv6选路报头直接将数据包发送给移动节点,这些包不需要经过移动节点的家乡代理,它们将经过从始发点到移动节点的一条优化路由。
如果通信伙伴不知道移动节点的转交地址,那么它就像向其他任何固定节点发送数据包那样向移动节点发送数据包。这时,通信伙伴只是将移动节点的家乡地址(也是它知道的唯一地址)放入目的IPv6地址域中,并将它自己的地址放在源IPv6地址域中,然后将数据包转发到合适的下一跳上(这由它的IPv6路由表决定)。
这样发送的一个数据包将被送往移动节点的家乡链路,就像移动IPv4中那样。在家乡链路上,家乡代理截获这个数据包,并将它通过隧道送往移动节点的转交地址。移动节点将送过来的包拆封,发现内层数据包的目的地是它的家乡地址,于是将内层数据包交给高层协议处理。
三、小结
IPv6是下一个版本的因特网协议,是为克服目前版本的缺点而设计的。与IPv4相比,IPv6有更大的地址空间、对报头扩展及可选项更好的支持。IPv6还定义了许多新功能,将其统称为邻节点搜索,可以用来直接提供移动IPv6所需的一些功能。
在移动IPv6中,移动节点不仅仅通知家乡代理它当前的转交地址,也将转交地址通知给一些通信伙伴,这使得知道移动节点转交地址的通信伙伴可以利用选路报头直接将数据包路由给移动节点。不知道移动节点转交地址的那些通信伙伴发出的数据包则和移动IPv4中一样进行路由,也就是送到家乡链路上,在那里由家乡代理通过隧道将数据包送到转交地址上。移动节点送出的数据包也和移动IPv4中一样被直接送到它们的目的地,而无需任何特殊选路机制。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。