三、移动IPv6通信的处理过程

在移动终端和通信终端的通信过程前期,连接到外地链路的移动终端将采用IPv6定义的地址自动配置来获得一个临时的转交地址,然后对这个地址进行重复地址检测。如果检测到现在的链路上有另一个终端正在使用此地址,地址自动配置停止进行,改为手动配置该移动终端的转交地址;反之,这个临时的转交地址的状态改为有效状态,然后向本地链路注册这个转交地址,建立转交地址和归属地址的一个关联,即“绑定”。

移动终端要实现和通信终端的通信,首先要告知通信终端它当前的转交地址,建立它的转交地址和通信终端的地址的一个绑定。为了对绑定的建立进行授权,需要先对返回路径可达性进行测试。返回路径可达过程的信令过程如图1所示。

图1 移动终端返回路径的信令过程

归属和转交测试初始消息同时被发送;通信接点要尽快地返回归属和转交测试消息,并且要求很少的处理过程。这四种消息构成了返回路径可达过程。由于近乎同时的消息发送,因此返回路径可达过程几乎是在一个移动终端和通信终端之间往返时间内完成的。

1.归属测试初始消息

移动终端向通信终端发送归属测试初始消息以请求归属Cookie。这个消息中的内容有:源地址=归属地址,目的地址=通信终端,参数=HoT-Cookies(用来验证响应消息是否匹配清请求消息,并保证没有见到请求消息的接点不能伪造响应信息)。此消息通过归属代理的反向隧道发送到通信终端,告知移动终端的归属地址,然后被通信终端返回。

2.转交测试初始消息

移动终端向通信终端发送转交测试初始消息以请求转交Cookie。这个消息的内容有:源地址=转交地址,目的地址=通信终端,参数=CoTCookie;此消息直接发送到通信终端,告知移动终端的转交地址。然后被通信终端返回。

3.归属测试

此消息用来响应归属测试初始消息。消息中的内容有:源地址=通信终端,目的地址=归属地址,参数=HoTCookie、归属Cookie和归属临时随机数索引。当通信终端接收到归属测试初始消息后。它将产生一个归属Cookie,归属Cookie可用来测试移动终端能否收到发向归属地址的消息。从移动终端发出的HoTCookie在归属测试消息中返回,用来保证该消息是从位于归属代理和通信终端之间路径上的一个结点发出的。发送到移动终端的临时随机数索引能允许通信终端有效地发现它用来生成归属Cookie的临时随机数的值。

4.转交测试

此消息用来响应转交测试初始消息。消息中的内容有:源地址=通信终端,目的地址=转交地址,参数=CoTCookie、转交Cookie和转交临时随机数索引。当通信终端接收到转交测试初始消息后,它将产生一个转交Cookie,用来保证这个消息来自于在通信路径上的一个结点。转交临时随机数索引用来确定生成转交Cookie的临时随机数。

当移动终端收到归属和测试转交消息后,返回路径可达过程就结束了。然后,移动终端使用自己的授权机制向通信终端发送绑定更新消息。移动终端利用已经接收到的消息来形成一个16字节的会话密钥Kbu(Kbu=Hash归属Cookiel转交Cookie)。

当返回路径可达过程结束后,移动终端向通信终端发送一个绑定更新消息,过程如图2所示。

图2 移动终端的通信终端发送绑定更新过程

5.绑定更新

移动终端使用已经生成的会话密钥Kbu来授权绑定更新。消息中包含下面内容:源地址:转交地址,目的地址=通信终端,参数=归属地址、MAC-Kbu(转交地址|通信终端地址|BU)、归属临时随机数索引、转交临时随机数索引和序列号。

在绑定更新消息中包含的临时随机数索引选项,能够使得通信终端知道用来重新计算会话密钥的归属和转交临时随机数;BU是绑定更新消息中的内容,但不包括IP报头、位于IP报头和移动报头之间的任何扩展报头以及包含在绑定更新消息中的认证字段;MAC结果的前96位用于认证报头;序列号用来匹配这个消息的最后一次认可。一旦通信终端认证了MAC,就能为移动终端创建一个绑定缓存记录。

6.绑定应答

绑定应答用来认可一个绑定更新消息的接收。这个消息的内容包括:源地址=通信终端,目的地址=转交地址,参数=序列号、MAC-Kbu(转交地址|通信中断地址|BA)。

在绑定应答消息中包含与绑定更新消息内容中相同的序列号。BA是绑定应答消息的内容,但不包括IP报头,位于IP报头和移动报头之间的任何扩展报头以及包含在绑定认可消息中的认证字段。MAC结果的前96位用于认证报头。

在发送绑定更新之前,移动终端必须等待归属和转交Cookies的到来。由于资源限制、绑定的快速清除或重新启动等因素,当通信终端使用这些Cookies来处理绑定更新消息时,不保证这些Cookies是最新的和可接受的。如果Cookies已经变得很旧,则通信终端在绑定认可消息中返回一个错误代码。此时,移动终端能够重新尝试返回路径可达过程。

理想情况下,当移动终端和通信终端建立绑定后,就可以实现相互间的通信。但在具体实施中,有可能会发生下面的情况:

(1)当移动终端离开本地链路时,本地链路上的一些结点可能被重新配置,原来作为移动代理的路由器可能被别的路由器所替换。在这种情况下,移动终端可能不再知道它自己归属代理的IP地址。IPv6提供了“动态归属代理地址发现”机制来允许移动终端动态的在本地链路上发现一个归属代理的IP地址,移动终端可以向这个归属代理注册自己的转交地址。

(2)移动终端在越区切换时,要进行无线链路的切换,如果新旧链路不在同一个IP子网内,还要进行IP子网切换。切换过程会引起通信延时。在此过程中,发给移动终端的分组可能被丢失。蜂窝移动IPv6中提出了外地本地代理(FHA)和蜂窝组播(CM)的机制。外地本地代理是位于外地网络的主机,用来转发寻址到移动终端的分组。在外地本地代理中有移动终端的换存列表,用来记录其管理区域内的所有移动终端。由于移动终端转交地址可以通过网络前缀加上其MAC地址来自动配置,当寻址到移动终端的分组到达外地本地代理时,通过查询外地本地代理的移动终端缓存列表,蜂窝组播采用向该区域内具有相同MAC地址的转交地址进行组播的方式,来保证移动终端在该区域的任何一个子网上都能接收到数据。


相关内容