基于NS2的AODV协议仿真 - 图文

更新时间:2024-01-21 00:56:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学 号: 题目类型: 桂林理工大学

GUILIN UNIVERSITY OF TECHNOLOGY

本科毕业设计(论文)

题目: 基于NS2的AODV协议仿真

学 院: 信息科学与工程学院 专业(方向): 班 级: 学 生: 指导教师:

2013年 5 月 25日

桂林理工大学本科毕业设计·论文

摘 要

Ad hoc网络是一种能随时随地组成网络而不依赖任何网络基础设备支持的自组网。因此得到越来越广泛的应用。由于Ad hoc网络拓扑是动态变化的,具有无中心网络的自组织性,受移动终端的局限性等因素的影响,Ad hoc网络的路由协议一直是Ad hoc网络领域的研究热点。

AODV协议是Ad hoc网络中的自组织按需距离向量协议,是应用最广泛的按需路由协议之一。本文首先介绍了Ad hoc网络的特点、应用领域、路由协议等,特别是对AODV的工作机制与特点进行了详细阐述。然后介绍了相关的准备工作,包括NS2平台在Linux下的安装和使用,NS2的特点、工作机制及相关工具。接着介绍了用NS2对AODV进行仿真的场景规划及相应TCL编码,产生了NAM动画演示文件和数据记录trace文件。最后根据仿真生成的trace文件,分析了场景中节点的数量及移动性对AODV的网络传输时延、丢包率这两个重要网络性能参数的影响,初步得出AODV协议适用于中小型网络环境的结论。

关键词: Ad hoc网络;AODV;NS2;传输时延;丢包率

I

桂林理工大学本科毕业设计·论文

Simulation Of AODV Protocol Based On NS2

Abstract: Ad hoc network is a network composed of anytime, anywhere without relying on any network infrastructure to support the ad hoc network. So get more and more widely used. Since Ad hoc network topology is dynamic, with no central network self-organization, affect by the limitations of mobile terminals and other factors, Ad hoc network routing protocol has been a hot research field of Ad hoc networks.

AODV protocol in Ad hoc networks are self-organizing on-demand distance vector protocol that is most widely used on-demand routing protocols. This paper first introduces characteristics, applications, routing protocols of the Ad hoc network, especially for the working mechanism of AODV and features are elaborated. Then introduce the relevant preparatory work, including the installation and use of NS2 platform under Linux, NS2 characteristics, working mechanism and related tools. Then introduced using NS2 for AODV simulation scenario planning and the corresponding TCL code, resulting in a NAM animation files and data logging tr0ace files. Finally, according to the trace files generated simulation, analysis of the number of nodes in the scene and mobility on AODV network transmission delay, packet loss ratio of these two important network performance parameters, preliminary draw AODV protocol for small and medium network environment conclusion.

Key words: Ad hoc network;AODV;NS2;packet loss ratio;network delay

II

桂林理工大学本科毕业设计·论文

目 次

摘 要 .............................................................................................................................. I Abstract .............................................................................................................................. II

1 绪论 .................................................................................................................................. 1

1.1 研究背景 ................................................................................................................. 1 1.2 选题领域的研究成果 ............................................................................................. 1 1.3 课题研究目标 ......................................................................................................... 2 2 Ad hoc网络概述 ............................................................................................................... 3

2.1 Ad hoc网络介绍 ...................................................................................................... 3 2.2 Ad hoc应用领域 ...................................................................................................... 3 2.3 Ad hoc路由协议 ...................................................................................................... 4 2.4 AODV路由协议 ....................................................................................................... 5 2.5 AODV路由算法 ....................................................................................................... 6 2.6 AODV工作过程与路由特点 .................................................................................... 6 2.7 本章小结 ................................................................................................................. 8 3 NS2网络仿真 ................................................................................................................... 9

3.1 NS2仿真工具 .......................................................................................................... 9 3.2 OPENET与NS2的比较 ........................................................................................... 9 3.3 NS2安装 ................................................................................................................ 11 3.4 NS2仿真 ................................................................................................................ 12 3.5 GAWK的介绍 ......................................................................................................... 13 3.6 Gnuplot介绍 .......................................................................................................... 13 3.7 本章小结 ............................................................................................................... 13 4 基于NS2的AODV协议仿真 ...................................................................................... 14

4.1 仿真环境场景的配置 ........................................................................................... 14 4.2 AODV协议场景代码的编写 .................................................................................. 15 4.3 AODV协议仿真 ..................................................................................................... 18 4.4 本章总结 ............................................................................................................... 21 5 AODV协议的性能分析 ................................................................................................. 22

5.1 性能参数 ............................................................................................................... 22

III

桂林理工大学本科毕业设计·论文

5.2 参数分析 ............................................................................................................... 23

5.2.1 网络延迟的数据提取 ................................................................................. 23 5.2.2 丢包率的数据提取 ..................................................................................... 24 5.2.3 数据平均值的计算 ..................................................................................... 25 5.3 仿真节点对AODV协议的影响分析 .................................................................... 26

5.3.1 仿真节点的变化对网络传输延时的影响 ................................................. 26 5.3.2 仿真节点的变化对网络丢包率的影响 ..................................................... 27 5.4 仿真区域大小对AODV协议的影响分析 ............................................................ 28

5.4.1 仿真区域大小变化对网络传输延时的影响.............................................. 28 5.4.2 仿真区域大小变化对网络丢包率的影响 ................................................. 28 5.5 本章小结 ............................................................................................................... 29 6 结论 ................................................................................................................................ 30

致谢 .................................................................................................... 错误!未定义书签。 参考文献 ............................................................................................ 错误!未定义书签。

IV

桂林理工大学本科毕业设计·论文

1 绪论

1.1 研究背景

随着信息技术的发展,人们对摆脱有线网络束缚、随时随地可以进行通信有了更强烈的需求,无线网络技术在近年来得到迅速发展和普及,新技术不断涌现。从蜂窝移动通信系统发展到无线网络、蓝牙等移动通信技术,使得人们彼此之间的通信交流越来越简单便捷。

随着科技的不断向前发展,人们对无线通信技术的要求越来越高,特别是某些有中心移动通信系统不能胜任的特殊场合,比如野外科学考察、发生自然灾害、瞬息万变的军事战场。这些特殊场合不可能依赖于任何预先架有的网络设施,或者预先架设的网络基础设施已经遭到破坏而失去作用,这时就需要一种能够自动临时组网的移动无线通信技术。所以,人们设计了一种无基站的移动无线网络—Ad hoc网络技术,以满足上述特殊场合的需求。Ad hoc网络技术作为移动通信网络的一种特殊形式,无线通信技术和计算机网络技术的发展为Ad hoc网络的出现奠定了基础。

