胡清桂
(内江师范学院,四川内江641112)
随着Internet技术的迅速发展,便携计算机等移动设备普遍使用,用户对设备的移动性要求越来越高。下一代网络协议IPv6为节点移动性的实现提供了有力的支持。目前,IETF已经制定了移动IPv6的正式标准(MIPv6-RFC3775[1])和3个相关标准:移动IPv6的快速切换(FMIPv6-RFC4068)、层次移动IPv6的移动性管理(HMIPv6-RFC4140)、网络移动(NEMO-RFC3963[2]),这些标准给人们展示了移动IPv6的诱人前景,但它的发展还只是处在起步阶段,还需要完善和改进。
按照传统的移动IPv6协议,它有以下几个基本概念:
1)移动节点:即移动上网设备,通常称之为MN[1]。
2)家乡地址:移动节点在家乡网络的长期IP地址,它是固定不变的[1]。
3)转交地址:移动节点在外地网络上获得的临时 IP 地址[1]。
4)家乡代理:家乡网络中特定路由器[1]。
5)通信对端:指与移动节点进行通信的网络设备[1]。
移动节点在本地网络时,采用传统的寻址机制收发数据。当移动节点离开本地网络连接到外地网络时,它根据IPv6定义的地址自动配置方法获得一个临时IP地址,即转交地址(CoA),并将当前的转交地址通知家乡代理和通信对端,然后进行通信[2]。
在标准移动IPv6协议中,每一个移动节点都拥有一个基于其家乡网络地址前缀的永久性IP地址,即家乡地址[3]。当移动节点位于其家乡网络中时,它就是一个固定节点,不执行任何移动IP的功能。当它移动到外地网络时,它根据IPv6定义的地址自动配置方法获得转交地址。然后移动节点向家乡代理和通信对端发送关于转交地址的更新消息,使家乡代理和通信对端及时得到移动节点当前的网络接入点[3]。若IP网中某一节点不知道移动节点当前的转交地址,那么该节点发往移动节点的数据包要经过家乡代理转发。当移动节点收到一个从家乡代理转发来的数据包,它就向发送数据包的源节点发送转交地址更新信息,使源节点可以直接向移动节点发送数据包,而不需要再经过家乡代理的转发[3]。
根据标准的移动IPv6协议,每一个移动节点都拥有一个基于其家乡网络地址前缀的永久性IP地址,即家乡地址,它是固定不变的。相应地,其家乡网络中的特定路由器即家乡代理也是固定不变的。这样的规定便于其它主机寻找到某一个指定的移动节点,但很多情况下,这一规定是不合理的。
举一个简单的例子:由于毕业或者工作变动等原因,位于A地点的变携式计算机被移动到另一地点即B地点,并且将长期在B地点连接Internet网络。根据标准的移动IPv6协议,该计算机的家乡地址以及家乡代理都在A地点,并且是固定不变的。此时,移动节点已经远离家乡网络,远离A地点,其它主机与该移动节点之间的通信需要转交地址的绑定更新信息,这会在网络中产生大量的注册报文,造成较大的注册延时,从而降低网络性能,代价是很大的。
针对移动IPv6协议的不足,笔者提出了一种采用衰老更新机制改进移动IPv6协议的方案。改进后的移动IPv6协议工作原理是这样的:移动节点维护着一个动态缓存表,记录移动节点的本地地址,转交地址和历史转交地址信息,每一项内容如下:
当位于A地点的移动节点被移动到B地点后,它根据IPv6定义的地址自动配置方法获得一个转交地址,同时获得一个位于B地点的外地代理。然后移动节点向家乡代理和通信对端发送关于转交地址的更新消息,使家乡代理和通信对端及时得到移动节点当前的网络接入点。若IP网中某一节点不知道移动节点当前的转交地址,那么该节点发往移动节点的数据包要经过家乡代理转发。
但与传统的移动IPv6协议不同的是,移动节点需要在动态缓存表中记录“本地地址,家乡代理,累计使用时间”信息,同时记录“转交地址,外地代理,累计使用时间”信息。
需要说明的是,“累计使用时间”是指移动节点在该区域在最近一段时间内的累计使用时间,比如说,可以设定为最近1年内在该区域的累计使用时间,1年以前的使用时间则丢弃。另外,如果移动节点在同一个区域范围内移动,这时,移动节点在这一区域内的外地代理是相同的,但IP地址可能会不同。那么应连续累计计算使用时间作为移动节点位于该区域“累计使用时间”,同时将最近使用的IP作为转交地址,当移动节点离开这一区域时,把最近使用的IP作为历史转交地址记录保存。
另外需要说明的是,尽管移动互联网的基础协议也就是移动IPv6协议MIPv6-RFC3775中没有定义“外地代理”这一功能实体,但其扩展协议也就是层次移动IPv6协议HMIPv6-RFC4140定义了移动锚点(MAP)这个新的实体,有了这一新的实体,移动节点在同一“锚点”管辖区域内移动时可以不再向家乡代理注册,只需要像向“锚点”注册即可。“锚点”实际上可以看作是一个外地代理[4]。
假设移动节点位于B地点这一区域累计使用时间超过了它在家乡代理区域累计使用时间,那么,移动节点在B地点的外地代理将成为家乡代理,在B地点的转交地址将成为家乡地址;相反,移动节点原来的家乡代理将成为历史外地代理,原来的家乡地址将成为历史转交地址。同时,移动节点将会把这一更新信息通知相关节点,需要通知的相关节点包括通信对端,原来的家乡代理和当前的家乡代理。
需要强调的是,不管移动节点在B地点的外地代理是否升级成为家乡代理,正在进行的通信都不会受到影响。因为通信对端只是与移动节点的转交地址通信,假设位于B地点的外地代理升级成为家乡代理,相应的转交地址升级为家乡地址,但转交地址这一实际的IP地址值并没有发生变化,所以通信对端与移动节点的通信不受影响。另外,移动节点只有在B地点使用期间,“移动节点位于该区域累计使用时间”值才会增加,位于B地点的外地代理才有可能升级成为家乡代理。
假设移动节点被移动到B地点使用一小段时间,它在这一地点的累计使用时间并没有超过它在家乡代理区域的累计使用时间,之后它再次移动到C地点,那么它还是按照传统的移动IPv6协议获得另一个转交地址与其它节点通信。但不同的是,它位于B地点的转交地址信息将作为历史转交地址保存。
如果移动节点再次移动到其它区域,原来的转交地址信息都将作为历史转交地址信息保存。如果历史转交地址信息超过3条,那么将淘汰删除累计使用时间最少的一条历史转交地址信息,同时将对应的历史外地代理,以及移动节点位于该区域累计使用时间等信息一并删除。需要说明的是,正在使用的转交地址信息是不能被删除的,即使它的累计使用时间最少也不被删除,需要删除的仅仅限于历史转交地址信息。图1是外地代理升级为家乡代理的流程。
图1 外地代理升级为家乡代理的流程Fig.1 The process of foreign agent turning into home agent
假设移动节点在A,B,C,D,E地点移动,如图2。
图2 移动节点在A,B,C,D,E区域移动及停留时间Fig.2 MN moving in A,B,C,D,E region and its resident time
移动节点MN首先在A点接入Internet网络,并在A点停留7 200 s,那么在A点的IP地址和代理将成为家乡地址和家乡代理,分别记作IP_A和HA_A,移动节点离开A点到B点时,它在B点的IP地址和代理将成为转交地址和外地代理,其缓存表将会作如下变化,其中,“+”表示累计使用时间正在增加:
当移动节点在B点停留3 600 s后又移动到C点,它在B点的IP地址和代理将成为历史转交地址和历史外地代理,其缓存表将会作如下变化:
当移动节点在C点停留5 400 s后又移动回到B点,它在B点累计使用时间没有超过7 200 s时,其缓存表将会作如下变化:
当它在B点累计使用时间超过7 200 s时,B点的IP地址和代理将成为家乡地址和家乡代理,其缓存表将会作如下变化,其中〈0,0,0〉表示没有转交地址,即移动节点在家乡区域使用:
当它在B点使用7 200 s(累计使用10 800 s)后,再移动到D点时,其缓存表将会作如下变化:
当它在D点使用3 600 s后,再移动到E点时,其缓存表将会作如下变化:
上面分析的动态缓存表变化过程,是移动节点本地的缓存表变化过程。对于代理服务器端,只需要按照传统的移动IPv6协议工作即可。唯一不同的是,当B点的IP地址和代理将要升级成为家乡地址和家乡代理时,移动节点会向B点服务器发送升级信息,位于B点的服务器只需要把移动节点看作是新接入Internet网络的设备即可。对于原来的家乡代理,移动节点会向它发送撤消代理的信息,这时它只需要把移动节点看作是断开Internet连接即可。对于正在进行通信的对端设备,由于移动节点的IP地址值没有发生变化,所以它不受影响。
在改进后的移动IPv6协议中,每一个移动节点首次接入网络时,都拥有一个基于其本地网络地址前缀的IP地址,即家乡地址,同时获得相应的家乡代理。当移动节点移动到位于B地点的外地网络时,它会获得一个转交地址和一个外地代理。然后移动节点向家乡代理和通信对端发送关于转交地址的更新消息[5]。假设移动节点位于B地点这一区域累计使用时间超过了在家乡代理区域累计使用时间,那么,移动节点在B地点的外地代理将成为家乡代理,在B地点的转交地址将成为本地地址;原来的家乡代理将成为历史外地代理。假设网络中某一通信节点要与移动节点通信,它先检查自己缓存中是否有移动节点的家乡代理信息,如果没有,按普通寻址协议寻找移动节点,如果有移动节点的家乡代理信息,就直接向移动节点家乡代理发送信息,对方就会返回家乡代理是否有效的消息,如果有效,就按普通移动IPv6协议通信,如果没有效,就按普通寻址协议再次寻找移动节点。通信流程如图3。
图3 改进后的移动IPv6协议的通信流程Fig.3 The process of correspondence with the new MIPv6 agreement
为了比较新老2种协议对网络性能的影响,笔者配置了如下简单的网络结构模型,4个路由器Router A,Router B,Router C,Router D相互连接,每一个路由器连接一个无线收发机Access Point,每一个无线收发机旁边有两个无线上网设备wkstn,如下面仿真场景图4。
在这一网络中,位于路由器Router A区域的无线上网设备wkstn 1连接网络10 min后,被移动到路由器Router C区域,并在C区域连接网络2 h。并且假定:
1)上网设备wkstn 1在A区域连接在网络10 min内,网络中各客户机基本没有相互通信。
2)wkstn 1被移动到在C区域开始10 min内,网络中各客户机基本也没有相互通信。
3)wkstn 1被移动到在C区域10 min后,网络中所有客户机依次轮流与wkstn 1通信,并且它们相互之间没有通信,只与wkstn 1通信。
在这种情况下,按照老的协议,wkstn 1的家乡代理永远是Router A,其家乡地址是基于家乡网络Router A为前缀的IP地址,网络中所有客户机与wkstn 1通信时都首先要将数据包发往路由器Router A,然后再通过Router C转发到wkstn 1,wkstn 1收到数据包后,向发送数据包的源节点发送转交地址更新信息,使源节点可以直接向移动节点发送数据包。
而按照新的协议,wkstn 1的家乡代理开始是Router A,家乡地址开始是基于家乡网络Router A为前缀的IP地址,被移动到在C区域10 min后,其家乡代理变为Router C,家乡地址也变为基于Router C为前缀的IP地址。网络中其它客户机之前没有与wkstn 1通信,所以没有wkstn 1原来的家乡代理信息,当它们与wkstn 1通信时,会按照普通的寻址机制直接寻找wkstn 1进行通信。
很明显,老的协议会在网络中产生大量的注册报文,造成较大的注册延时,从而降低网络性能。而新的协议则避免了这些缺陷,提高了网络性能。
OPNET是最常用的网络仿真软件之一,它采用3层建模机制,分别为进程模型,节点模型和网络模型,这种建模方式和协议、设备、网络对应,可以全面反映网络的相关特性[6]。使用OPNET进行网络建模仿真大体上可以分为以下几个步骤:配置网络拓扑(topology);节点模型和进程的设计;配置业务(traffic);运行仿真(simulation);最后发布仿真报告(report)[7]。
为了对改进后的移动IPv6协议进行仿真,笔者采用与上面相同的网络结构模型,4个路由器Router A,Router B,Router C,Router D相互连接,每一个路由器连接一个无线收发机Access Point,每一个无线收发机旁边有两个无线上网设备wkstn,如图4。
图4 网络拓扑结构Fig.4 The topology of the network
在这一网络中,位于路由器Router A区域的无线上网设备wkstn 1连接网络10 min后,被移动到路由器Router C区域,并在C区域连接网络2 h。wkstn 1被移动到C区域10 min后,网络中所有客户机依次轮流与wkstn 1通信,并且它们相互之间没有通信,只与wkstn 1通信。按照老的协议,wkstn 1的家乡代理永远是Router A,但是按照新的协议,wkstn 1的家乡代理开始是Router A,被移动到路由器Router C区域10 min之后,家乡代理变更为Router C。对比这两种不同情况下的网络性能。
上面网络结构模型中,客户端wkstn节点模型采用OPNET软件现有的名为wlan_wkstn_adv的节点模型[7],如图 5。
图5 wlan_wkstn_adv节点模型Fig.5 The model of the node wlan_wkstn_adv
完成网络拓扑结构配置以及节点模型设计后,开始配置业务量和确定统计量。对于配置业务量,笔者采用的方法是在traffic选项中再选择Import conversation pairs选项进行相关参数的配置[8]。配置业务量时,让其它所有节点依次轮流与wkstn 1通信,然后观察目标客户机平均响应时间。这里所说的平均响应时间是指其它所有节点与wkstn 1通信时,wkstn 1对这些节点作出响应的平均时间。
图6是仿真结果。从图上可以看出,老协议下(上方的线)的平均响应时间在不断上升,在大约2 300 s处上升到最高,以后逐渐稳定。这是因为wkstn 1的家乡代理是Router A,其它节点与wkstn 1通信首先将数据包发送给Router A,然后Router A通过Router C将数据包转发给wkstn 1,当wkstn 1收到一个从家乡代理转发来的数据包,它就向发送数据包的源节点发送转交地址更新信息,使源节点可以直接向它发送数据包。如果对图6在2 h内的平均响应时间再求平均值,那么大约是0.007 s。
在新的协议下,网络中其它客户机一开始没有与wkstn 1通信,所以没有wkstn 1原来的家乡代理信息,当它们与wkstn 1通信时,会按照普通的寻址机制直接寻找wkstn 1进行通信。所以wkstn 1对其它节点的平均响应时间一直维持在0.003 s左右。由此可见,采用新的协议时,wkstn 1对其它节点的平均响应时间要比采用老协议快0.004 s。
图6 目标客户机平均响应时间Fig.6 Average of client object response time
针对移动IPv6协议的不足,提出了一种采用衰老更新机制改进移动IPv6协议的方案,并对新的方案进行了仿真,仿真结果表明,采用新协议时,网络性能得到明显提高,以目标客户机平均响应时间为例,采用老协议时,平均响应时间为0.007 s,而采用新协议时,平均响应时间为0.003 s。但这只是理论分析的结果,实际上,要真正实现这一新的协议,还有许多问题需要解决,包括在IPv6实验网中进行程序设计实现新协议,以及移动设备对新协议的支持和兼容等,同时,还需要IETF组织采纳笔者提出的新观点,修改移动IPv6标准。
[1]杨文超,贾世楼.改善层次化MAP的移动IP切换时延的方法[J].北京邮电大学学报,2007,30(2):127-131.YANG Wen-chao,JIA Shi-lou.IP handover time-delay improving based on hierarchical MAP[J].Journal of Beijing University of Posts and Telecommunications,2007,30(2):127-131.
[2]胡晓,宋俊德,宋梅.分级移动IPv6中一种新的自适应MAP选择算法[J].计算机应用研究,2006(10):229-231.HU Xiao,SONG Jun-de,SONG Mei.Novel adaptive MAP selection algorithm for hierarchical mobile IPv6[J].Application Research of Computers,2006(10):229-231.
[3]周华春,张宏科,秦雅娟.基于网络的区域移动性管理协议性能分析[J].北京交通大学学报,2007,31(5):1-5,10.ZHOU Hua-chun,ZHANG Hong-ke,QIN Ya-juan.Performance analysis of protocol for network-based localized mobility management[J].Journal of Beijing Jiaotong University,2007,31(5):1-5,10.
[4]孙飞燕,张朝阳,仇佩亮.HFC接入网络MAC层随机访问机制静态特性及动态稳定性分析[J].电路与系统学报,2003,8(2):33-38.SUN Fei-yan,ZHANG Chao-yang ,QIU Pei-liang.Static features and dynamic stability analysis of HFC access network MAC random access mechanism[J].Journal of Circuits and Systems,2003,8(2):33-38.
[5]侯惠峰,刘湘雯,于宏毅,等.无线传感器网络与IPv6网络的互联方式研究[J].电信科学,2006,22(6):56-62.HOU Hui-feng,LIU Xiang-wen,YU Hong-yi,et al.Research on strategies for interconnecting wireless sensor networks with IPv6 network[J].Telecommunications Science,2006,22(6):56-62.
[6]管明祥,郭庆,李陆.基于临近空间通信网络混合业务的MAC协议[J].华南理工大学学报:自然科学版,2008,36(5):65-69.GUAN Ming-xiang,GUO Qing,LI Lu.MAC protocol for mixed services in near-space communication network[J].Journal of South China University of Technology:Natural Science,2008,36(5):65-69.
[7]何翼.智能交通灯控制系统设计与仿真[J].重庆交通大学学报:自然科学版,2010,29(5):763-767.HE Yi.Design and emulation of intelligent traffic light control system[J].Journal of Chongqing Jiaotong University:Natural Science,2010,29(5):763-767.
[8]於时才,朱宏涛,宋健,等.HMIPv6中MAP发现协议的研究与改进[J].计算机应用,2006,26(1):5-7.YU Shi-cai,ZHU Hong-tao,SONG Jian,et al.Study and improvement of MAP discovery protocol in HMIPv6[J].Journal of Computer Applications,2006,6(1):5-7.