移动 IPv6 介绍

简介
RFC (Request for Comments) 3775 将移动 Internet 协议第 6 版 (Mobile Internet Protocol version 6) 定义为:不管 IPv6 节点位于 IPv6 网络的何处以及与移动 IPv6 节点通信的其他节点是否支持移动 IPv6,始终可以对 IPv6 节点进行访问。
下面几节将介绍:
| • | 漫游节点和传输层连接的可存活性 | 
| • | 移动 IPv6 的组成 | 
| • | 移动 IPv6 数据传送 | 
| • | 通信注册过程 | 
| • | 移动 IPv6 节点和 TCP 连接 | 
| • | Microsoft Windows 中的移动 IPv6 支持 | 
漫游节点和传输层连接的可存活性
当某个节点具有移动性时(比如在无线网络的不同部分间漫游并启用了无线功能的便携式计算机),存在一些机制来确保该移动节点拥有其所连接网段(子网)的相关地址。对于 IPv6 而言,这些机制包括通过路由器发现和面向 IPv6 的动态主机配置协议 (Dynamic Host Configuration Protocol for IPv6,DHCPv6) 实现的无状态地址自动配置。当检测到其处于某个无线网络的一个新的链路之上后,正在漫游的无线节点就会使用路由发现、DHCPv6,或者同时使用这两者来配置 IPv6 地址、相邻的 IPv6 默认路由器地址、以及其他配置参数。
虽然移动节点可针对其所连接的新链路进行自动配置,但是无法再使用原先利用该漫游节点的旧地址建立的传输层连接(比如:TCP 连接)。旧地址在新的网段中不再有效,而且必须放弃现有的 TCP 连接。应用程序必须使用新分配的地址建立新的连接。根据应用程序的不同,如果 IPv6 地址配置发生突然变化,可能会导致应用程序停止工作,从而需要用户停止并重新启动该应用程序。.
对于真正的漫游支持,IPv6 节点必须同时支持自动重新配置和传输层连接的可存活性。移动 IPv6 提供的解决方案是通过扩展 IPv6 来使传输层协议和应用程序无法觉察到 IPv6 地址配置所发生的变化,而不是通过修改应用程序或传输层协议(比如:TCP)来提供传输层可存活性。在移动 IPv6 中,应用程序和传输层协议使用分配给不会发生变化的移动 IPv6 节点的 IPv6 地址,而不受该移动节点的位置和当前地址配置的限制。
移动 IPv6 的组成
移动 IPv6 的组成如下图所示。
 
 
移动 IPv6 由以下几个部分组成:
| • | 移动节点 (mobile node) 可更改链路(从而进一步更改地址)并可使用其居家地址 (home address) 保持可连接性的 IPv6 节点。 | 
| • | 居家链路 (home link) 生成移动节点的链路。 | 
| • | 居家地址 (home address) 分配给连接到居家链路的移动节点的地址,而且通过该地址始终可以访问相应的移动节点,无论其在 IPv6 网络上位于何处。由于居家地址总是分配给移动节点,因此移动节点在逻辑上总是连接到居家链路。 | 
| • | 居家代理 (home agent) 居家链路上的一台路由器,保存离开居家地址的移动节点的注册信息及其当前地址。虽然上图中的居家代理充当将居家链路连接到 IPv6 网络的路由器,但是居家代理不是必须提供这项功能。居家代理也可以是居家链路(当移动节点连接到居家链路时不执行任何转发操作)上的一个节点。 | 
| • | 外地链路 不属于移动节点的居家链路的链路。 | 
| • | 转交地址 (care-of address) 移动节点在连接到外地链路时所用的地址。移动节点的居家地址与转交地址的关联称为绑定。 | 
| • | 通信节点 与移动节点通信的 IPv6 节点。通信节点不一定必须支持移动 IPv6。 | 
支持移动 IPv6 的通信节点居家代理在绑定缓存中保存有关绑定的信息.移动节点在绑定更新列表中保存有关通信节点的信息。
| 注意: 当使用 IPv6 传输技术(比如:6to4、站内自动隧道寻址协议 (ISATAP) 或 Teredo)时,上图中的 IPv6 网络可以是 IPv6 Internet、专用内部网中支持 IPv6 的部分或者公用或专用 IPv4 基础结构。更多信息,请参见IPv6 传输技术. | 
移动 IPv6 数据传送
当移动节点不在居家链路上时,可以通过以下几种方法接收来自通信节点的数据包:
| • | 如果通信节点不支持移动 IPv6,或者还未完成通信注册,那么数据包将被发往移动节点的居家地址。通信注册将在本文的“通信注册过程”一节中进行介绍。居家代理拦截数据包,并使用 IPv6-over-IPv6 隧道将其放在隧道上进行传输,以发送给移动节点的转交地址。 | 
| • | 如果通信节点支持移动 IPv6,并且已经完成了通信注册,那么数据包将被直接发送到移动节点在 IPv6 网络上的位置。这些数据包包含一个含有该移动节点居家地址的新的 Type 2 路由扩展报头。 | 
当移动节点不在居家链路上时,其可以通过以下几种方法将数据包发送给通信节点:
| • | 如果通信节点不支持移动 IPv6,或者还未完成通信注册,那么将使用 IPv6-over-IPv6 隧道把数据包放在隧道上进行传输,发送给居家代理。尔后,居家代理将这些数据包转发到通信节点。 | 
| • | 如果通信节点支持移动 IPv6,并且已经完成了通信注册,那么数据包将直接被发送到通信节点。这些数据包包含一个新的居家地址选项。该选项位于含有该移动节点居家地址的目标选项 (Destination Options) 报头中。 | 
通过居家代理在通信节点和移动节点间建立的数据包隧道称为双向隧道。双向隧道确保了当移动节点不在居家链路上时,总是可供访问,即便通信节点不支持移动 IPv6。然而,双向隧道会导致严重的传输延迟。
在移动节点和支持移动 IPv6 的通信节点间直接发送数据包的过程称为路由优化。路由优化消除了与双向隧道相关联的传输延迟,并需要通过它来为具有时间要求的流量(比如:Voice over IP,VoIP)提供充足的性能。
下图显示了移动节点和通信节点使用双向隧道和路由优化功能来交换数据包。

