基于OMNeT++的AODV-UU、DSR-UU和DYMOUM路由协议性能仿真与分析

2013-12-22 12:21王文涛
关键词:包率路由时延

王文涛,王 豪,郭 峰,郑 芳

(中南民族大学 计算机科学学院,武汉430074)

移动无线自组网[1](MANET)由一组无线移动节点组成,是一种不需要依靠现有固定通信网络基础设施就能够迅速展开使用的网络体系,所需人工干预最少,是没有任何中心实体、自组织、自愈的网络.MANET网络是对有线网络的补充和扩展,也是未来一种主要的网络接入方式.由于其组网灵活、易于扩展,当前发展十分迅猛.目前对于MANET网络的研究主要集中在传输方式、组网方式和应用层上,其中在组网方式的研究上,路由协议的研究是个热门领域.MANET路由协议从拓扑方式来分,主要分为先验式(proactive)路由协议和反应式(reactive)路由协议[2].在文献研究方面,传统的反应式MANET经典路由协议DSDV[3]、DSR[4]和AODV[5]的性能比较研究已经完成.文献[6]在NS2仿真环境下阐述了AODV、DSR和DYMO协议的工作原理,文中采用平均时延、平均跳数、包传递率和路由负载4个参数比较了这3种反应式路由协议,实验结果表明DYMO协议在平均时延和平均跳数上优于AODV和DSR路由协议,但在包传递率和路由负载上其性能低于AODV和DSR路由协议.文献[7]比较了DSDV、AODV和DSR的数据包分组投递率、平均端到端时延和路由负载,指出先验式和反应式路由协议分别适用于何种网络环境,文献[8]虽然提出了用于嵌入式和多种平台的AODV-UU协议,但是并没有和同样用于嵌入式平台的DSR-UU和DYMOUM路由协议进行比较分析.目前的研究主要集中在经典反应式路由协议的性能仿真比较分析,在和硬件结合的嵌入式方面的改进协议如AODV-UU、DSR-UU和DYMOUM则没有进行相应的仿真比较分析.本文的主要贡献是,采用OMNeT++网络仿真工具,在不同的节点数目和移动速度情况下,对这3种协议的分组投递率、端到端时延和路由发现频率3个指标进行分析比较,为嵌入式Linux环境下反应式MANET路由协议的横向比较提供参考.

1 协议简介

1.1 AODV-UU

AODV-UU[8]路由协议是由瑞典乌普萨拉大学(Uppsala University)和爱立信公司联合发布的一种Ad Hoc网络路由协议.AODV-UU路由协议是AODV路由协议在嵌入式Linux系统上的实现,同时又对AODV协议草案增加了其他功能.例如Hello消息增加了单向链路检测和冲突避免.由于AODV路由协议MAC层采用802.11DCF标准,802.11DCF中的广播信息传输速度要低于单播,并且传输范围大于单播,因此,当单播信息失败后,节点还可能认为链路是活动的,这样就会引起报文错误率增加.AODV-UU同样遵循RFC3561[9]路由协议标准,并且在平均端到端时延和路由开销方面的性能要优于AODV和AOMDV协议[10].AODV-UU是基于Netfilter框架实现的,AODV-UU至今仍在更新,AODV-UU主要包括路由发现和路由维护两部分.路由发现:当Netfilter从端口捕获输入或者输出报文后,检查报文当中的目的地址是否在当前路由表中,如果在,将报文放行,否则将报文放到缓存队列中,然后向用户层的守护进程发送路由查找消息,如果找到有效路由表则通知缓存模块,缓存模块将含有目的地址的报文重发,在定时器时间内如果没有找到有效路由,此报文将被丢弃.路由维护:AODV-UU使用内核交互的方式更新内核路由表,AODV-UU的内核模块使用Netfilter钩子来决定包是到来的还是出去的,并且决定它应该被接收还是转发,投递到Netfilter钩子上的IP数据包会被捕获并可以通过添加自定义代码进行修改.