Ad hoc网络是一个多跳、临时、可自由移动的无中心网络,它不依赖固定的信息基础网络设施,既可以与现有的网络结合成多跳网络,达到有效延伸传统网络覆盖范围,同时也可以通过临时组网的方式在恶劣环境中支持移动节点间的数据、图像、话音等业务的无线传输通信。Ad hoc网络具有极大的灵活性和可扩展性,可以满足不同场合的需求,主要应用范围覆盖了工业、军事、商业、医疗、教育等各种领域。在军事领域上,Ad hoc因其具有特有的无需架设网络设施、可快速展开、抗毁性强等特点,已经成为数字化战场通信的首选技术。

1.2 选题领域的研究成果

Ad hoc网络作为无线网络的补充,被越来越广泛的应用到日常工作学习生活中。国内外很多学者对Ad hoc网络技术进行积极的探索和研究,主要研究方向集中在路由协议、MAC协议和网络性能安全等方面。

总结国内外研究现状,Ad hoc网络主要研究成果有一下几个方面:

①新的路由协议:路由协议是网络的重要组成部分,特别是在能量受限的Ad hoc网络中,路由协议是网络正常运行的关键,最佳的路由协议能够提高Ad hoc网络的整体性能,延长网络的寿命。目前普遍得到认可的协议主要有AODV、DSR、DSDV、WRP等。现在多数对路由协议的研究都是对原协议的改进,但是这些协议离实用性还有一定的距离,有待进一步的研究测试。如:利用DSR路由协议的源路由策略修

1

桂林理工大学本科毕业设计·论文

改AODV路由发现过程提出的AODV-PA协议。在PADV-PA协议基础上为了减少路由发现过程中累积的节点数而提出的IMAODV协议。在AODV的路由寻径问题上加以改进提出的AOMDV等改进方案。

②Ad hoc组网:目前一些学者正在研究使用蓝牙节点来组建Ad hoc网络,已经形成了多种不同的方案,成为Ad hoc网络研究的又一热点。

③Ad hoc网络互连:Ad hoc网络通常情况下是以一种独立的网络形式存在的,即不与其他网络连接。但是大多数情况下,为了更好的满足用户的需求,都会将Ad hoc连接到其他网络中,尤其是Internet网络。

④信道接入技术:信道接入技术是Ad hoc网络的基础,决定点如何接入无线信道。Ad hoc 的无线信道是多跳共享的多点信道,节点可以接收到邻居节点发送的信息,因此Ad hoc网络存在隐藏节点和暴露节点的问题,信道接入技术能有效的解决这些问题。目前影响比较大的协议有单信道接入MACA协议和双信道DBTAM协议。

1.3 课题研究目标

本课题研究的是Ad hoc网络中的AODV路由协议,对AODV路由协议的工作过程、特点、算法、网络性能进行分析。通过对本课题的研究,希望能达到以下效果:

1)研究AODV路由协议,学习AODV路由协议。 2)使用NS2中的NAM工具演示AODV协议的工作过程。

3)使用GAWK对AODV协议在不同仿真场景下的网络参数进行整理和分析。 4)从整理的数据中对网络中的网络延迟、丢包率求平均值并进行分析。 5)使用Gnuplot绘图工具绘制不同仿真场景下的网络延迟和丢包率情况。

2

桂林理工大学本科毕业设计·论文

2 Ad hoc网络概述

Ad hoc网络建立的最初目的是源于军事通信的需要,其前身是分组无线网(Packet Radio Network)。移动Ad hoc网络是利用了移动终端的分组转发功能,通过节点间的合作并以多跳转发方式来完成信息的发送和接收。移动Ad hoc(MANET)网络又称移动多跳网或移动对等网,是一种特殊的在不借助任何中间网络设备的情况下,可在有限范围内实现多个移动终端临时互连互通的网络,节点之间通过路由协议的协调,实现网络的运行和自动组织。因此无线自组网是一个多跳、临时、可自由移动的无中心网络。它不需要现有信息基础网络设施的支持,可以在任何时候、任何地点快速构建,可便捷的实现相互连接和资源共享。其自身的特殊性决定了路由协议的特殊性和重要性,传统固定网络和移动通信网中的各种路由协议是无法直接被使用的,需要为无线自组网设计专门的路由协议和技术。

2.1 Ad hoc网络介绍

与其他传统通信网络相比,Ad hoc网络具有以下显著的特点:

①自组织和无中心:Ad hoc网络可以随时随地忽略硬件基础网络设施的支持,快速构建起一个移动通信网络,Ad hoc网络采用无中心结构,所有节点的地位是相等的。

②动态变化的网络拓扑结构:在Ad Hoc网络中移动主机可以以任意速度和任意的模式在网络中移动,加上各种各样因素的影响,移动节点间网络拓扑也可能随时发生变化。

③安全性差: Ad hoc网络使用无线信道进行数据传输通信,若没有适当的加密或编码,网络容易受到自动入侵、被动窃听、拒绝服务、伪造等网络攻击。

④有限的带宽:无线网络的传输速度大约在11-54Mbps范围内,这样的传输速度无法与有线网络提供的Mbps、Gbps等级的速率相比。

⑤有限的处理能力:移动终端能量有限、CPU性能较低、内存较小,对于复杂运算或是其他方面的处理能力相对比较弱。

⑥多跳性:当一个节点要和其通信范围外的其它节点通信时,需要通过中间节点进行转发,即存在多跳性。

2.2 Ad hoc应用领域

随着移动通信和通信终端技术的不断发展,以及Ad hoc网络自身所特有的一些优点,如自动组网、多跳转发、快速搭建、成本低廉等,使得Ad hoc网络不但在军

3

桂林理工大学本科毕业设计·论文

事领域上应用广泛,而且在与人们生活息息相关的相关领域也占有一席之地。Ad hoc网络应用主要包括以下几个方面:军事应用、临时场合、紧急和突发场合、野外偏远地区、传感器网络、个人通信、组建家庭无线网络、移动医疗监护系统、与蜂窝移动通信系统相结合来扩大蜂窝网络的覆盖范围等。

2.3 Ad hoc路由协议

Ad hoc网络路由协议主要有两大类:一种是表驱动路由协议,一种是按需路由协议。

