a. 在移动IPv4中,存在一个外地代理的概念,它实际上是外地链路上的一个路由器,由它来为移动到本链路的移动节点接收数据包;
b. 在移动IPv4中,有两种转交地址:配置转交地址和代理转交地址。其中,配置转交地址通过配置规程如DHCP、BOOTP等协议得到,它是一个真正的独立的IPv4地址,此时移动节点可以自己用此地址发送或者接受数据包;代理转交地址实际上就是外地代理的地址,外地代理代替移动节点接收数据包,简单处理后,再把包传送给移动节点;
c. 移动IPv4中存在着“三边路由”问题。由通信节点送给连接在外地链路上的移动节点的数据包先被路由到它的家乡代理上,然后经隧道送到移动节点的转交地址,然而,由移动节点发出的数据包却被直接路由到了通信节点,这构成了一个三角形,如图3所示。在安全性方面,移动IPv4采用的是静态配置的“mobile security association”,因此不能对移动IPv6进行路由优化。
a. 地址自动配置:IPv6有足够多的全球地址,另外IPv6实现了一种称为无状态地址自动配置的机制,任意节点可以根据当前所在链路的前缀信息以及自己的网络接口信息自动生成一个全球地址。IPv6的地址自动配置机制使得移动节点可以很轻易地得到转交地址,不需要人为的参与。
b. 邻居发现:在邻居发现中规定,路由器应该定期广播发送其前缀信息,移动节点根据这些前缀信息能够快速地判定自己是否发生了移动,并通过地址自动配置得到转交地址;邻居发现中还定义了代理宣告的概念,“PRoxy advertisement”,使得home agent可以通过发送代理邻居宣告消息截获发送到移动节点家乡地址的数据包,并把这个包“tunnel”到移动节点的转交地址。
c. 安全机制:IPv6内置安全机制并已经标准化,它支持对企业网的无缝远程访问。在安全性方面,IPv6同IP安全性(IPSec)机制和服务一致。除了必须提供网络层安全这一强制性机制外,IPSec还提供两种服务。认证报头(Authentication Header, AH)用于保证数据的一执行,同时还可以用之进行身份验证,而封装的安全负载报头(Encapsulation Security Payload Header, ESP)用于保证数据的保密性和数据的一致性。同时由于IPv6的新特性,也可以为移动IPv6专门设计安全机制。
d. 黑洞检测:移动IPv6中的移动检测机制提供了移动节点和它的当前路由器之间的双向可到达的确认机制,即移动节点可以随时知道当前路由器是否继续可达,同时路由器也可以知道节点是否继续可达。假如移动节点检测到当前路由器不再可用,它就会去请求另外一台路由器。而Mobile IPv4只提供了“前向”可到达的检测机制,即路由器可以随时确认移动节点是否继续可达,但是移动节点却不能检测到路由器是否继续可达。
e. 路由报头:IPv6中定义了路由报头,报头中指定了数据包在从源节点到目的节点的过程中应该经过的节点的地址。大多数发送到移动节点的数据包都要使用路由报头,数据包的目的地址是移动节点的转交地址,并且包含一个路由报头,路由报头的下一跳是这个移动节点的家乡地址。
f. 动态家乡代理地址发现机制:在IPv6中,定义了一种称为“anycast”的地址,它也是一个地址组,地址组中的所有的机器都会收到发往这个“anycast”地址的数据包,但是只会有一台机器对这个数据包做出响应。移动节点家乡链路上所有的路由器都配置为“Mobile-IPv6 anycast address”,移动节点把“家乡代理地址发现清求” 消息发到这个“Mobile-IPv6 anycast address”,所有的家乡代理都收到了这条消息,但是有且仅有一个家乡代理对此做出响应。
g. 透明性的实现:节点的移动对移动节点和通信节点上的应用程序是透明的。对于通信节点来说,移动节点发送数据包时使用“home address option”,可以使其不必知道移动节点的转交地址;对于移动节点上的应用程序来说,通信节点发送数据包时采用“Router Header”,仍然可以使应用程序不必知道移动节点的转交地址。