1.2 DSR-UU

DSR-UU[11]是比较经典的按需路由协议的原型,DSR-UU主要由路由寻找和路由维护两种机制组成.

路由寻找:当某个源节点S产生一个新分组需要传输给目的节点时,S就在该分组的分组头中添加一条源路由,从而给出沿着该条源路由转发该分组至目的节点D的转发跳序列.通常情况下,S通过搜索其路由存储器(Route Cache)就能够找到一条合适的源路由,路由存储器用于存储其以前获得的路由.如果S在其路由存储器中没有找到任何可用路由,那么S初始化路由寻找协议来动态地寻找一条到达D的新路由,并把源节点S和目的节点D分别称为该路由寻找的发起节点和目标节点.

路由维护:当使用一条源路由产生或者转发一个分组的时候,发送该分组的每个节点都要负责证实该分组能够通过本节点到达该条源路由下一跳节点的链.如图1,节点A使用一条经过中间节点B、C、D的源路由为节点E产生一个分组.节点C经过若干次确认请求之后仍然没有接收到节点D的确认,则认为从其到节点D的链已经中断,并且给节点A以及所有中间节点回送一个路由错误:自C接收到D的最后一个确认以来,这些节点可能已经使用从C到D的链.节点A接收到错误路由后,从其路由存储器中删除中断链;如果需要重传,分组的重传由上层协议(如TCP)执行.

图1 DSR-UU路由维护

1.3 DYMOUM

DYMOUM[12]并不是AODV-UU协议的扩展,而是将AODV-UU的序列号、跳数计数和RERR保留,并加入DSR-UU的源路径积累思想,DYMOUM主要也是由路由发现和路由维护两个机制组成.

路由发现:DYMOUM的路由发现机制和DSR-UU的路由发现机制类似,当一个节点需要通信时,创建一个到目的节点的路由.当源节点要和目的节点通信时,源节点广播RREQ包,直到目的节点收到RREQ包,目的节点返回给源节点RREP包建立反向路由.

路由维护:与DSR-UU相比,DYMO - UM发现断路后会通知全网中使用该断裂链路的节点,但没有在传输数据的时候采用源路由,而是仅仅在路由发现过程中,使用路由控制包携带更多路由信息,没有沿用DSR-UU在数据包中携带源路由的做法.

2 仿真实验

2.1 仿真场景

实验采用OMNeT++作为仿真工具,OMNeT++是面向对象的离散事件网络仿真工具,它使用C++编程,支持OSI七层网络结构,与NS-2、OPNET等网络仿真软件相比,OMNeT++能够运行于多个操作系统平台,能够把网络拓扑和节点定义模块化,大大提高了仿真效率.协议采用inetmanet-2.0包里面的grid_aodv协议,仿真场景分别是AODV-UU、DSR-UU和DYMOUM.仿真的运动场景是:每个移动节点在2000×1000m的矩形区域不停地随机运动(运动模型是MassMobility),仿真时间设置为100s.仿真的消息长度是512 Byte,应用层开始发送UDP包的时间服从uniform(1s,60s,1)均匀分布,延时限制为20s,目的节点随机生成.仿真时采用的业务场景见表1.

表1 业务场景

仿真的信道参数见表2.信道频率是2.4GHz,最大发送功率2.0mW,路径损耗系数是2,信道数量是1,Mac层协议选取的是802.11.

表2 信道参数

2.2 仿真步骤

用OMNeT++进行仿真的流程如下:

(1)一个OMNeT++模型是通过交换信息来通讯的组件(模块)来构建的.模块可以嵌套,也就是说,几个模块可以组成一个复合模块.在创建模型时,需要将系统映射到一个相互通讯的模块体系中;

(2)用NED语言定义模型的结构.可以在OMNeT++提供的IDE中以文本或图形化方式来编辑NED文件;

(3)模型的活动组件(简单模块)需要用C++来编程,当中要使用仿真内核及类库;

