AODV过程的OPNET仿真实现与研究Word格式文档下载.doc
《AODV过程的OPNET仿真实现与研究Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《AODV过程的OPNET仿真实现与研究Word格式文档下载.doc(23页珍藏版)》请在冰点文库上搜索。
Abstract:
MANET(MobileAdHocWirelessNetwork),akindofmulti-hopwirelessnetwork,composedofmobilenodesthatcommunicatingwitheachotherthroughwirelesslinks.Adhocnetworkisaself-organizingnetwork,itstopologyisalwayschanging.AdhocOndemandDistanceVectorRouting(AODV)isanimprovementonDSDV.UsingtheOPNETnetworksimulator,andanalyzedtheperformanceofAODVunderdifferentsimulatedscenesfromaspectsas:
packetdeliveryratio,end-to-enddelay,routingcost.Fromthedetailedsimulationresultsandanalysis,wecanknowhowitworksandtheperformanceofAODV.
Keywords:
AdhocnetworkOPNETAODVPacketratesubmittedAverageDelayRoutingprotocoloverhead
0.引言
近年来,网络技术尤其是无线网络技术得到了快速发展.为此,研究人员开发了许多新的网络通信协议.网络仿真技术是研究新的网络通信协议的有效工具.可用于无线网络仿真的软件主要有ML3公司的OPNET和免费软件NS-2等.
1.网络仿真软件OPNET
1.1网络仿真背景以及OPNET简介
近年来,由于网络日趋复杂、网络规模日趋庞大,网络仿真技术应用于网络规划和设计的需求日渐强烈。
网络仿真技术是一种通过建立网络设备、链路和协议模型,并模拟网络流量的传输,从而获取网络设计或优化所需要的网络性能数据的仿真技术。
从应用的角度上看,网络仿真技术有以下特点:
(1)全新的模拟实验机理,使其具有在高度复杂的网络环境下得到高可信度结果的特点。
网络仿真的预测功能是其他任何方法都无法比拟的;
(2)使用范围广,既可以用于现有网络的优化和扩容,也可以用于新网络的设计,而且特别适用于大中型网络的设计和优化;
(3)初期应用成本不高,而且建好的网络模型可以延续使用,后期投资还会不断下降。
我国网络仿真虽然起步较晚,但是网络的迅猛发展必将强劲地拉动网络仿真技术的研究和应用。
未来数年将是网络仿真技术蓬勃发展的时期,今后网络仿真必将成为数据网络规划设计不可缺少的环节。
如何有效逼真地对复杂的通信系统进行建模仿真是个富有挑战性的课题,网络仿真的种种困难随着OPNET网络仿真工具的诞生迎刃而解,而OPNET是目前网络仿真工具中的很好的一个,但是由于操作复杂,使用者一般需要半年或以上时间的培训和自行研究才能熟练地掌握。
OPNET最早是在1986年由麻省理工大学的两个博士创建的,并发现网络模拟非常有价值,因此于1987年建立了商业化的OPNET。
目前共有大概2700个OPNET用户,包括企业、网络运营商、仪器配备厂商,以及军事、教育、银行、保险等领域。
OPNET近几年赢得的大量奖项是对其在网络仿真中所采用的精确模拟方式及其呈现结果的充分肯定。
在设备制造领域,企业界如Cisco,运营商如AT&
T,采用OPNET做各种各样的模拟和调试。
在国防领域,主要被美国广泛采用,其他国家大多低调处理。
在OPNET各种产品中,Modeler几乎包含其他产品的功能,针对不同的领域,它表现出不同的用途:
(1)对于企业网的模拟,Modeler调用已经建好的标准模型组网。
在某些业务达不到服务质量要求的情下,如网上交易、数据库等业务响应时间慢于正常情况,Modeler捕捉重要的流量进行分析,从业务、网络、服务器三方面找出瓶颈;
(2)对于比企业网更复杂的运营商(ISP)网的模拟,Modeler焦点放在整个业务层、流量的模拟,使运营商有效查出业务配置中产生的错误,例如有哪个服务器配置不好,让黑客容易进攻,有哪些业务的参数配置不合适等情形;
(3)针对研发的需求,Modeler提供了一个开放的环境,使用户能够建立新的协议和配备,并且能够将细节定义并模拟出来
1.2OPNET的结构和原理
OPNET软件包主要由三个模块组成:
●ItDecisionGuru适合最终用户,它只有仿真、分析功能。
●Modeler在ItDecisionGuru基础上增加了建库功能。
●Modeler/radio在Modeler上又增加了对移动通信和卫星通信的支持。
ITDecisionGuru、Modeler、Modeler/Radio,这三个模块并非相互独立,而是层层嵌套的,采用同一用户界面。
OPNET有以下几个特点:
(1)OPNET采用阶层性的模拟方式,分三层机制建模.最底层为进程模型,描述了构成节点模型的进程,利用有限状态机来设计;
其次为节点模型,描述了构成网络拓扑的节点,因而每一类节点有相应的节点模型;
最上层为网络模型,构成了网络拓扑结构.
(2)基于事件出发的有限状态机建模,采用离散事件驱动的模拟机理.
(3)基于包的通信,通过包的字段来体现通信协议
(4)丰富的统计量收集和分析功能.
2.ADHOC网络。
移动自组网(移动AdHoc网络———MobileAdHocNetworks)是指一种带有无线收发装置的移动节点组成的一个多跳的临时性的自组织网络,也称自组网。
不依赖任何已有的网络基础设施或集中的管理控制中心。
网络中节点动态变化且任意分布,节点间通过无线方式互联,节点既是通信的主体又充当路由器的角色。
移动自组网的研究源于早期美国的军事通信,用来满足战场,救灾等不可能存在固定通信基础设施环境下进行通信的需要。
由于AdHoc网络的多跳特性,传统的基于In2ternet的路由协议无法适应拓扑结构快速变化的需要。
此外,路由协议还应考虑AdHoc网络的低带宽和高误码特性以及低能耗要求等特点,所以需要设计适用于AdHoc网络的路由协议。
目前的AdHoc网络路由协议可以分为反应式路由协议和先应式路由协议两类。
其中,AdHoc按需距离向量协议(AODV)和动态源路由协议(DSR)是两种被广泛研究的反应式路由协议。
在这种环境中,由于节点的无线通信覆盖范围的有限性,两个无法直接通信的移动节点可以借助其他节点分组转发进行数据通信。
与其他移动通信网络相比,它不需要任何基础设施,具有网络自组性、动态变化的网络拓扑结构等特点。
与单跳的无线网络不同,Adhoe网络节点之间是通过多跳数据转发机制进行数据交换,需要路由协议进行分组转发决策。
无线信道变化的不规则性,节点的移动、加入、退出等都会引起网络拓扑结构的动态变化。
路由协议的作用就是在这种环境中,监控网络拓扑结构变化,交换路由信息,定位目的节点位置,产生、维护和选择路由,并根据选择的路由转发数据,提供网络的连通性。
它是移动节点互相通信的基础,因此成为当前Adhoc网络体系结构中的研究热点。
Adhoc网络的特性为路由协议的设计提供了新的问题和挑战,主要有以下几点。
(1)动态变化的网络拓扑结构。
动态变化的拓扑结构是Adhoc网络最显著特点。
在自组网中直接运行常规路由协议,当拓扑结构变化后,常规路由协议需要花费很长的时间和较大的代价才能到达收敛状态。
(2)有限的电源能量。
移动终端在带来移动性、灵巧、轻便等好处的同时,其固有的特性,例如采用电池一类可耗尽能源提供电源,因此需要考虑如何节省能源等。
(3)无中心移动终端的局限性。
内存小,CPU性能较低等,要求路由算法简单有效,实现的程序代码短小精悍等。
(4)有限的无线传输带宽。
由于无线信道本身的物理特征,它所能提供的网络带宽相对有线信道要低得多。
此外,考虑到竞争共享无线信道产生的碰撞、信号衰减、噪音干扰、信道间干扰等多种因素,节点可得到的实际带宽是远远小于理论上的最大带宽值。
.
现有的AdHoc路由协议可以分为两种,一种是预先路由协议,另一种是按需路由协议。
2.1预先路由协议
预先路由协议也被称为表驱动路由协议,在此路由协议中,节点通过周期性的广播路由信息分组来交换路由信息,维持更新路由。
同时,每个节点中维持有一张路由表以存储网络中达到其它所有节点的路由信息。
当节点需要发送数据分组的时候,可以根据路由信息立刻找到合适的路由,分组延迟小。
但为了使路由更新能紧随网络拓扑的变化,则需要花费较大的开销,在某些情况下,路由协议会始终处于不收敛的状态。
DSDV(Destination-SequencedDistanceVector,目的序列距离向量协议)是表驱动路由协议的一种,该协议通过给每个路由分组设定序列号避免了路由环路的产生,采用时间驱动和事件驱动技术控制路由表的传送。
每个节点周期性地将本地路由表传送给邻近地节点,当路由表变换的时候,也会将路由信息传送给邻近节点;
邻近节点收到包含修改的路由表信息后,过比较路由序列号的方法对路由表进行更新以保持最佳的路由。
2.2按需路由协议
按需路由协议又称反应式路由协议,运行该协议的节点不需要维持及时准确的路由信息,在需要发数据时才查找路由。
每个节点中都存在路由发现过程和路由维护过程,前者
负责寻找相应的路由,后者负责维护一个已建立的路由,直至目的节点不可达或不再需要该路由。
和预先路由协议相比较,按需路由开销小,但数据传送时延较大,不适合实时性需要。
以下是几种比较典型的按需路由协议。
DSR(DynamicSourceRouting,动态源路由)最主要的特点是使用源路由,节点在路由表中不用维护到所有目的节点的路由,路由表中只有节点目前知道的路由,这些路由存储在一个缓存中,数据包在它的报头中携带所需的源路由信息。
DSR依赖源路由和路由缓存技术,它不需要专门的路由环路发现机制,而且,任何中间的转发节点都可以得到数据报头的源路由信息,并存放在自己的缓存中。
AODV(AdHocOn-DemandDistanceVector,按需距离向量协议)是在DSDV协议的基础上改进而来的一种按需路由协议,AODV协议不是定期广播到达所有节点的路由信息,从而减少了总的广播量。
AODV使用传统的路由表,每个目的节点只有一条路由记录,在每个节点中根据每条路由的使用情况设定一个基于时间的状态,根据该时间状态对路由进行优化。
AODV协议使用目的节点的序列号机制来保证路由信息的及时性和不产生循环路由。
TORA(Temporally2OrderedRoutingAlgorithm,临时预订路由算法)的最大特点是适应高动态变化的网络环境,该协议采用链路反转的分布式算法,具有高度自适应、高效率和较好的扩充性,可以在一对连接间提供多条路径。
TORA协议将路由信息的传递限制在网络拓扑变化最小的部分,每个节点只保留相邻节点的路由信息,尽量减少控制信息的通信开销。
3.AODV路由协议算法描述
AODV路由协议是在表驱动路由协议DSDV的基础上结合路由协议的按需路由机制进行改进后提出的。
它使用DSDV协议中的“目的节点序列号”防止缓存的路由信息过期以及环路的产生,路由建立是基于DSR协议中所采用的方法,不同点在于AODV协议是逐跳路由而不是源路由。
AODV路由协议定义了三种消息类型:
路由请求RREQ,路由应答RREP,路由错误RERR。
这些消息使用标准IP报头,由UDP协议封装,通过654端口进行通信。
AODV协议的路由发现过程如下:
当源节点发送数据包或者转发数据包到目的节点时,源节点检查路由表,如果没有找到目的节点或者路由表项已经过期,源节点将广播一个路由请求分组RREQ,收到RREQ的中间节点根据RREQ中的信息,建立源节点的路由—在路由表中增加一个路由条目—称为“反向路由”。
反向路由条目的目的节点是广播RREQ的源节点,下一跳节点是将RREQ发送给本节点的邻节点。
然后它向周围节点广播此分组。
如果目的节点收到RREQ则向源节点回复路由应答分组RREP,RREP沿着刚建立的反向路由向源节点传送,收到RREP的节点建立到目的节点的路由—在路由表中增加一个路由条目—称为“正向路由正向路由条目的目的节点是RREP的源节点,下一跳是将RREP发送给本节点的邻节点。
源节点收到RREP后,表明路由已找到,就可沿着找到的路由发送数据。
3.1路由发现
节点发信息,先在路由表中查找路由,有则按照路由发送信息,没有就进行路由发现过程。
节点广播路由请求包给所有的临节点,临节点在接受到请求包后,先在自己的路由表中查找是否有到目的节点路由,如果有则将路由信息写入请求包发送给源节点;
如果没有,再将请求包转发给所有的临节点。
依此类推,知道到达目的节点或时中间某个节点知道到达目的的节点的路由。
AODV的路由发现过程由反向路由建立和前向路由建立两部分组成.。
(1)反向路由指从目的节点到源节点的路由,用于将路由响应报文回送至源节点。
反向路由是源节点在广播路由请求报文的过程中建立起来的。
(2)前向路由是由源节点到目的节点方向的路由,用于以后数据报文的传送。
前向路由是在节点回送路由响应报文的过程中建立起来的。
反向路由过程前向路由过程
图3.1
3.2路由维护
AODV通过hello包、链路修复及链路断开后发RERR包来进行路由的维护,具体过程如下:
每个节点周期性地传给相邻节点hello包.如果一定时间后,邻节点还收不到再次确认连接的hello包,就会开始链路修复过程,即广播一个RREQ给不可达节点.当有到不可达节点有效路由的中间节点或不可达节点本身收到此RREQ后就回复一个RREP给源节点,到不可达节点的路由重新建立.若链路修复失败,节点向所有的邻节点广播RERR包,RERR包中的不可达节点列表不仅包括了链路断开的邻节点,还包括了以此邻节点为下一跳的路由条目的目的节点.通过RERR的广播,其他节点就知道链路断开了
.一个节点在两种情况下发出RERR:
一是节点的路由表中有效路径的下一跳不可达;
二是节点收到数据包且由表中没有相应的有效路由。
4.参数定义
4.1分组平均递交率
目的节点接收到的数据包个数与源发送的数据包个数之比,反映了网络传输的可靠性,递交率越高可靠性越大。
分组平均递交率=目的节点接收到的数据包个数/源发送的数据包个数
节点移动速度和运动场景的拓扑对分组平均递交率的影响较大。
一般情况节点移动速度慢时,AODV的分组递交率比较稳定,节点移动速度加快时波动幅度变大,移动节点数目固定的时候,运动场景越大,分组递交率越小:
运动场景越小,分组递交率越高。
4.2端到端的平均时延
包括路由查找时延、数据包在接口队列中的等待时延,传输时延及MAC层的重传时延,反映了路由有效性,尤其对语音包来说,时延太大会眼中影响通信质量。
端到端平均时延=∑(接收到数据包的时间—发送数据包的时间)/发送的数据包个数
其中拓扑结构对端到端的平均时延的影响最大。
在一定范围内,节点数目已定的情况下,拓扑范围变大,端到端的平均延迟会增大。
令外,节点的运动速度提高时端到端的平均延迟会降低(这里只统狡到达目的地的分组,没有考虑被丢弃的分组)。
4.3平均跳数
体现为仿真过程中,数据包从源节点到目的节点所经过的平均跳数,反映了网络拓扑结构、节点通信范围及路有效率。
平均跳数=转发的数据包与发送的数据包所需要的个数和/发送的数据包个数
随着节点平均运动速率的提高,路由开销也会增大。
路由开销还会受到业务源发包率的影响,业务源发包率增加时路由开销会增大。
与其他AdHoc协议DSDV,DSR,TORA等相比AODV整体效率比较好,尤其在分组递交率方面比较突出,在运动比较迅速的场景下尤为明显。
4.4归一化路由开销
即为传递数据包,平均每个数据包所需要的路由包的个数。
它反映了网络的拥塞程度和节点电源的效率,开销大的协议拥塞的概率就大,且会延迟接口队列中数据包的发送。
归一化路由开销=发送和转发的路由包个数/接收到的数据包个数
5.AODV路由协议的OPNET实现
本次设计的目的在于研究AODV路由协议,所以我们在本次设计中,我们主要是设计和研究了一个背景拓扑图为空的场景大小为10*10的网络范围为办公室模型。
并以OPNET自带的MANET网络节点为对象进行AODV路由协议的模拟和仿真。
5.1,开始建立一个场景:
首先需要创建一个新的项目和一个新的场景。
(1)打开Modeler。
(2)从File菜单中选择New...。
(3)从弹出的下拉菜单中选择Project并单击OK。
(4)将你的项目命名为AODV_ROUTING,场景命名为AODV_50_nodes_default_parameters。
(5)单击OK按钮。
出现开始向导,创建新的背景拓扑图,按照我们预想的设计思路,创建好一个背景拓扑图为空的场景大小为10*10的网络范围为办公室模型。
其中场景大小设置如下图所示:
图5.1
最后确认如下图:
图5.2
5.2,创建网络拓扑图
本地网络由50个节点组成,其中node0为服务器节点。
其它另设为station。
所有的节点都是基于adhoc节点模型。
图5.3
5.3,节点模型的介绍和设置
观察分析节点的结构,双击节点模型。
AODV节点模型类似于一个进程模块堆栈,这里的每一组进程模块都代表OSI通信协议模型的一层,可以明显的开出来,如下图所示
图5.4
其中在OPNET10.5中AODV、DSR 、TORA等模型都支持,并且OLSR和OSPFv3等MANET协议也在开发中。
其中各种协议都封装在OSI的IP层当中。
其具体的关系如下:
图5.5
节点设置
首先是MANETstation节点的设置。
如下图所示把所有的节点都采用AODV路由协议。
选择好节点,点击右键。
再选择attrbutes,选择到ad-hocroutingprotocol选择为aodv。
图5.6
然后是profileconfig的设置,将其设置为一组FTP传输模式。
图5.7
接下来是ApplicationConfig设置,同样为FTP模式。
图5.8
最后是设计好RxgroupConfig确定好节点可通信的receivers等。
确定好节点的最大通信范围等参数。
图5.9
5.4,进程模型的分析
Aodv进程如图5.1所示,为与IP层的ip_dispatch类的子进程manet_mgr函数下。
根据NIST组织对AODV协议的分析的模拟,同样可以用有限状态机描述协议进程模型如下:
图5.10
1)Idle状态 进程所处的默认状态,并在该状态下等待事件的发生.
2)Init状态 安排节点的地址以及检查节点地址的有效性,初始化AODV进程模型中的.变量、状态、表格、以及用户参数.
3)sendHello状态发送Hello消息,发现路由。
4)Ack_Timeout状态 当确认帧返回超时时,需要重发。
5)Route_Expiration状态 当不能路由时,路由终止。
6)Rcv_Upcoming_Strm状态 当发送的数据包是自己需要的时候,接收发送过来的数据包。
7)Data_Transmission状态 若不属于自己的数据包时,进行转发。
8)Renew_Request状态 当没有回应的ACK的时候重新发送原来的数据包。
9)Rcv_Ack状态 当ACK到来的时候,分析ACK的类型作出发新的数据包的决定。
10)Failure_Transmit状态。
当过来定常时间还是没有ACK到来的时候,确认传输失败。
5.5,系统统计量收集的设计与系统的运行
5.51收集全局统计量
(1)在网络编辑器的工作空间(避免指到对象)上单击鼠标右键,从弹出的菜单选择ChooseIndividualDESStatistics。
(2)单击GobalStatistics树型结构,选择AODV节点统计量和wirelessLAN统计量。
同时选中nodestatistics中的AODV节点统计量和wirelessLAN统计量。
(3)单击OK按钮关闭对话框。
图5.11
5.52保存工程,并运行。
按下按钮,选择运行时间为30分钟(同样可以设置其他选项),点击RUN。
开始仿真。
图5.12
5.6,OPNET仿真结果查看
为了评估AODV协议的性能,需考虑不同的定量度量;
另外,MANET的网络特性也要求考虑多种评价因素.因此,考虑选取以下5种统计量.
1)端到端平均延时(averagede