表驱动路由协议也叫先验式路由协议,每个节点都要维护一张包含到达其他节点路由信息路由表。当网络拓扑发生变化时,节点会向网络中发送更新信息,收到更新信息的节点将更新自身的路由表,使得更新信息一致、准备、及时,路由表能正确反映当前网络拓扑结构。表驱动路由包括无线路由(Wireless Routing Protocol, 即WRP)、目标序列距离向量协议(Destination Sequenced Distance Vector , 即DSDV)、优化链路状态路由协议(Optimized Link State Routing Protocol, OLPSR)、FSR状态路由协议(Fisheye State Routing, FSR)等

按需路由协议也称反应式路由协议,需要发送数据时才会查找路由。节点平时无需维护路由信息,只有需向目标节点发送报文时,源节点才会在网络中发起路由查找过程,找到相应的路由。与表驱动协议相比,按需路由协议开销比较小,但传输时延比较大,两者比较如下表1-1所示。常用的按需路由协议有自组织按需距离向量协议(Ad Hoc On-demand Distance Vector routing,AODV)、动态源路由协议(Dynamic Source Routing Protocol,DSRP)、信号稳定路由协议(Signal Stability Routing, SSR)、时间序列路由协议(Temporally-Ordered Routing Algorithm,TORA)等。通过表1-1表驱动路由和按需路由性能表和表1-2按需路由协议性能表对比各种按需路由协议间的基本性能:

表1-1 表驱动路由和按需路由性能表

路由协议类别 路由协议 路由获取时延 控制开销 能耗 带宽开销

4

表驱动 DSDV/CGSR/WRP 低 高 高 高 按需 AODV/DSR/TORA 高 低 低 低 桂林理工大学本科毕业设计·论文

表1-2 按需路由协议性能表

路由协议 整体复杂性 开销 拓扑结构 多路径支持 组播能力 更新信息 路由环路 AODV 中等 低 平面 否 有 不需要周期 无 DSR 中等 中等 平面 是 无 不需要周期 无 TORA 高 中等 平面 是 无 不需要周期 无 总的来说,表驱动路由的时延比较小,但是花费较大的网络开销,难以适应网络拓扑频繁变化的特性,按需路由正好相反,占用网络资源少,能适应网络拓扑动态变化的要求,但时延比较大。

在Ad hoc网络中,由于网络拓扑结构频繁变化,决定了Ad hoc网络中的路由问题比固定网络要复杂很多,因此Ad hoc网络对路由协议有很严格的要求。这些要求主要有以下几点:

①收敛迅速:自组网络拓扑结构是动态的,所以路由协议必须具备有对拓扑变化能快速反应的能力,在计算路由时能迅速收敛。

②提供无环路路由:在自组网中,由于拓扑结构动态变化会导致大量已有路由信息在短时间内作废,导致产生路由环路。

③避免无穷的计算:自组网络中链路失效的情况时有发生,为了网络性能更好,网络中使用的路由协议必须具备有避免无穷的计算的能力。

④支持单向信道:自组网络中有可能会出现单向信道,这就要求在其网络中运行的路由协议必须具备有支持单向信道的能力。

⑤简单实用:路由协议简单有助于提高可靠性,能减少各种开销。

2.4 AODV路由协议

自组织按需距离向量协议(AODV),是应用最广泛的按需路由协议之一,是一个比较成熟的协议,实质上是DSR和DSDV的综合,它借用了DSR中路由发现和路由维护的方法,以及DSDV的逐跳路由、顺序编号和路由维护阶段的周期更新机制,以DSDV为基础,结合DSR中的按需路由思想加以改进而来的。AODV协议可以实现在移动终端间动态的、自发的路由,使得移动终端可以快速获得通向所需目的的路由,

5

桂林理工大学本科毕业设计·论文

同时又不用维护当前不适用的路由信息,还能很快的对断链的网络拓扑做出反应。AODV协议具有收敛速度快、开销比较小、实现相对简单等特点,能满足Ad-hoc网络的路由协议要求。

2.5 AODV路由算法

AODV路由协议开始工作时,源节点首先会广播一个携带有目的节点信息的路由分组RREQ,然后邻居节点会依次向周围的节点广播这个RREQ。广播RREQ前将会建立该节点到源节点的路由,直到路由分组到达目的节点或者下一个中间节点,这个节点包含了节点的路由信息,就不会再广播RREQ。整个工作过程会建立一个从源节点到目的节点的反向路由。随后该节点将沿着反向路由发回一个RREP,RREP到达源节点之后路由发现过程结束。为了避免路由环路,每个路由分组中都包含了一个sequence ID作为唯一标志,当节点收到一个sequence ID比它当前保留的的sequence ID小的数据包时,说明这个数据包是过期的,将不会进行处理,直接丢弃。发现多条路由时,源节点会选择一条sequence ID大,跳数最少的最佳路由路径。

源节点移动后会重启动路由发现过程,中间节点移动,那么其邻居节点会发现链路失效并向上游节点发送链路失效信息RERR,一直传到源节点,然后源节点重新发起路由发现,也可以由发现链路失效的节点自己发起路由发现,这个过程称为本地修复。只要路由有数据包从源节点发往目的节点,那么路由表维护工作就会一直在进行,如果链路上不再有数据包的发送,一段时间之后,这条链路就会过期,最终路由信息将会从中间节点的路由表中删除。

2.6 AODV工作过程与路由特点

AODV路由协议中间节点不需要维护路由,AODV中节点移动可能会导致原来的路由不可用,它采用逐跳路由转发分组,同时加入了组播路由协议扩展,从路由查找回复RREP。整个通信过程是对称的,路由可逆。图2-1是AODV网络拓扑示例:

图2-1 AODV示例网络拓扑图

6

桂林理工大学本科毕业设计·论文

在图2-1中,假设节点A要向节点G发送数据,AODV协议会帮助其一步一步进行路由发现,直到找到节点G为止。

图2-2 B接收RREQ并建立逆向路由过程图

图2-2中,如果B收到来自节点A的RREQ,就会建立到达节点A的逆向路由。此时,如果节点B没有到达节点G的路由,则讲该RREQ信息重新广播给除自身以外的其它邻居节点。所有的节点都转发RREQ,直到自身有到达节点G的有效路由或者是直接邻接节点G。图2-3、2-4可以展现节点B到节点F的RREQ请求过程。

图2-3 D接收RREQ并建立逆向路由过程图

图2-4 F接收EERQ并建立逆向路由过程图