(4)提供一个拥有配置和参数的omnetpp.ini文件给模型,一个配置文件可以用不同的参数来描述若干个仿真过程;

(5)构建仿真程序并运行.可以将代码链接到OMNeT++的仿真内核及其提供的一个用户接口:命令行和交互式接口或图形化接口;

(6)将仿真结果写入输出向量和输出标量文件中,使用IDE中提供的分析工具来进行可视化.结果文件是普通的文本,所以能用R、MATLAB或其它工具来进行绘图.

仿真流程图如图2.得到*.vec矢量文件之后,我们用MATLAB软件进行绘图.

2.3 仿真结果及分析

我们选择了以下在Ad Hoc网络中评估网络性能的指标:

(1)平均端到端时延:数据分组从源节点到目的节点所需要的平均时间,包括路由发现时延、数据包在队列中的等待时间、传输时延以及MAC层的重传时延,反映路由有效性.

(2)丢包率:应用层收到的丢失分组数与发送的分组数之比,反映路由可靠性.

(3)路由发现频率:每个节点传输数据量.反映路由传输错误率和网络竞争水平.

图2 仿真流程图

仿真共使用7种不同的节点运动速度:0,50,100,150,200,250,300 m/s,根据节点运动速度的不同,网络拓扑变化剧烈程度不同.我们取50个或者100个节点的平均值,用MATLAB工具绘制仿真结果图.AODV-UU、DSR-UU和DYMOUM在50个节点和100个节点的平均端到端时延、丢包率、路由发现频率,分别如图3~5所示.

图3 平均端到端时延与节点移动速度仿真结果图

图4 丢包率与节点移动速度仿真结果图

图5 路由发现频率与节点移动速度仿真结果图

平均端到端时延:由图3可知,DYMOUM协议的平均端到端时延优于AODV-UU和DSR-UU协议,主要是DYMOUM协议使用了路径积累,更能有效发现路由,此外,DYMOUM的路由维持效率比AODV-UU和DSR-UU高.从图3中还可以看出,AODV-UU的时延在节点移动速度为100m/s时到达一个峰值,DSR-UU时延在节点移动速度为50m/s时到达一个峰值,而DYMOUM表现比较稳定,随着节点移动速度的增加,3个协议的时延都出现增长,这是因为节点移动速度越快,拓扑变化越剧烈,路由重建次数就越多,时延就会升高.

丢包率:从图4可以看出,在50个节点的情况下,节点移动速度较低时,DYMOUM丢包率较低,表现较好,而且整体表现较为平稳,但是当节点速度较高时,DYMOUM和AODVUU丢包率接近,均大于DSRUU的丢包率;在100个节点的情况下,DYMOUM的丢包率比AODVUU和DSRUU要高出很多,AODVUU和DSRUU的丢包率基本接近.因此,在节点较少的情况下,3个协议的丢包率基本一致,在节点较多时,DYMOUM的丢包率急剧上升,这是因为DYMOUM只对基本的路由维护作出规定,并没有说明路由维护是采用传统的Hello包维护机制、链路检测反馈机制还是像AOMDV的多路径维护机制.

路由发现频率:在路由发现频率上,DYMOUM的表现明显要优于AODVUU和DSRUU,不过DSR由于其源路径累积思想,在路径基本建立完成之后,路由发现频率趋于稳定.

由以上仿真结果及性能分析可知,DYMOUM的平均端到端时延和路由发现频率优于AODVUU和DSRUU协议.当节点数目较少时,DYMOUM协议的丢包率略高于AODVUU和DSRUU协议,三者差别并不大;当节点数目较多时,DYMOUM协议的丢包率明显高于AODVUU和DSRUU协议.因此,DYMOUM协议适用于对时延和开销要求较高的网络,而AODVUU和DSRUU适合对丢包率要求较高的网络.在节点数目较大时,AODVUU和DSRUU的丢包率基本一致,DYMOUM的丢包率明显不如AODVUU和DSRUU,这是因为DYMOUM并没有规定链路维护部分的明确规定,因此在保持链路完整性方面不如AODVUU和DSRUU,但在路由发现频率方面性能却提高了很多,这是因为DYMOUM无法探测链路完整性,因而也就无法感知链路中断,因此在源节点路由发现频率方面性能有所提高.

