首页 > 范文大全 > 正文

APHMIPv6:快速移动IPv6切换算法

开篇:润墨网以专业的文秘视角,为您筛选了一篇APHMIPv6:快速移动IPv6切换算法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:当移动节点发生切换时,其切换时延和丢包率问题将严重影响实时业务的应用。针对这一问题,该文进行了理论分析并提出了一种基于地址池的层次型移动IPv6 切换算法(aphmipv6)。该算法与层次型模型相结合,采用基于地址池的有状态地址配置策略以及域间切换时利用隧道机制来提高切换性能。仿真结果表明,该算法能有效地减少移动节点切换时延和丢包率,尤其在域间切换时,性能更加显著。

关键词:移动IPv6;层次型;地址池;隧道机制

中图分类号:TP301文献标识码:A文章编号:1009-3044(2007)17-31297-03

APHMIPv6: An Fast Handover Algorithm for Mobile IPv6

LIU Yan-yun

(Department of Computer Applied Technology, Jiangsu Food Science College, Huai'an 223003, China)

Abstract: When a mobile node goes into a new subnet, latency and packet loss of handover will affect theapplication of real-time service. The paper proposes an enhanced handover algorithm, address-pool based HMIPv6(APHMIPv6), which combines with the hierarchical model, and adopts address-pool based stateful address configuration policy and tunnel mechanism during inter-domain handover. The simulation shows that the APHMIPv6 algorithm decreases the handover latency and packets loss effectively, especially in case of inter-domain handover.

Key words: mobile IPv6; hierarchical model; address pool; tunnel mechanism

1 引言

随着互联网的发展,下一代网络将是基于IP的网络。目前的IPv4协议由于地址资源受限、路由表越来越大等不足,无法适应下一代网络的要求,因此,IPv6协议成为下一代网络的主流。随着无线用户的增多,网络无线化也是通信网络发展的必然的发展趋势。在无线环境下,用户的漫游和切换成为主要需要解决的问题。为此,Internet工作组IETF(Internet EngineeringTask Force)制定了移动IPv6协议[1]。随后,RFC 文档提出快速移动ipv6切换协议[1]和HMIPv6[2]。移动IPv6协议解决了移动用户在IPv6网络中的漫游和切换问题。由于IPv6网络的地址资源丰富,处于外地的移动节点可以分配到一个完整的配置转交地址,无需外地实体。同时通过路由优化,移动节点可以和通信对端不经家乡直接通信,避免了效率低下的三角路由。但是移动IPv6协议在用户切换时产生的时延较长,会影响到切换时的服务质量。

2 快速移动IPv6协议

MN在切换时产生的时延包括链路层切换时延和IP层切换时延,快速移动IPv6协议用于减少MN的IP层切换时延,这部分时延包括:移动检测时延,IP地址配置时延和绑定更新时延。

当移动节点处于本地网络时,通过接收本地网络上路由器的路由器通告来进行地址配置;获取网络参数。

当移动节点接入异地网络后,不再收到来自本地网络的路由器通告;而是收到来自异地网络上路由器的路由器通告,移动节点利用接收到的异地网络路由器通告进行移动检测。

快速移动IPv6算法流程如下所述。

首先,MN发送RtSolPr消息给当前接入路由器PAR,要求获得一个或多个接入点ID所在子网信息。作为回应,PAR发送PrRtAdv。通过这些信息,MN配置好一个预期的新转交地址(NCoA)。在建立绑定之前,PAR需发送HI消息给新接入路由器NAR,并接收HAck消息作为回应。

HI消息包括MN的旧转交地址,链路层地址和期望的新转交地址。协议在HI消息中提供了一个选项,要求NAR对数据包进行缓存。作为回应,NAR必须在HAck中说明HI中提供的期望的NCoA是否有效并提供无效时需要的一些信息。之后PAR给NAR和MN发送FBack。通过FBU和FBack过程使得PAR开始通过隧道将数据包发送到NAR。如果MN在切换前收到FBack消息,说明在切换发生时,数据隧道已经建立起来。这样,当MN接入到NAR时必须马上发送FNA消息,使得通过隧道发送并缓存在NAR中的数据包能够马上发送给MN。如果MN在切换前没有收到FBack消息,MN不能确定PAR是否成功处理了FBU消息。因此,当接入到NAR后,MN必须马上重新发送FBU消息(封装在FNA消息中),要求NAR马上将缓存的数据包发送过来(如果之前的FBU消息被成功处理),或者要求NAR验证NCoA是否可被接受(如果之前的FBU消息未被正确处理)。如果通信节点通过接收来自移动节点的绑定更新,获取了移动节点的转交地址,则可以直接与移动节点通信,而无需通过本地,实现路由优化。

在MIPv6 中,移动节点(MN)是通过有状态或无状态地址自动配置协议来配置转交地址的(CoA)。其中无状态地址自动配置方式是:需要配置地址的节点使用一种邻居发现机制获得一个局部连接地址。一旦得到这个地址之后,它使用另一种即插即用的机制,在没有任何人工干预的情况下,获得一个全球唯一的路由地址。为了确保所有配置地址在所在链路上的唯一性,MN在把地址指派给接口前需要对地址进行重复地址检测(DAD)。为了避免同一链路多个节点同时进行DAD操作可能造成的网络拥塞,需要等待一段随机时间(0~1s)后才开始DAD。节点发送一个邻居请求(NS),如果一段时间内,节点没有收到已使用该地址的主机发出的对该地址的邻居通告(NA)或其它主机对该地址的DAD 请求消息,则该地址可用[3]。这使得DAD操作占总切换延迟的很大一部分。为此,我们在层次型思想框架下,参照文献[4]在FMIPv6中使用地址池获得转交地址的方法,提出一种基于地址池的层次型移动IPv6 切换算法-APHMIPv6。在APHMIPv6算法中,MN发生域间切换时,通过增加隧道机制,在旧接入路由器(PAR)与MN新的转交地址(NCoA)间建立隧道,PAR将数据包发送给MN新的CoA地址,使MN在域内和域间的切换达到快速、平滑的无缝切换。

3 APHMIPv6切换算法

3.1 算法原理

APHMIPv6算法对快速移动Ipv6进行了改进。算法引入了地址池的思想,在每个AR设置地址池,存放可在本子网使用的IP地址,当MN检测到自己将要移动到新的子网时,它可以主动向PAR询问在预测子网可用的IP地址,省去了重复地址池检测时延。为了解决快速移动IPv6预测失败时的丢包问题, 对域间切换,我们采用了隧道机制,使APHMIPv6的性能更加优化,明显优于HMIPv6 域间切换。

地址池包含了IP地址资源信息、已经分配的客户端信息等。它可以从空闲地址队列中分配一个地址给客户端,并记录下这个客户端的一些基本信息(如MAC地址)。当释放地址时,把回收的地址重新放到空闲地址队列中。地址池要保证分配出去地址的不重复性、可分配性和可重用性(客户端已经释放的地址应该能够再分配给其它客户端使用)。定时器:AR负责维护LCoA地址池,MAP负责维护RCoA地址池,确保地址池中地址的唯一性。AR或MAP可以将地址池中的地址分配给相应接口。AR或MAP应当为每个分配出去的地址设定一个定时器,如果这个地址在一段时间未被使用(AR未收到LCoA-ReF消息,MAP未收到RCoA-Ref消息),AR或MAP应当收回该地址。定时器中定时期限也是动态的去实现,使其可扩展性好,满足特定用户的特定需求。

3.2 地址池分配过程语言描述

3.2.1 接入路由器(AR)的操作

当MN由链路层触发或路由器通告等信息发现自己进入新的接入路由器服务范围时向新接入路由器(nAR)发送RtSolPr消息。nAR监听到请求消息。转交给上层消息队列。消息队列中没有请求消息时,直接转发给上层处理。消息队列中有缓存消息时,则先收到的优先级高;从消息队列提取优先级高的请求消息,交给上层去处理。请求消息为MN的RtSolPr时,就向地址池请求链路转交地址(LCoA)。地址池分配一个已得到验证的地址,通过路由通告(PrRtAdv)消息发送给MN。分配出去的地址都由定时器设定一个刷新时间间隔,在它设定的时间内没有收到对应的MN刷新消息(AR未收到LCoA-ReF消息),nAR就收回给分配出去的地址。

3.2.2 移动锚点(MAP)的操作

MN接收到PrRtAdv消息后,通过对MAP项作检测。MAP项没有发生变化,地址分配完成。MAP项发生变化时,MN向MAP发送本定绑定更新(LBU)消息。

MAP监听到LBU消息。转交给上层消息队列。消息队列中没有请求消息时,直接转发给上层处理。消息队列中有缓存消息时,则先收到的优先级高;从消息队列提取优先级高的请求消息,交给上层处去处理。请求消息为MN的LBU时,就向地址池请求区域转交地址(RCoA)。地址池分配一个已得到验证的地址,通过LBU发送给MN,地址分配完成。

分配出去的地址都由定时器设定一个刷新时间间隔,在它设定的时间内没有收到对应的MN刷新消息(MAP未收到RCoA-Ref消息),MAP就收回给分配出去的地址。

3.3 APHMIPv6切换算法实现

3.3.1 域内切换

在图1中,MN从AR1服务范围切换到AR2服务范围,在同一个子网域内,为移动锚点MAP1管理的区域移内移动。只改变了链路转交地址(LCoA),区域转交地址(RCoA)并没有改变。

图1

域内切换算法实现过程如下:

MN由链路层触发或路由通告等信息发现自己进入新的接入路由器(AR2)服务范围,就向AR2发送路由器请求消息(RtSolPr),请求一个可用的链路转交地址(LCoA)。AR2接收到RtSolPr消息后,在其维护的地址池中分配一个已得到验证的LCoA,以路由器通告消息(PrRtAdv)发给MN。PrRtAdv消息作为对RtSolPr消息的响应。 MN通过对PrRtAdv消息中的MAP选项作前缀检测,可知道自己还在MAP1管理的区域内。此时,MN利用得到的新链路转交地址(NLCoA)向MAP1发送LBU,将MN的NLCoA与区域转交地址(RCoA)进行绑定注册。此时,MAP1绑定缓存列表中就有MN新的NLCoA,MAP1 在接收到发往MN的数据包后,通过查询绑定缓存列表,向AR2转发发往MN的数据包。LBU消息是MN向MAP1注册它的NLCoA用的,MAP1发送LBA消息作为对LBU消息的响应,说明注册成功。MN就可用该NLCoA来转发数据包。

3.3.2 域间切换

MN从AR2服务范围切换到AR3服务范围,已不在同一个子网域内。从MAP1管理的区域切换到MAP2管理的区域。在APHMIPv6切换算法中,旧接入路由器(AR2)和MN分配的新转交地址(NLCoA)间建立隧道,来达到平滑切换的目的。

域间切换算法实现过程如下:

MN由链路层触发或路由通告等信息发现自己进入新的接入路由器(AR3)服务范围,就向AR3发送路由器请求消息(RtSolPr),请求一个可用的LCoA。AR3接收到RtSolPr消息后,在其维护的地址池中分配一个得到验证的LCoA,以路由器通告消息PrRtAdv发给MN。PrRtAdv 消息作为对RtSolPr消息的响应。此时MN通过对PrRtAdv消息中的MAP选项作前缀检测发现新的MAP选项,可知发生域间切换。它就用分配的NLCoA向旧接入路由器(AR2)发送隧道请求消息(TulSol),请求建立旧接入路由器(AR2)与MN的链路转交地址(NLCoA)间的隧道。接入路由器(AR2)发送隧道通告消息(TulAdv),作为对隧道请求消息(TulSol)的响应。此时AR2与MN的NLCoA间的隧道已建立,旧接入路由器(AR2)把发给MN的数据包以隧道的形式转发给已经得到NLCoA的MN。MN在发起隧道建立的同时,用已得到的NLCoA去完成注册。首先,它用NLCoA发送LBU消息给MAP2,用来向MAP2注册NLCoA。当MAP2收到LBU消息后,在其维护的区域转交地址池中分配一个可用的新区域转交地址(NRCoA)给MN,以LBA消息发送给MN,说明NLCoA注册成功。MN在收到NRCoA后,需要向家乡(HA)注册。MN发送绑定更新消息(BU)给HA,HA在收到BU消息后,在其绑定缓存中记录下MN的NRCoA,并向MN发送绑定确认消息(BA),作为对BU消息的响应。当MN收到HA发来的BA后,说明已经完成注册,可用NRCoA 来转发数据包。此时,MN给AR2一个隧道撤消消息(TulCnl),用来撤消建立的隧道。

4 仿真结果和讨论

对于APHMIPv6 切换算法,我们采用的网络仿真拓扑如图2所示。在AR1与AR2,AR3与AR4之间为域内切换;在AR2与AR3之间为域间切换。实验指标为MN 在不同的移动速率下切换时延和分组丢失率,结果和HMIPv6相比较。

图2

实验中让MN按照预先设定好的不同速度发生切换,由于我们采用了地址池分配地址地策略,省去了重复地址池检测时延,使本论文提出的APHMIPv6比HMIPv6的时延明显减少。从域间切换可以看出,由于我们采用了隧道机制,使APHMIPv6的性能更加优化,明显优于HMIPv6域间切换;而且HMIPv6域间切换性能受MN的移动速度影响比较明显,更能反映出HMIPv6在域间切换时的性能差的特性。

再让MN按照预先设定好的不同速度发生切换,其从域内切换可以看出,由于我们采用了地址池分配地址地策略,使本论文提出的APHMIPv6比HMIPv6的丢包率小。从域间切换可以看出,由于我们采用了隧道机制,使APHMIPv6的性能更加优化,明显优于HMIPv6域间切换。

5 结束语

移动IPv6协议提供了对MN移动的支持,但在移动IPv6相关协议中,对CoA的DAD操作耗费了很多时间,并且MN在HMIPv6发生域间切换时,其性能严重恶化。本论文提出的算法与层次型相结合,采用基于地址池的配置策略和隧道机制。仿真结果表明,本论文提出的APHMIPv6可以明显减少切换时延和丢包率问题;尤其对域间切换性能的提高非常明显。

参考文献:

[1] R. Koodli, Ed. Fast Handovers for Mobile IPv6[S]. IETF RFC 4068,2005.

[2] H. Soliman, C. Castelluccia, K. El Malki. Hierarchical Mobile IPv6 Mobility Management (HMIPv6)[S]. IETF

RFC 4140, 2005.

[3] S. Thomson, T. Narten. IPv6 Stateless Address Autoconfiguration[S]. IETF RFC 2462,1998.

[4] Hee Young Jung, Seok Joo Koh, Dae Young Kim. Address Pool based Stateful NCoA Configuration for

FMIPv6 [S]. 2003.

[5] 李津生,洪佩琳. 下一代Internet 的网络技术[M]. 北京:人民邮电出版社,2001, 253-263.

[6] Nicola Montavont and Thomas Noel. Handover Management for Mobile Nodes in IPv6 Networks [J]. IEEE

Wireless Communications Magazine, 2002, 38-43.

[7] RFC2462. IPv6Stateless Address Autoconfiguration[S]. Network Working Group, 1998.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。