移动IPv6工作原理(1)


1、引言

下一代网络的发展方向之一是向多元化的无缝宽带接入网络演进,各种有线、无线接入方式对于用户业务体验需要提供通用的移动性,使用户随时随地可以享受到统一的业务特性。

移动终端要在三层网络切换的过程中保持通信畅通就必须保证移动对于通信应用的透明,即通信应用的网络层识别——IP地址保持不变。互联网路由模式是根据网络层目的地址来进行选路,并将数据包发送到该目的地址所在的网络,从而到达该目的地址所代表的节点。网络层移动必须解决对通信应用全程使用不变IP地址的同时,对于路由使用节点当前所在网段可达的IP地址。移动IPv6巧妙地解决了这个问题。

2、移动IPv6基本工作原理

移动IPv6对于实现通信在网络层移动过程中保持不断的解决方案可以简单地归纳为三点:

(1)定义了家乡地址,上层通信应用全程使用家乡地址保证了对应用的移动透明;

(2)定义了转交地址,从外地网络获得转交地址,保证了现有路由模式下通信可达;

(3)家乡地址与转交地址的映射,建立了上层应用所使用的网络层标识与网络层路由所使用的目的标识之间的关系。

具体工作流程可简单归纳如下:

当移动节点在家乡网段中时,它与通信节点之间按照传统的路由技术进行通信,不需要移动IPv6的介入。

当移动节点移动到外地链路时,移动节点的家乡地址保持不变,同时获得一个临时的IP地址(即转交地址)。移动节点把家乡地址与转交地址的映射告知家乡代理。通信节点与移动节点通信仍然使用移动节点的家乡地址,数据包仍然发往移动节点的家乡网段;家乡代理截获这些数据包,并根据已获得的映射关系通过隧道方式将其转发给移动节点的转交地址。移动节点则可以直接和通信节点进行通信。这个过程也叫做三角路由过程。

移动节点也会将家乡地址与转交地址的映射关系告知通信节点,当通信节点知道了移动节点的转交地址就可以直接将数据包转发到其转交地址所在的外地网段。这样通信节点与移动节点之间就可以直接进行正常通信。这个通信过程也被称作路由优化后的通信过程。

3、移动IPv6的安全考虑

上述移动IPv6的基本工作过程只是针对于理想状态的互联网,并没有考虑安全方面的问题。实际的网络中,会存在各种对报文的窃听或者篡改等攻击。如果攻击者截取了绑定报文,并且修改内容中转交地址为攻击者的地址,然后再继续发送给HA或者CN,那么攻击者就会截取到发往移动节点的通信数据。同样对于移动IPv6中目的选项或者路由报头的攻击,也会影响到通信的安全。要保证移动IPv6的通信安全,就必须保证移动IPv6的协议消息的真实性和完整性。

MN与CN的关系带有任意性,不适合需要预先建立安全关联的方式,因此IPSec在MN与CN之间不适用。为保证MN与CN的之间的安全性,引入了往返可路由过程。

MN与CN之间的移动IPv6协议消息包括:MN发往CN的绑定消息,CN发往MN的绑定确认。往返可路由过程的目的是要确保绑定消息中的家乡地址和转交地址都是真实可达的,都属于移动节点。

MN与HA之间的关系相对固定,便于预先建立安全关联,因此对于MN和HA之间的协议消息使用IPSec进行保护,具体的操作可以参考RFC3776,本文不再赘述。

4、移动IPv6的关键过程

移动IPv6的协议中,从三角路由到路由优化的通信过程包含了移动检测,获取转交地址,转交地址注册,隧道转发等机制,往返可路由等信令过程等。

4.1移动检测

移动检测分为二层移动检测以及三层移动检测。不论二层移动检测采用什么方法,移动IPv6中依靠路由通告来确定是否发生了三层移动。移动节点在家乡网段的时候,在规定的时间间隔内能够周期性收到路由前缀通告;移动节点从家乡网络移动到外地网络的时候,在规定的时间间隔内不会再收到家乡网段的路由通告,移动节点认为发生了网络层移动。

4.2获取转交地址

当移动节点监测到发生了网络切换时,就需要分配当前网段可达的转交地址。获得转交地址的方式可以是任何传统的IPv6地址分配方式,如无状态自动配置方式,或者是有状态分配方式。最简单的方式之一就是无状态自动配置方式,利用所接收到外地网络的路由前缀,与移动节点的接口地址合成转交地址。

4.3转交地址注册

移动节点获得转交地址后需要将转交地址与家乡地址的绑定关系分别通知给家乡代理以及正在与移动节点通信的通信节点,这个过程分别称为家乡代理注册以及通信节点注册。转交地址的注册主要通过绑定更新/确认消息来实现。

4.4隧道转发机制/三角路由

移动节点已经完成家乡代理注册但是还没有向通信节点注册时,通信节点发往移动节点的数据在网络层仍然使用移动节点的家乡地址。家乡代理会截取这些数据包,并根据已知的移动节点转交地址与家乡地址的绑定关系,通过IPv6inIPv6隧道将数据包转发到移动节点。移动节点可以直接回复给通信节点。这个过程也叫做三角路由。

4.5往返可路由过程

往返可路由过程主要目的在于保证通信节点接收到绑定更新的真实性和可靠性,由两个并发过程组成:家乡测试过程和转交测试过程。

家乡测试过程首先由移动节点发起家乡测试初始化消息,通过隧道经由家乡代理转发给通信节点,以此告知通信节点启动家乡测试所需的工作。通信节点收到家乡测试初始化消息后,会利用家乡地址及两个随机数Kcn与nonce,进行运算生成homekeygentoken,然后会利用返回给移动节点的家乡测试消息把homekeygen token*以及nonce索引号告诉移动节点;

转交测试首先是移动节点直接向通信节点发送转交测试初始化消息,通信节点会将消息中携带的转交地址与ken和nonce进行相应运算生成care-ofkeygentoken*,然后在返回移动节点的转交测试息中携带care-ofkeygentoken以及nonce索引号。

移动节点利用homekeygentoken和care-ofkeygentoken生成绑定管理密钥Kbm,再利用kbm和绑定更新消息进行相应运算生成验证码1,携带在绑定更新消息中。通信节点收到绑定更新消息后利用home keygen token,care-ofkeygen token以及nonce数,与绑定消息进行相应运算,得出验证码2。比较两个验证码,如果相同,通信节点就可以判断绑定消息真实可信,否则,将视为无效。

4.6动态家乡代理地址发现过程

通常家乡网络的前缀和家乡代理的地址是固定的,但是也可能因为故障或其他原因出现重新配置。当家乡网络配置改变时,身在外地的移动节点需要依靠动态家乡代理地址发现过程发现家乡代理的地址。这主要借助于目的地为一个特殊anycast地址的ICMP特别消息。据了解,目前这个过程并没有设备实现,因此也不做过多介绍,进一步了解可以参考RFC3775。

图1示出了移动IPv6的过程。

图1 移动IPv6过程图解

5、移动IPv6所面临的问题


相关内容