3 结语

本文利用OMNeT++网络仿真软件,选取平均端到端时延、丢包率和路由发现频率3个指标对嵌入式MATNET网络协议AODVUU、DSRUU和DYMOUM进行仿真和性能分析.实验结果表明,DYMOUM协议适用于对时延和开销要求较高的网络,而AODVUU和DSRUU适合对丢包率要求较高的网络.同时,针对DYMOUM草案在路由维护方面没有做出明确的规定,导致丢包率低下的问题,我们可以从几个方面来改进:对于MAC层,我们考虑从链路断裂感知方面来改进;对于路由层,可以借鉴AOMDV的多路径方法进行改进,也可以从延时容忍方向进行改进;对于应用层,可以从服务质量QoS方面进行改进,来提高DYMOUM协议特定环境下的性能.

[1] 陈林星,曾 曦,曹 毅. 移动Ad Hoc网络[M]. 北京:电子工业出版社,2012:4.

[2] 于海宁,张宏莉. VANETs路由协议的研究进展[J]. 电子学报,2011,39(12):2868-2879.

[3] Perkins C,Bhagwat P. Highly dynamic Destination-Sequenced Distance-Vector routing (DSDV) for mobile computers[C]//IEEE. Proceedings of the conference on Communications architectures,protocols and applications. New York: IEEE,1994: 234-244.

[4] Johnson D,Maltz D,Broch J. DSR: The dynamic source routing protocol for multi-hop wireless Ad Hoc networks[C]//IEEE. Ad Hoc Networking,Perkins C E ,Ed. Addison-Wesley. New York:IEEE,2001: 139-172.

[5] Perkins C,Royer E. Ad Hoc on-demand distance vector routing[J]. IEEE Workshop on Mobile Computing Systems and Applications (WMCSA),1999(8):192-196.

[6] 颜兴建,赵东风,洪 伟,等. Ad Hoc DYMO路由协议性能研究[J]. 云南大学学报: 自然科学版,2009,31(6): 580-583.

[7] Khandakar A. Step by step procedural comparison of DSR,AODV and DSDV routing protocol[C]//IEEE. ICCET. Orlando:IEEE,2012: 36-40.

[8] Mubarik A,Khan A,Hassan S. Implementation of geocast enhanced AODV-UU in Linux testbed[J]. Computer and Information Science,2009(174): 803-807.

[9] Perkins C,Royer E,Das S. Ad Hoc On-Demand Distance Vector (AODV) routing[J]. IETF Network Working Group,2003(8): 49-86.

[10] Gowrishankar S,SubirKumarSarkar T,Basavaraju T. Performance analysis of AODV,AODVUU,AOMDV and RAODV over IEEE 802.15.4 in wireless sensor networks [J]. Computer Science and Information Technology,2009(11): 59-63.

[11] Lorincz J,Ukic N,Begusic D. Throughput comparison of AODV-UU and DSR-UU protocol implementations in multi-hop static environments[C]//ACM.ConTel. Washington D C: ACM,2007:195-202.

[12] Miao Quanxing ,Xu Lei. DYMO routing protocol research and simulation based on NS2[J]. Computer Application and System Modeling,2010(14): 46-55.

猜你喜欢
包率路由时延
支持向量机的船舶网络丢包率预测数学模型
一种基于喷泉码的异构网络发包算法*
电磁线叠包率控制工艺研究
5G承载网部署满足uRLLC业务时延要求的研究
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
基于GCC-nearest时延估计的室内声源定位
路由重分发时需要考虑的问题
IEEE 802.15.4协议无线传感器网络干扰测试∗