RREQ达到F节点之后,F会发现有一条到达节点G的路由,且该路由的序号不

7

桂林理工大学本科毕业设计·论文

小于RREQ中的序号,则会构造一个路由响应包RREP并且沿着逆向路由单播给节点A。整个路由发现过程完成后,节点A可沿着发现的该路由发送数据。如图2-5所示:

图2-5 G返回RREP给A过程图

综上所述,AODV协议具有以下四个特点: ①基于传统距离向量路由机制,算法简单清晰。

②使用目标序列号防止发生环路,能解决无穷计数的问题,易于实现编程。 ③支持中间节点回答,能使源节点快速获得路由,但是会存在过期路由。 ④周期性广播报文,需要消耗一定能量和网络带宽。

2.7 本章小结

本章主要介绍了AODV的概念和发展,然后阐述了Ad hoc网络的特点、应用领域、Ad hoc网络路由协议、AODV路由协议。并简明扼要地说明AODV路由算法和工作过程,对Ad hoc网络及AODV协议有一个整体的认识。

8

桂林理工大学本科毕业设计·论文

3 NS2网络仿真

网络仿真是一种利用数学建模和统计分析的发法,依赖计算机软件来模拟网络行为的技术。通过建立网络设备和网络连接的统计模型,模拟网络流量的传输,从中可获取协议设计、网络优化等需要的网络性能参数,是一种新的网络规划和设计技术。它以低廉的成本实现对网络复杂环境的再现与分析,能够提供虚拟的未来网络平台以进行研究.网络仿真软件在网络仿真中起着重要作用,而网络仿真对网络性能的分析与改善也占据着越来越重要的地位。网络仿真技术具有以下特点:

①在高度复杂的网络环境下能得到高可信度的结果。 ②预测功能是其他传统方法无法比拟的。

③使用范围广,既可以用于现有网络的优化与改进,也可以用于设计网络新方案。 ④初期成本不高,建好的网络模型可以延续使用,后期投入会不断下降。 目前主要流行的网络仿真软件有三种: OPNET 仿真平台、NS仿真平台、 Matlab 仿真平台。

3.1 NS2仿真工具

NS是由加州大学伯克利分校开发的适用于多种网络的优秀仿真软件平台。适用于Windows+ Cygwin 和Linux系统平台,是一款开发源代码的自由软件,可以免费下载,得到广泛应用和认可。NS2仿真平台几乎涉及到了网络技术的所有方面,如可用于有线、无线、本地连接、卫星连接等。其中包括了大量工具模拟,涉及TCP协议、路由算法、多播协议、调度器等。NS2可对仿真过程进行详细跟踪,并使用仿真动画工具NAM进行回放。目前在学术界和教育界有大量的研究人员正在使用或试图使用NS来对网络模型进行仿真,寻求最佳的网络设计方案。

NS采用了分裂对象模型的开发机制,使用C++和OTCL 两种开发语言。二者之间采用了TCL 自动连接和映射。NS2将控制通道与数据通道的实现相分离。为了减少分组和事件处理时间,事件调度器和数据通道上的基本网络组件对象使用C++编写,这些对象通过TCL 映射对OTCL 解释器可见。仿真用户只要编写相对简单的TCL/ OTCL 脚本就可快速的配置仿真节点、链路、拓扑等参数。

3.2 OPENET与NS2的比较

OPNET是1986年由麻省理工大学的两个博士创建的,随后他们从网络模拟中发现了巨大的商业价值,于1987年建立了商业化的OPNET。OPNET主要由三个模块

9

桂林理工大学本科毕业设计·论文

组成:IT Decision Guru,是领先的网络和应用分析仿真工具,目标是优化网络性能,提高网络可以学;Modeler, IT Decision Guru基础上增加了建库功能,可以帮助用户设计和分析网络、网络设备和通信协议;Modeler/Radio在Modeler上由增加了对移动通信和卫星通信的支持。OPNET是一个商业化的网络性能仿真软件,主要面向专业研发人员,用于网络架构、设备和应用设计、分析和管理等。其主要针对网络服务提供商、设备制造商、一般企业等。

NS2是network simulator(网络模拟器)的简写,是一款放发源代码的自由软件,可以免费下载。采用所谓的“事件”驱动,是一个离散事件模拟器,由美国加州大学伯克利分校和USC/ISI共同开发的网络仿真软件,具有开放性好、扩展性强、适用与Windows和Linux系统平台,是一个出色的研究网络拓扑结构,分析网络传输仿真的工具。与OPNET相比较,NS2具有尤为突出的数据流仿真能力。

下面对比OPNET与NS2的优缺点: OPNET优点:

①界面友好,功能强大,操作较简单方便。 ②模拟速度、内存消耗优于NS2。

③有内建工具,功能强大,具有多种图形显示模式。

④支持无线有线网络中使用的协议、路由算法以及各种应用技术外还对众多网络设备供应商的各种型号的产品建有具体的产品模型库。

OPNET缺点: ①商业软件,需收费。

②仿真的规模和流量大时,效率明显降低,模型库有限,版本更新慢。 NS2优点:

①软件免费下载,源代码开放。

②仿真功能强大,具有可扩展性、可重用,适用于模拟中小型网络。 ③支持无线有线网络中使用的协议、路由算法以及各种应用技术。 NS2缺点:

①需要强大的编程能力,对初学者是个挑战。

②未提供路由器、交换机等具体网络设备模型库,建模用的网络设备均需用户手动编写脚本并参数配置复杂。

③无数据绘图内置工具,需要借助Xgraph或者是Gnuplot。

基于NS2免费,源代码公开,具有开放性好,扩展性强,适用与Windows和Linux系统平台的特点,本次论文设计采用NS2仿真平台进行网络仿真实验。

10

桂林理工大学本科毕业设计·论文

3.3 NS2安装

安装NS2准备工作:

在主机硬盘上格出一个容量为22G的本地磁盘I。 下载并安装Ubuntu 。 安装NS2

①首先下载NS2安装包ns-allinoen-2.35.tar.gz,然后将其放在home/ll/ns/ns- allinoen-2.35下(ll是我的文件名,ns是自建的一个文件夹)。通过ctrl+ alt+打开终端,输入

cd ll<回车>

tar zxvf ns-allinoen-2.35.tar.gz<回车>

②为了能更好的安装NS2,首先需要更新Ubuntu 系统文件,在终端输入下面命令完成:

sudo apt-get update sudo apt-get upgrade sudo apt-get dist- upgrade