通信注册过程
为了执行数据包的路由优化传送,移动节点和通信节点将执行通信注册。这一过程由以下几个部分组成:
| • | 迂回路由过程 (Return Routability procedure) 为了证明通过移动节点的居家地址和转交地址均可对其进行访问,移动节点和通信节点将执行迂回路由过程。需要通过该证明来防范各种连接劫持和拒绝服务攻击。在执行执行迂回路由过程时,移动节点会向通信节点发送两个不同的测试数据包。其中一个通过居家代理进行发送,而另一个则直接发送给通信节点。通信节点将响应发送给测试数据包,而且每个响应都包含一个加密令牌。 | 
| • | 交换绑定更新 (Binding Update) 和绑定应答 (Binding Acknowledgement) 消息 完成迂回路由过程之后,移动节点将向通信节点发送一条移动 IPv6 绑定更新消息。绑定更新消息包含使用通信节点在迂回路由过程中所发送的加密令牌计算的身份验证数据。由通信节点验证身份验证数据。这一验证并属于强加密身份验证,但足以防范大多数攻击类型。如果此身份验证数据有效,那么通信节点将在其绑定缓存中为移动节点添加一个条目,并发送一条绑定应答消息。 收到绑定应答消息时,移动节点将在其绑定更新列表中为通信节点添加一个条目。 | 
完成了通信注册过程之后,移动节点和通信节点就可以使用路由优化相互发送数据包。
移动 IPv6 节点与 TCP 连接
为了说明移动 IPv6 如何提供传输层连接的可存活性,让我们来看一下当移动 IPv6 节点从其居家链路转移到外地链路时,现有的 TCP 连接发生了哪些变化。为了简要说明此例子,我们将只详细介绍在移动节点和通信节点间交换的那组消息。有关移动 IPv6 过程的详细信息,请参见《了解移动 IPv6》.
节点 A 是一个移动节点,而节点 B 是一个支持移动 IPv6 的通信节点。节点 A 在连接到其居家链路时将配置一个居家地址。节点 A 与节点 B 建立 TCP 连接。当节点 A 漫游到外地链路时,将发生以下过程:
| 1. | 在发现节点 A 所连接的链路发生变化并获得了转交地址后,节点 A 将与其家乡代理交换一组绑定更新和绑定应答消息。居家代理在其绑定代理中为节点 A 添加一个条目,用以保存其居家地址和转交地址。这称为居家注册。 | 
| 2. | 在这个例子中,节点 B 向节点 A 发送现有 TCP 连接的一个 TCP 段。由于节点 B 还未得到节点 A 已更改位置的信息,因此节点 B 将该 TCP 段 发往节点 A 的居家地址。 | 
| 3. | 因为居家代理拥有节点 A 居家地址的一个绑定缓存条目,所以居家代理会拦截 TCP 段并将其放在隧道上发送给节点 A 的转交地址。 | 
| 4. | 在接收到居家代理通过隧道传输的 TCP 段之后,节点 A 开始进行通信注册,包括迂回路由过程以及绑定更新和绑定应答消息的交换。 在进行通信注册时,在移动节点和通信节点间发送的 TCP 段通过居家代理进行双向隧道传输。 当完成了通信注册之后,移动节点在其绑定更新列表中拥有通信节点的一个条目,而通信节点在其绑定缓存中拥有移动节点的一个条目。 | 
| 5. | 节点 A 和节点 B 使用路由优化交换后续的 TCP 段。 | 
如果节点 B 不支持移动 IPv6,那么通信注册过程将失败,而且所有在节点 A 和节点 B 间传送的 TCP 段将进行双向隧道传输。
漫游时,起初在移动节点的地址和通信节点的地址间建立的 TCP 连接将原封不动。在步骤 1 中可能会有一些 TCP 段被丢弃,其间当节点 A 发现链路变化时会产生延迟,获取一个新的转交地址,并执行居家注册。但是,这些段由 TCP 进行重新传输。
Microsoft Windows 中的移动 IPv6 支持
Microsoft Windows XP with Service Pack 1、Windows XP with Service Pack 2 和 Windows Server? 2003 仅包含基于目前已过时的移动 Pv6 Internet 草案第 13 版的通信节点支持。更多信息,请参见《了解 IPv6》 (Microsoft 出版社图书)的第 12 章。
Microsoft Research 推出的 Mobile IPv6 Technology Preview(移动 IPv6 技术预览)(可通过申请获得)支持 RFC 3775 和 3776 所描述的全部通信节点、移动节点和居家代理功能。如欲参与 Mobile IPv6 Technology Preview,请通过电子邮件将申请信发送到:mipv6-fb@microsoft.com. 如需了解安装信息、限制、功能支持以及实施细节,请参见 Mobile IPv6 Technology Preview 附带的 Mobile IPv6 Technology Preview User Guide(移动 IPv6 技术预览用户指南)。
 
                    
                     
                    
                 
                    
                 
        
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号