移动IPv6路由关键技术及其优化
1移动IPv6路由优化模式
1.1现有移动IPv6路由的不足
IPv6的引入,使得IP地址短缺现象得到了解决,因而在移动IPv6里无需FA的存在,通过引入绑定机制,当CN在自己的绑定缓存里找到了MN的位置后,便可将发往MN的数据包无需经过HA而直接到达MN。CN和MN通过二者之间的直接路役交换数据包,避开了HA,极大地节约了网络资源,并减少了因HA和家乡链路故障而造成的影响[1],比移动IPv4大大前进了一步。其路由优化如图1所示。
然而,移动IPv6的路由优化模式需要通信双方共同计算一个共享密钥,通过该共享密钥对BU(BindingUpdate)和BA(BindingAcknowledge)进行认证。出于安全考虑,该共享密钥有一个生存期。在生存期快到时,通信双方需要重新计算一个新的Kbm(bindingmanagement Key)。对MN而言,每次计算一个新的Kbm时,都需要与CN交换4个移动信息(CoTI&CoT,HoTI&HoT),以便RRP(Return Routability Procedure)的正常运行。4个信息如果任意丢失一个,MN都需要与CN交换至少两个以上的额外信息。这么多的移动信息的引入,给移动IPv6的通信带来了极大的负担。此外,从冗余度方面考虑,在移动IPv6的路由优化模式下,绑定更新认证过程使得MN与CN、MN与HA通信时分别需要1.5个和1个往返时延。这对于那些对时间敏感的应用是不可行的。最后,从安全的角度看,由于每次MN执行RR测试时,MN与CN通信时有两个信息是以明文方式进行传输,CN与HA通信有两个信息是以明文方式传送,这给攻击者进行攻击提供了可乘之机。综上所述,移动IPv6的路由优化模式在移动信息的数量、冗余度以及安全方面都付出了高昂的代价。
1.2返回路由可达过程(ReturnRoutabilityProcedure)
移动IPv6定义了两种不同的模式解决移动问题:双向隧道模式与路由优化模式。前者因为其自身的局限性(如根本没有进行优化)限制了应用。而后者因为对路由进行了优化而得到了极大的发展。简单来说,路由优化模式通过引入一个新的移动报头和依靠MN移动时交换的移动信令来实现。
在路由优化模式下,移动IPv6引入了一个返回路由可达过程(RRP),通过它保证MN与CN通信时的安全,其原理是通过对MN与CN之间交换的信令进行加密来对它们之间的登记进行认证。通过RRP,CN知道是否能够使用MN通告的转交地址和家乡地址访问MN;如果RRP测试失败,CN将既不能接收MN的绑定更新,也不能直接发送分组到MN的转交地址。其测试方法是通过两个消息对(HoTI和HoT,CoTI和CoT)分别测试目的地址是家乡地址和转交地址的分组是否能够到达MN,并最后决定是否可以据此接收来自MN的绑定。
简单说来,MN发送绑定更新BU来更新CN的绑定缓存表项(BindingCacheEntry),总共需6条信息。MN与CN在二者直接相连的路径上交换CoTI&CoT,通过MN的HA交换HoTI&HoT,在这4条信息成功交换后,MN再发送BU至CN,CN发送BA给MN对BU进行确认。前4条信息就构成了RRP。具体过程如图2所示。
从消息发出时序看,HoTI和CoTI消息同时发送。作为响应的HoT和CoT也几乎同时返回。
HoTI用于把MN的家乡地址和Cookie通知CN,请求CN提供家乡密钥生成令牌。而CoTI主要是把MN的转交地址和Cookie通知CN,请求CN提供转交密钥生成令牌。家乡密钥生成令牌与转交密钥生成令牌的方法相似,其过程如下:
Homekeygentoken:=
First(64,HMAC_SHA1(Kcn,(homeaddress"nonce | 0)))
CN结合自己的节点密钥,也就是Kcn,以及从MN接收到的发送给家乡地址,再结合产生的临时随机数Nonce,运用HMAC_SHA1算法产生一个家乡密钥生成令牌[1]。HMAC_SHA1是流行的用于创建数字签名的单向散列算法[2]。通过First函数,截取由HMAC_SHA1散列函数产生的160位的散列值的前64位。转交密钥生成令牌的产生过程也与此大抵相同,只是将家乡地址变成了转交地址,如下所示:
Care-ofdeygentoken:=
First(64,HMAC_SHA1(Kcn,(care-ofaddress| nonce | 1)))
用该方法产生的家乡、转交密钥生成令牌用于验证随后接收到的由MN发来的BU也经过了CN的授权,只要节点密钥和Nonce是有效的,这样产生的密钥生成令牌也是有效的。
Ho