首先采用sudo时,需要用户密码,也就是安装Ubuntu时设置的系统密码。同时还需进行一下package的安装,输入以下命令:

sudo apt-get install build-essential

sudo apt-get install TCL18.5 TCL18.5-dev tk8.1.5 tk8.1.5-dev sudo apt-get install libxum-dev libxum-headers ③准备工作做好之后,开始安装NS2 $cd ns-allinoen-2.35 $./install ④配置环境变量 $sudo gedit. bashrc $sudo gedit. bashrc

在弹出来的窗口的文件末尾加入:(注意:下列代码中ll/ns/是我的ns-allinone-2.35文件路径)

exportPATH=$PATH:home/ll/ns/ns-allinone-2.35/bin:/home/wangtiantian/mysoft/ns-allinone-2.35/TCL8.4.18/unix:/home/wangtiantian/mysoft/ns-allinone-2.35/tk8.4.18/unix exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:home/ll/ns/ns-allinone-2.35/oTCL-1.

11

桂林理工大学本科毕业设计·论文

13: home/ll/ns/ns-allinone-2.35/lib

export TCL_LIBRARY=$TCL_LIBRARY: home/ll/ns/ns-allinone-2.35/TCL8.4.18/library 保存退出。

⑤验证测试

重新打开一个终端,输入ns并回车 $ns(如果正常的话,会出现―%‖操作提示符)

3.4 NS2仿真

实现NS2仿真主要通过以下三个方面:

①编写仿真代码TCL/OTCL。编写仿真代码TCL/OTCL是仿真中必不可少的一个步骤。大部分的NS2仿真工作实际就是编写TCL代码来定义网络结果、网络构件属性、控制调度网络仿真事件的启动停止过程。

②修改源代码。主要在仿真需修改代码时进行。由于NS2采用C++和OTCL两种语言编写,因此修改源代码时,一定要谨记修改相应的OTCL代码。

③仿真结果分析。结果分析是体现仿真成果的证明。要求熟悉trace文件的结构,并能够使用GAWK来分析该结果文件,及根据分析结果使用Gnuplot绘制相应的数据图表。使用NS2进行无线网络仿真的基本流程图如图3-1所示。

图3-1 NS2仿真基本流程图

12

桂林理工大学本科毕业设计·论文

3.5 GAWK的介绍

GAWK由GUN所开发的AWK不断改进和更新而来,包含了AWK的所有功能,是一种对文档资料具有很强处理能力的程序语言。

利用NS2进行仿真时,运行TCL脚本之后会产生一个trace文件,trace文件记录了整个仿真过程的所有信息。要对无线网络进行研究,提取或者计算出需要的数据,可以通过编写AWK程序读取trace文件获得。

AWK程序可以直接在终端中输入,但是比较长的AWK程序直接终端输入比较麻烦,可以把AWK程序编写成一个文档,直接调用。使用AWK读取trace文件的语句是在终端(shell)$下输入:GAWK –f delay.awk out.tr。(delay是AWK文档名,out.tr为trace文件名。)如果需要把AWK读取出的数据保存到一个文档,可以在终端(shell)$下输入:GAWK –f delay.awk out.tr >d(d为保存数据的文档名)。

3.6 Gnuplot介绍

Gnuplot是由Colin Kelly和Thomas于1986开始开发的,是一种免费的,命令驱动的交互式函数与数据测绘程序。其功能是把数据资料和科学函数装换成直观的二维和三维图形,易于进行数据分析,因此适合于科学研究过程中的数据曲线绘制和理论模型对比的曲线化、图形化工作。虽然Gnuplot不如Matlab强大,但却非常小巧实用,而且绘制出来图形质量也好。Gnuplot并不是NS2软件自带的工具,所以必须需要另外安装。Gnuplot可以在Windows、Dos、Os2、Linux 系统中运行。

在Linux系统下只要简单的输入Gnuplot就可以启动Gnuplot绘图环境,输入exit或者是quit退出。进入Gnuplot绘图环境以后有两种工作方式:一种是交互式,一直是批处理方式。交互式就是直接在绘图环境下编写绘图命令,批处理就是将绘图命令代码写入到一个文件中,使用load命令载人文件。

3.7 本章小结

本章首先介绍了NS2仿真平台的特点及其工作环境,对NS2和OPNET进行比较,介绍在Ubuntu环境下NS2的安装及环境配置的方法,及使用NS2实现仿真的基本流程。并对GAWK程序和绘图工具Gnuplot进行了认识。

13

桂林理工大学本科毕业设计·论文

4 基于NS2的AODV协议仿真

4.1 仿真环境场景的配置

本次设计的仿真场景从设置相同仿真场景区域不同节点数和设置相同节点数不同仿真区域两个方面着手。

场景采用NS2自带的场景生成器随机生成。运动场景生成器位于NS/ns-allinone-2.35/ns-2.35/indep-utils/cmu- scen-gen/setdest。

生成随机运动场景文件的命令是:

Setdest [-n num_ of_ nodes] [-p pausetime] [-s maxspeed] [-t simtime] [-x maxi] [-y maxy] > [movement-file];

如本次仿真场景需要生成一个节点数是9、平均停留时间为0秒(不停留)、节点移动速度为0.00001米/秒,仿真时间为12秒、仿真范围为50*50一个场景,使用如下命令:

Sedest –n 9 –p 0 –s 0.00001 –t 9 –x 50 –y 50 >cj.scn

本设计中设置相同仿真区域不同节点数的仿真场景设置的参数如4-1表:

表4-1 仿真场景参数表一

参数类型 仿真时间 节点数 路由协议 广播范围 节点停留时间 参数值 12S 9、12、15??33、36 AODV 15M 0 参数类型 仿真区域 最小传输速率 最大传输速率 通信代理 节点移动速度 参数值 50*50(m) 1.2Ms 1.4Ms TCP 0.00001m/s 本次设计的仿真区域中节点的分布均为随机生成,设置了区域大小恒定,节点数变化的10个不同场景,每个场景均有10个随机的节点分布方式。

按照以上思路和方法,本方案设置了一共10*10个不同的场景进行仿真。所以,每个场景都有十组的数据,共100组数据,统计、整理的时候取数据的平均值,这样可以比较客观地模拟并反映实际的通信网络的情况和网络性能。

14

桂林理工大学本科毕业设计·论文

设置相同节点数不同仿真区域的仿真场景设置的参数如4-2表:

表4-2 仿真场景参数表二

