王苏勇,刘彦明(.解放军93886部队,乌鲁木齐 830005;.西安电子科技大学通信工程学院,西安 7007)
基于NS2的MIPv6协议RRP仿真研究
王苏勇1,刘彦明2
(1.解放军93886部队,乌鲁木齐 830005;2.西安电子科技大学通信工程学院,西安 710071)
MIPv6(Mobile IPv6)是基于IPv6移动互联网的基本支持协议,为了保证MN(Mobile Node)与CN(Corre鄄spondent Node)通信时的正常及安全,MIPv6添加了返回路由可达过程 (Return Routability Procedure,简称RRP),CN通过RRP来确定是否能够使用MN的转交地址和家乡地址访问MN。如果RRP建立失败,CN将不能接受MN的绑定更新,也不能直接发送分组到移动节点的转交地址。RRP通过两对消息(HoTI和HoT,CoTI和CoT)分别测试目的地址是家乡地址和转交地址的分组能否到达MN,并据此决定是否可以接收来自MN的绑定。
网络仿真是研究网络协议的有力工具。NS2是目前常用的网络仿真软件,它实现了很多网络协议的仿真,但其官方版本并不支持对MIPv6协议仿真。2001 年Thierry Ernst根据“draft-ietf-mobileip-ipv6-11.txt”,发布了Mobiwan补丁程序对NS2进行扩展,通过该补丁可以利用NS2仿真研究MIPv6协议。
不过现在的MIPv6协议[1](RFC6275)是2011改进的,和最初版本相比改动很大。因此,Mobiwan不能完全仿真RFC6275所规定的协议。武汉大学高科技研究与发展中心扩展了Mobiwan来完善对MIPv6的仿真,但是对MIPv6的RRP仿真仍存在着一些问题,例如MN从一个外地网络切换到另一个外地网络时RRP经过几次才能建立成功。笔者在此基础上进行了改进,改进后能够正常完成RRP,符合MIPv6协议。
1.1Mobiwan 中的CN和MN结构
在NS2中,当节点收到一个数据包后,分类器会检查它的域,通常是它的目的地址或者源地址,NS2中的节点使用了多种不同类型和作用的分类器[2]。经武汉大学扩展后的Mobiwan节点结构图如图1和图2所示,当CN发送数据包时它首先会经过bache_clsfr分类器检查绑定缓存,判断目的地址是否与本节点建立了路由优化注册绑定:若是已经路由优化绑定,CN会由src_clsfr分类器将数据包引向src_rt模块,将数据包添加第二类路由扩展头后将数据包发向MN的转交地址。否则,CN会将数据包发到MN的家乡地址。
MN中的bache_at_home和bache_roaming分类器分别为其在家乡和漫游时使用,dst_hdr模块用于处理“家乡地址目的地选项扩展头”。若是发送的数据包,dst_hdr会把家乡地址登记在该扩展头中家乡地址选项,并用转交地址替换IP报头中的目的地址;若是接收的数据包,dst_hdr会用登记在家乡地址选项中的家乡地址来替换IP报头中的目的地址。
图1 CN的结构图
1.2Mobiwan 中的RRP工作机制
当节点发送数据包时先经过bache_clsfr分类器来检查绑定缓存,如果其中有要发送数据包的目的地址绑定关系,则将其引入到sr_clsfr,否则直接传送到clas鄄sifier_hier。当MN发生切换时,MN向CN发送HoTI(家乡测试初始消息),当CN收到HoTI后将回复HoT(家乡测试消息)[3]。HoT的源地址是CN的地址,目的地址是MN的家乡地址,但是由于其发送的数据包首先经过bache_clsfr,但此时旧的绑定关系还未过期,在绑定缓存中登记的是MN的旧转交地址,这样会将数据包引入到sr_clsfr,经过src_rt模块后,目的地址会被替换为MN的旧的转交地址。如果这样发送HoT,因为此时MN已经发生切换,转交地址已然改变,它自然收不到由CN发来的HoT,导致RRP过程失败,然后重复进行RRP,直至原先的绑定关系过期[4-5]。
从家乡网络切换到外地后,由于之前CN的绑定缓存中已不存在MN的家乡地址与转交地址绑定关系,也就不会出现上述情况。同样,在MN与MN间的RRP中有类似问题[6]。
事实上,当CN向MN回复HoT时,经过bache_clsfr后不应引向src_clsfr分类器,或者不要经过src_rt模块处理,而是应该直接送到classifier_hier分类器,这样才算合理。
根据上述对Mobiwan中的RRP机制分析,修改了CN和MN的接收函数以实现正确的RRP机制。
2.1CN和MN之间的RRP仿真改进
修改mipv6.cc中的MIPv6Agent(CN、MN、BS等节点的基类),使当CN向MN回复HoT时,经过bache_clsfr后不引向src_clsfr,而是直接到classifier_hi鄄er,在MIPv6Agent中添加如下c++代码:
图2 MN的结构图
其中tcl.evalf("%s clear-reg%d",name_,entry-> haddr)是在c++中引用tcl函数来处理,名义上为清除缓存中的绑定,实际上是改变此绑定中的分类器指向,当经过bache_clsfr后不引向src_clsf。这样处理后,CN 向MN发送HoTI只需经一次RRP就可以成功。
2.2MN和MN之间的RRP机制仿真改进
上述CN的修改没有在CN的接收函数中改动是因为CN的接收函数继承自基类,它没有定义自己的接收函数。但对于MN来说,有着自己的接收函数,并且MN牵扯到很多分类器,直接按上述CN的处理方式的话会很容易改变原先的机制,因此要在MNAgent的接收函数中处理,故使用了下面处理方法:
当缓存中绑定关系的生存时间设为0后,MN中有entry->expire()
图4 改进前CN到MN1数据包延迟
3.1仿真场景介绍
如图3所示,仿真场景拓扑范围是1600×800,各节点坐标已标示。MN1的家乡代理是BS1,MN2的家乡代理是BS8,两移动节点初始位置在各自家乡代理附近,然后MN1移动到BS2附近,再然后向BS4附近移动,同时MN2移动到BS5附近,仿真时间共100s。设置了两个通信过程:CN和MN2分别向MN1发送基于UDP协议的恒定比特流数据包,两个通信过程均是从第10s开始,到100s结束。
3.2仿真结果分析
图3 MIPv6仿真拓扑图
图5 改进后CN到MN1数据包延迟
图6 改进前MN2到MN1数据包延迟
根据仿真的结果画出了改进前后MN1接收数据包延迟图。首先看CN到MN1的数据包延迟,图4和图5所画第一次切换(图中中断处)是MN1从家乡网络切换到BS2所属外地网络;第二次切换是MN1从BS2所属外地网络切换到BS4所属外地网络。可以看到:改进前第一次切换时间大约有1s,在正常范围内,第二次切换切换时间则长达8s左右,明显不合实际情况。而改进后的第二次切换由于多了路由优化时间,和第一次切换相比略微延长,也在1s左右,属正常范围。
MN2到MN1的数据包延迟如图6和图7所示:第一次切换是由于MN1由其家乡网络切换到BS2所属外地网络;第二次切换是MN2由其家乡网络切换到BS5所属外地网络;第三次切换是MN1由BS2所属外地网络切换到BS4所属外地网络。同样可以看到改进前后前两次切换均正常,但改进前第三次切换时间也长达8s左右,不合实际情况,而改进后的第三次切换时间则有1s左右,在正常范围之内。
图7 改进后MN2到MN1数据包延迟
网络仿真是网络研究部署不可或缺的重要环节,当前MIPv6中MN和MN之间的RRP仿真研究很少,MIPv6中的RRP机制可以保障MN和CN,以及MN和MN之间通信时的安全,因此,MIPv6的RRP仿真实现和改进具有重要意义。本文通过分别在MIPv6Agent和MNAgent的接收函数中收到HoTI后增加相应的判断处理过程,从而巧妙地改变节点中分类器的指向,改进了MIPv6的RRP仿真。经验证改进后的Mobwian能够正确的仿真出RRP,对MIPv6的研究工作具有重要意义。
[1]C.Perkins,D.Johnson,J.Arkko.Mobility Support in IPv6,IETF RFC6275[S],2011.
[2]Thierry Ernst.MobiWan:A NS-2.1b6 Simulation Platform for Mobile IPv6 in Wide Area Networks[EB/OL].http://www.inrialpes.fr/planete/mobiwan/,2001-6-1.
[3]秦冀,姜雪松.移动IP技术与NS-2模拟[M].北京:机械工业出版社,2006:291-300.
[4]Teerawat Issariyakul.Introduction to Network Simulator NS2[M].Springer,2011:10-109.
[5]于斌,孙斌,温暖,王绘丽,陈江锋.NS2与网络模拟[M].北京:人民邮电出版社,2007:70-108.
[6]Ruoshan Kong,Huaibei Zhou.Extensions to Mobiwan According to RFC 3775 Based on NS2[S].2007 International Symposium on Computer Science and Technology(ISCST 2007),May 2007:998-1001。
Return Routability Procedure;NS2;Mobiwan;Simulation
Research on the Simulations for RRP of MIPv6 Based on NS2
WANG Su-yong1,Liu Yan-ming2
(1.The 93886 Troops of the PLA,Urumqi830005;2.School of Communication Engineering,Xidian University,Xi'an 710071)
1007-1423(2016)06-0025-05
10.3969/j.issn.1007-1423.2016.06.006
王苏勇(1983-),男,山东济宁人,硕士研究生,研究方向为通信系统与网络仿真
2015-12-25
2016-02-15
网络仿真是研究网络技术的有效途径。为了正确仿真MIPv6协议的返回路由可达过程,对Mobiwan补丁进行改进。首先研究返回路由可达过程在NS2中的仿真机制,通过修改其中处理接收数据包的函数,对返回路由可达过程的仿真进行改进。通过此改进方案,使NS2能够正确仿真通信对端和移动节点以及移动节点和移动节点之间的返回路由可达过程。最后通过搭建仿真场景,对改进方案进行验证。
返回路由可达过程;NS2;Mobiwan;仿真
刘彦明(1966-),男,陕西绥德人,博士,教授,研究方向为空间测控通信与网络、嵌入式系统
Network simulation is an effective way to research network technology.In order to simulate RRP of MIPv6,makes improvement of the patch named Mobiwan.At first studies the simulation mechanisms of Return Routability Procedure on NS2.Through changing the function which dealing with the received packets,improves the simulation of Return Routability Procedure.By the improved proposals,the NS2 can simulate the Return Routability Procedure between the Correspondent Node and the Mobile Node correctly,as well as between the Mobile Node and the Mobile Node.At last,verifies the improved proposals by constructing the simulation scenes.