参数类型 仿真时间 节点数 路由协议 广播范围 节点停留时间 参数值 30S 20 AODV 15M 0 参数类型 仿真区域 最小传输速率 最大传输速率 通信代理 节点移动速度 参数值 30*30,35*35?70*70,75*75 1.2Ms 1.4Ms TCP 0.00001m/s 采用类似上述的场景生成方法,在设置相同节点数不同仿真区域的仿真场景的时候,本方案设计生成节点数目一定,仿真区域变化的10个大小不同的仿真场景,每个仿真场景均有10个随机的节点分布方式,设置了一共10*10个不同的场景进行仿真。

4.2 AODV协议场景代码的编写

编程使用的是TCL可扩展脚本语言,由脚本语言和相应的解释器组成。通过添加预编译的C函数来扩展TCL解释器。直接用C语言编写好相应的.tcl脚本,调用即可。具体代目如下:

第一,设定各项属性:

set val(chan) Channel/WirelessChannel #无线信道类型 set val(prop) Propagation/TwoRayGround #无线传播模式 set val(netif) Phy/WirelessPhy/802_15_4 #物理层类型 set val(mac) Mac/802_15_4 #MAC类型 set val(ifq) Queue/DropTail/PriQueue #接口队列类型 set val(ll) LL #逻辑链路层类型 set val(ant) Antenna/OmniAntenna #天线模型

set val(ifqlen) 50 #接口队列接受最大包数量 set val(nn) 13 #通信节点个数 set val(rp) AODV #路由协议 set val(x) set val(y)

30 #仿真场景尺寸X坐标轴 30 #仿真场景尺寸Y坐标轴

set val(traffic) ftp #数据包类型

15

桂林理工大学本科毕业设计·论文

set Stime1 0.02 set Stime2 0.25

#仿真开始时间1 #仿真开始时间2

set End 3 #仿真结束时间 第二,产生一个NS实例,设置记录文件:

set ns_ [new Simulator] #产生以模拟实例 set tracefd [open AODV.tr w] #产生一个trace文件 $ns_ trace-all $tracefd

set namtrace [open AODV.nam w] #产生一个nam文件 $ns_ namtrace-all-wireless $namtrace $val(x) $val(y) $ns_ puts-nam-traceall {# nam4wpan #} Mac/802_15_4 wpanNam namStatus on 第三,产生一个拓扑实例: set topo [new Topography] $topo load_flatgrid $val(x) $val(y) set god_ [create-god $val(nn)] set chan_1_ [new $val(chan)] 第四,配置移动节点参数:

$ns_ node-config -adhocRouting $val(rp) \\ #路由协议

-llType $val(ll) \\ #逻辑链路层 -macType $val(mac) \\ #MAC类型 -ifqType $val(ifq) \\ #队列类型 -ifqLen $val(ifqlen) \\ #队列长度 -antType $val(ant) \\ #天线类型 -propType $val(prop) \\ #无线信道传输模式 -phyType $val(netif) \\ #物理层类型 -topoInstance $topo \\ #拓扑对象

-agentTrace OFF \\ #关闭应用层对象的trace -routerTrace OFF \\ #关闭路由的trace -macTrace ON \\ #启用MAC的trace -movementTrace OFF \\ #关闭移动trace -channel $chan_1_

第五,产生一个节点实例:

16

桂林理工大学本科毕业设计·论文

for {set i 0} {$i < $val(nn) } {incr i} { }

source ./AODV_topo.scn #调用仿真场景文件 第六,定义ftppro过程: proc ftppro { src dst starttime } { global ns_ node_

set tcp($src) [new Agent/TCP] eval \\$tcp($src) set packetSize_ 60 set sink($dst) [new Agent/TCPSink]

eval $ns_ attach-agent \\$node_($src) \\$tcp($src) #分组的源节点地址 eval $ns_ attach-agent \\$node_($dst) \\$sink($dst) #分组目的节点地址 eval $ns_ connect \\$tcp($src) \\$sink($dst) #建立源节点到目的节点的TCP连接 set ftp($src) [new Application/FTP] #建立一个FTP数据流 eval \\$ftp($src) attach-agent \\$tcp($src) $ns_ at $starttime \}

第七,调用ftppro: set lowSpeed 0.20ms set highSpeed 1.4ms

Mac/802_15_4 wpanNam PlaybackRate $lowSpeed ftppro 8 2 $Stime1 ftppro 4 1 $Stime2

第八,定义通信协议仿真时,各几点间产生的分组流动的颜色: Mac/802_15_4 wpanNam FlowClr -p AODV -c tomato Mac/802_15_4 wpanNam FlowClr -p tcp -s 8 -d 2 -c blue Mac/802_15_4 wpanNam FlowClr -p ack -s 2 -d 8 -c blue Mac/802_15_4 wpanNam FlowClr -p tcp -s 4 -d 1 -c green Mac/802_15_4 wpanNam FlowClr -p ack -s 1 -d 4 -c green 第九,定义节点尺寸:

for {set i 0} {$i < $val(nn)} {incr i} {

17

set node_($i) [$ns_ node]

;# disable random motion

$node_($i) random-motion 0

桂林理工大学本科毕业设计·论文

$ns_ initial_node_pos $node_($i) 2 }

第十,定义仿真结束:

for {set i 0} {$i < $val(nn) } {incr i} { $ns_ at $End \for {set i 0} {$i < $val(nn) } {incr i} { $ns_ at $End \}

$ns_ at $End \$ns_ at $End \

4.3 AODV协议仿真

如4.1所述设置并产生了仿真场景文件后,在场景代码中直接调用已经生成的场景文件并设置两条通信链路,节点2和8、4和1分别在0.02s、0.25s开始建立通信,数据流格式为FTP格式。运行代码,可得4-1、4-2仿真效果图:

图4-1 仿真区域不变情况下12节点的一个随机仿真效果图

18

桂林理工大学本科毕业设计·论文

图4-2 仿真节点不变情况下仿真区域为40*40M的一个随机仿真效果图 下面介绍一下仿真区域为50*50不变,节点数为12个的仿真模型,通过这个模型了解AODV协议工作过程。

AODV工作过程:

仿真时间到了0.02s,节点8开始向周围节点即邻居广播RREQ信息,然后广播信息继续扩散,仿真时间到了0.25s,节点4开始向周围节点即邻居广播RREQ信息,然后广播信息继续扩散。经过多点路由请求广播后,节点8已经找到目标节点2的位置,节点2依靠邻居节点的广播,接收节点8的RREQ之后,返回RREP信息给节点8并建立通信(节点4和1也是通过相同的工作过程建立通信)。当节点8获得节点2传回来的路由信息以后,则按照该路径开始传送FTP信息。而收到源自于节点8的信息后,节点2会向路径返回ACK信息,此时双方建立连接。在AODV中这条路由会被一直维护,直到通信结束或者出现网络拥塞,链路失效。

运行仿真代码之后,系统会产生一个. nam格式的动画演示文件和一个. tr文件。其中. nam文件如上图4-1、图4-2所示。在NAM中进行仿真演示能直观地观察到通信节点之间的通信情况,包括通信节点路由寻径、通信链路建立、节点之间通信的过程。生成的.tr文件中包含的是格式化的内容,每一行包括17列,各个字段之间是以空格或Tab键区分开的。如图4-3所示:

19

桂林理工大学本科毕业设计·论文

图4-3 .tr文件截图

其中,第1列表示事件的类型:包括了r、s、f、四种情况,依次表示为接收、发送、转发、丢弃。

第2、3列表示事件发生的时间和节点ID

第4列表示发生事件所在的层,有四种不同的类型:MAC表示MAC层,AGT表示代理层,RTR表示路由层,IFQ表示MAC层与链路层之间。

第5、6列表示标志项和分组的ID。

第7列表示分组的类型:CBR表示等速的数据流,ACK表示探测的数据流。 第8列表示分组的大小,单位为bit。

第9-12列表示MAC层信息,包含了4项内容:第9列内容表示发送节点在无线信道上发送该分组所期望的时间值,用16进制表示,单位时间值用秒表示;第10列内容表示接收节点的MAC地址;第11列内容表示发送节点的MAC地址;第12列内容表示MAC层封装的分组类型。

第13列表示分隔符。

第14-17列表示IP层的信息,包含了4项内容:第14列内容表示发送分组的源节点地址,格式为“节点号:端口号”;第15列内容表示接收分组的目的节点地址,

20

桂林理工大学本科毕业设计·论文

格式为“节点号:端口号”;第16列内容表示分组的TTL值;第17列内容表示源节点到目的节点的跳数。

进行数据提取采用的方法是使用AWK程序对trace文件进行分析,字段变量之间的赋值以空格键为划分标准。

4.4 本章总结

本章首先介绍了仿真场景的参数及生成,通过编写代码实现AODV的协议仿真,用NAM动画演示工具可以直观的看到使用AODV协议的网络节点的通信过程。并对仿真的结果进行了分析。

21

桂林理工大学本科毕业设计·论文

5 AODV协议的性能分析

5.1 性能参数

衡量网络协议性能指标通常包括定性指标和定量指标。定性指标在整体上描述了网络某个方面的性能,比如是否按需路由、安全性、分布运行性、提供无环路路由等。定量指标可以更加详细的描述网络某方面的性能,通常会从传输时延、丢包率、归一化路由开销、网络抖动等方面着手。

(1)传输延时

传输延时是源节点发送数据到目的节点接收数据之间的时间差,计算传输延时的公式如下:

Td(k)=Tr(k)-Ts(k)

Td(k)表示第k个分组的传输延时,Tr(k)表示表示接收第k个包的时间,Ts(k)表示发送第k个包的时间。

(2)丢包率

丢包率是指特定的时间段内,传输过程中丢失包的数目与传输包的总数之比,计算丢包率的公式如下:

L表示丢包率,S是指传输的包的总数(Send),R表示成功接收的包的总数。 (3)归一化路由开销(normalized routing load)

指的是每发送一个数据报文所需要的路由控制报文数。对于Ad hoc网络中的协议来说。归一化路由开销越低越好。

(4)分组投递率(packet delivery ratio)指的是一个时间段内成功传输数据分组在所有传输的数据分组总量中多占的比例。反应网络支持的最大吞吐量,表明路由协议的完整性、正确性和适应网络变化的能力。在分析trace 文件时通常以成功传输的数据分组数量与所发送的数据分组总量的比值来衡量数据分组的投递率。计算公式如下:

PDR=NR/NS

其中PDR表示的是分组投递率,NS表示的是节点发送的数据分组数量,NR表示的是节点接收到的数据分组数量。它能反映出网络传输的可靠性。对于Ad hoc网络协议来说,数据分组投递率越高越好。对数据分组投递率要求比较高的实际应用,这个性能指标就显得更加重要了。

22

桂林理工大学本科毕业设计·论文

本次设计主要通过传输时延和丢包率这两个性能参数对采用AODV协议的网络进行性能分析。

5.2 参数分析

本次毕设中,选择编写.awk文件对仿真产生的数据文件.tr进行处理。分别从中求出传输时延和丢包率。其中.awk文件需要自行用C语言进行编写,然后在终端直接调用,则可直接得出相应的数据。

5.2.1 网络延迟的数据提取

整个网络的通信节点在建立了通信之后,通过编写delay.awk脚本从.tr文件中提取出网络延迟的相关数据,具体编写代码如下:

BEGIN {

highest_packet_id = 0; //初始化最高的分组ID为0 } {

action = $1; //将第一列的数据依次赋予给action time = $2; //将第二列的数据依次赋予给time type = $7; //将第七列数据赋予给type pktsize = $8; //将第八列数据赋予给pktsize src_address = $14; dst_address = $15;

packet_id = $6; //将第六列数据赋予给packet id //开始统计通信链路节点间发生通信的次数,并记录时间

if ( type != \ //确定数据链路已经开始建立连接之后才开始统计 {

if ( packet_id > highest_packet_id ) highest_packet_id = packet_id; if ( start_time[packet_id] == 0 ) start_time[packet_id] = time; if ( type == \ if ( action == \

end_time[packet_id] = time;

23

桂林理工大学本科毕业设计·论文

} } else {

end_time[packet_id] = -1; } } } END {

//计算通信链路间节点通信的延迟

for ( packet_id = 0; packet_id <= highest_packet_id; packet_id++ ) { start = start_time[packet_id]; end = end_time[packet_id]; packet_delay = end - start;

if ( start < end ) printf(\ } }

5.2.2 丢包率的数据提取

整个网络的通信节点在建立了通信之后,通过编写drop.awk脚本从.tr文件中提取出网络丢包率的相关数据,具体编写代码如下:

BEGIN {

highest_packet_id = 0; //初始化最高的分组ID为0 Snum = 0; //初始化总发送包的数目为0 Rnum = 0; //初始化总接收包的数目为0 }

//将各列数据相应地赋予到不同变量中 {

action = $1; time = $2; type = $7; pktsize = $8; src_address = $14; dst_address = $15;

24

桂林理工大学本科毕业设计·论文

packet_id = $6;

//开始统计网络中发送数据包和接收数据包的数量

if ( type != \) //确定数据链路已经开始建立连接之后才开始统计

{

if ( packet_id > highest_packet_id ) highest_packet_id = packet_id; if (type == \

Snum++; //统计节点间发送的数据包的数量 if ( type == \ {

if ( action == \ {

Rnum++; //统计节点间接收到的数据包的数量 } } } } END {

printf(\计算并输出丢包率 }

5.2.3 数据平均值的计算

在提取并统计出了不同场景中的网络延迟和丢包率之后,本设计编写了一个求平均值的.awk文件来直接调用相应的统计文件,得出它们平均值,方便数据整理,具体编程代码如下:

BEGIN {

sum = 0; //定义一个变量存放求和值 js =0; //定义一个变量统计值的个数 } {

a = $1; //将第一列的值赋予给变量a

25

桂林理工大学本科毕业设计·论文

if ( a != 0 ) //如果a不等于0,则执行以下统计函数 {

sum += a; js++; //将记录中的值求和,记录求和值的个数 } } END {

printf(\算出并输出平均值 }

5.3 仿真节点对AODV协议的影响分析

5.3.1 仿真节点的变化对网络传输延时的影响

通过对仿真数据的提取、整理,用Gnuplot作图,可得5-1图形:

图5-1 不同仿真节点的网络传输延时

其中X轴代表的是仿真节点的变化,Y轴代表网络节点间传输延迟,由图上可看出,在仿真区域大小、通信协议、仿真时间、传输速率一样的情况下,AODV网络中节点之间的传输延迟存在着一个凹形的变化。通过比较可以看出,随着节点数目的增

26

桂林理工大学本科毕业设计·论文

多,最佳路由和质量随之增高,所需传播延迟相应减少,但随着节点增加到一定数值之后,由于节点间路由寻径计算时间变长,造成延时变大,可见AODV网络延迟与节点数量有关。

5.3.2 仿真节点的变化对网络丢包率的影响

通过对节点变化的仿真数据的提取、整理,用Gnuplot作图,可得5-2图形:

图5-2 不同仿真节点的网络丢包率

其中X轴代表网络中节点的变化,Y轴代表网络节点间的丢包率,由图中可以看出,AODV网络的丢包率随着节点的增加大概呈现一个逐渐上升的趋势,即网络的丢包率随着节点的增加,呈现出上升的情况。通过比较可以看出随着节点数目的增多,传播节点增多,网络丢包率有所增加,可见网络丢包率与网络节点数有关。

27

桂林理工大学本科毕业设计·论文

5.4 仿真区域大小对AODV协议的影响分析

5.4.1 仿真区域大小变化对网络传输延时的影响

通过对仿真区域场景变化的仿真数据的提取、整理,用Gnuplot作图,可得5-3图形:

图5-3 不同仿真区域场景的网络传输延时

图中X轴代表仿真场景,30表示仿真的场景是一个30*30的区域空间,40代表40*40的区域空间,其余的场景表示也一样,Y轴代表着网络的传输延迟。从图中可以看出,在节点一定时,网络传输延时随着仿真区域变大而稍微变大,只是在45和75的时候存在着一个较大的阶跃,这很可能是被随机生成的场景中的随机因素所影响。随着网络仿真区域的增大,网络节点分布范围对路由寻径所花费的时间有影响,节点在通信范围内分布的越远网络通信延迟越长,可见不同仿真场景区域大小也是影响网络延时的一个重要因素。

5.4.2 仿真区域大小变化对网络丢包率的影响

通过对仿真区域场景变化的仿真数据的提取、整理,用Gnuplot作图,可得5-4

28

桂林理工大学本科毕业设计·论文

图形:

图5-4 不同仿真区域场景的网络丢包率

图中X轴代表仿真场景, Y轴代表着网络的传输延迟。从图中可以看出,AODV网络的丢包率,随着仿真区域变大大概呈现一个凹陷的形状,即网络的丢包率随着网络通信场景的增加,显示减小,再增大的变化。可是也能看出曲线起伏较大,故网络中仿真区域场景的变化对网络的丢包率影响还是比较严重的,由曲线大体走势可以看出,网络中通信节点一定的时候,网络中节点通信的丢包率是受通信网络大小的影响的。

5.5 本章小结

本章通过对AODV路由协议的仿真,分析出网络不同节点数量的变化和网络仿真区域环境大小的变化是影响AODV网络的传输延时和丢包率的重要因素,分析得出AODV协议适用与中小型网络环境。

29

桂林理工大学本科毕业设计·论文

6 结论

本次设计的目标是学习AODV路由协议,并使用NS2仿真平台完成对AODV协议的模拟仿真,通过传输时延和丢包率对使用AODV路由协议的网络进行性能分析。NS2仿真平台对于我来说是完全陌生的,所以要完成这次毕设首先要做的就是学习如何使用NS2及怎么实现对网络的模拟仿真。要完成毕设,首先必须了解自己的主要任务是什么,要怎么做才能完成,然后再一一的完成。在做毕设的过程中遇到了很多困难,最困难的是分析仿真生成的.tr文件、编写AWK程序及使用它提取所需数据。编写AWK程序的前期,由于毫无头绪,查阅了很多相关的资料了解了前人的设计思想与方法,再结合本次毕设的需求编写出AWK程序。

使用NS2仿真,可以直观的看到AODV的整个工作过程。通过GAWK可以分析记录整个仿真过程的trace数据文件,同时通过个Gnuplot绘图工具可以把提取到的数据直观的显示在图上方便分析。从仿真结果分析可知:随着节点数目的增多,最佳路由和质量随之增高,所需传播延迟相应减少,但随着节点增加到一定数值之后,由于节点间路由寻径计算时间变长,造成延时变大,AODV网络延迟与节点数量有关。随着节点数目的增多,网络丢包率有所增加,网络丢包率与网络节点数有关。随着网络仿真区域的增大,网络节点分布范围对路由寻径所花费的时间有影响,节点在通信范围内分布的越远网络通信延迟越长从而影响网络延迟。经过节点越多数据丢包也越多,从而影响丢包率。不同仿真区域场景大小也是影响网络延时和丢包率的一个重要因素。由此综合以上分析可以知道AODV协议适用与中小型网络环境。

30

本文来源:https://www.bwwdw.com/article/npao.html

Top