无线Ad Hoc网络中一种多路径路由协议仿真研究 - 图文

更新时间:2024-05-03 14:42:01 阅读量: 综合文库 文档下载

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

摘要

摘要

移动Ad Hoc网络由一组由无线收发装置的移动节点组成的一个多跳的、不需要固定中心接入点的自治系统。网络搭建方便,不需要基础设施,并且网络节点地位对等,可以自由移动。Ad hoc网络在现代社会越来越多的运用于各个领域,如军事、医学、空间探测等。无线Ad hoc网络作为一种典型的自组织网络,其路由协议一直是研究的重点。Ad Hoc网络的特殊性使得传统有线网络的技术无法在Ad Hoc网络使用,因此需要设计新的协议和技术,如MAC协议,路由技术,QoS体系,安全技术,信道接入技术等。

本文通过网络仿真软件NS-2以仿真AOMDV协议为例介绍了NS-2仿真路由协议的详细步骤,并给出了DSR、DSDV、AODV三种路由协议的仿真结果图和一些性能分析。

关键词:Ad hoc网络,NS-2仿真,DSDV协议,DSR协议,AOMDV协议

I

ABSTRACT

ABSTRACT

The mobile Ad Hoc network is an autonomous system, which is multi-hopped and with no fixed center access points, consisting of a set of mobile nodes of wireless transceiver. Network established without any aid of infrastructure is convenient and also has equivalent node status which are free to move. The Ad Hoc is widely used in many fields such as military, medicine and space exploration etc. The routing protocol is always the focus of Ad Hoc as a typical self-organized network. The reason designing new agreement and specification such as MAC protocol, routing protocol, QoS system, security technology, channel access technology etc is the particularity which makes the traditional wired network not available.

In this paper, NS-2 network simulation software to simulate AOMDV agreement as an example of the NS-2 simulation routing protocol detailed steps, and gives the DSR, DSDV, AODV simulation results of three routing protocols and some performance analysis chart.

Key words: Ad Hoc network ,Simulation,NS-2,DSDV,AOMDV,DSR,Agreement

目录

目录

摘要 ........................................................................ I ABSTRACT ................................................................... II 第1章 引言 ............................................................. - 1 - 1.1 无线自组网的产生和发展 ............................................... - 1 - 1.2 无线自组网的特征 ..................................................... - 1 - 1.3 无线自组网应用领域 ................................................... - 2 - 1.4 无线自组网体系结构 ................................................... - 2 - 1.5文章研究内容 ......................................................... - 1 - 1.6本文研究的应用 ....................................................... - 2 - 第2章 AD-HOC网络的路由协议分类 ........................................ - 1 - 2.1表驱动路由协议 ..................................................... - 1 - 2.2 单路径和多路径 ..................................................... - 1 - 2.3 几种典型的无线自组网路由协议 ....................................... - 1 - 2.3.1 目的序列距离矢量路由协议DSDV ................................... - 1 - 2.3.2 按需平面距离矢量路由协议AODV ................................... - 1 - 2.3.3 临时排序路由算法TORA ........................................... - 2 - 2.4 路由协议性能评标准 ................................................. - 3 - 第3章 网络模拟器 NS2 ................................................... - 2 - 3.1 NS2简介 ............................................................ - 2 - 3.2 NS2组成部分 ........................................................ - 2 - 3.3 NS2模拟基本流程 .................................................... - 2 - 第4章 AD HOC网络多路径仿真研究 ........................................ - 2 - 4.1 多路径协议介绍 ..................................................... - 2 - 4.1.1 AOMDV协议 ..................................................... - 2 - 4.1.2移动节点的创建 .................................................. - 3 - 4.1.3 多路径计算 ...................................................... - 3 - 4.2 无线自组网路由模拟的实现 .......................................... - 4 - 4.2.1无线自组网路由协议场景的构建 .................................... - 4 - 4.2.2 TCP代理的创建和设置 ............................................ - 4 -

目录

4.2.3 仿真参数的设置 ................................................ - 5 - 4.3 仿真结果分析 ....................................................... - 1 - 4.3.1动画演示工具nam ............................................... - 1 - 4.3.2 无线Trace文件格式 ............................................ - 2 - 4.3.3数据分析工具gawk .............................................. - 1 - 4.3.4绘图工具gnuplot ............................................... - 1 - 4.3.5仿真结果分析 ................................................... - 2 - 第5章 结论 ............................................................. - 2 - 参考文献 ................................................................ - 2 - 致 谢...........................................................................................................................................................................................- 1 -

第1章 引言

第1章 引言

1.1 无线自组网的产生和发展

“Ad Hoc”一词来源于拉丁语,意思是“专用的、特定的”。无线自组网通常也可称为“无固定设施网”或“自组织网”。由于组网快速、灵活、使用方便,目前无线自组网已经得到了国际学术界和工业界的广泛关注,其应用也越来越广泛,已经成为移动通信技术向前发展的一个重要方向,将在未来的通信技术中占据重要地位。

无线自组网的前身是分组无线网(Packet Radio Network,PRNET),对分组无线网的研究源于军事通信的需要。早在1972年,美国的DARPA就启动了分组无线网项目PRNET,研究战场环境下利用分组无线网进行数据通信。在此之后,DARPA于1983年启动了高残存性自适应网(Survivable Adaptive Network,SURAN)项目,研究如何将PRNET的研究成果加以扩展,以支持更大规模的网络,1994年,DARPA又启动了全球移动信息系统(Global Mobile Information Systems,GloMo) 项目,旨在对能够满足军事应用需要的、高抗毁性的移动信息系统进行全面深入的研究。1991年成立的IEEE 802.11标准委员会采用了“Ad Hoc”一词来描述这种特殊的自组织对等式多跳移动网络,无线自组网就此诞生。IETF专门成立了(Mobile Ad Hoc Network,MANET) 小组来研究无线自组网的相关问题[1]。

1.2 无线自组网的特征

无线自组网由一组带有无线通信收发装置的移动终端节点组成,网络中每个终端可以自由移动且地位相等,是一个多跳、临时、无中心网络,因此它具有以下主要特征:

(1)自组织:即网络的布设无需依赖于任何预先架设的网络设施。节点开机后就可以快速、自动地组成一个独立的网络。

(2)动态拓扑:即网络中的节点可以任意移动,并且可以随时关闭电台。发送装置的天线类型多种多样,发送功率的变化,无线信道间的相互干扰,地形和天气等综合因素的影响,造成网络的拓扑结构变化难测。

(3)多跳路由:由于节点发射功率的限制,节点的覆盖范围是有限的。当要与其覆盖范围之外的节点进行通信时,需要中间节点的转发,即要经过多跳才能到达目的节点。

1

电子科技大学成都学院课程设计论文

(4)无中心且所有节点地位平等:节点可以随时加入或离开网络,任意节点故障不会影响整个网络运行,是一个无中心结构的对等式网络,抗毁性强。

(5)灵活性好:无线自组网中的工作站可以随时加入或离开,这对于一些根据需求而需要随时组建网络的应用非常适合。

1.3 无线自组网应用领域

由于无线自组网的特殊性,它适合用于无法或不便预先铺设网络设施的场合,以及其他需要快速自动组网的场合等。目前为止,其主要的应用领域有:

(1)军事应用:军事应用是无线自组网技术的主要应用领域。因其特有的无需架设网络设施、可快速展开、抗毁性强等特点,无线自组网是数字化战场通信的首选技术。

(2)无线传感器网络:传感器网络是无线自组网技术应用的另一大领域。采用传感器网络能够跟踪从天气到企业商品库存等各种动态事物,极大的扩充互联网的功能。对于很多应用场合来说传感器网络只能使用无线通信技术,并且传感器的发射功率很小。分散的传感器通过无线自组网技术组成一个网络,可以实现传感器之间和与控制中心之间的通信。

(3)个人通信:个人局域网(Personal Area Network,PAN)是无线自组网技术的又一应用领域,用于实现PDA、手机、掌上电脑等个人电子通信设备之间的通信,并可以构建虚拟教室和讨论组等崭新的移动对等(Mobile Peer-To-Peer)应用。

(4)移动会议:在室外临时环境中,工作团体的所有成员可以通过无线自组网方式组成一个临时网络来协同完成一项大的任务,或协同完成某个计算任务。在室内办公环境中,办公人员携带的包含无线自组网收藏器的PDA可以通过无线方式自动从台式机上下载电子邮件,更新工作日程表等。

(5)其他应用:可应用于紧急和突发场合,如在发生了地震、水灾、火灾或遭受其它灾难后,固定的通信网络设施无法正常工作的情况下组建无线自组网。还可与蜂窝移动通信系统等现有移动通信系统相结合,利用移动的多跳转发能力来扩展现有蜂窝移动通信系统的覆盖范围等。

1.4 无线自组网体系结构

参照OSI/RM,无线自组网体系结构如图2.1所示[2]。

2

第1章 引言

图1.4 无线自组网体系结构

下面介绍各层的基本情况:

(1)物理层:物理层包括射频(RF)电路、调制和信道编码系统。IEEE802.11b/a/g、蓝牙(Bluetooth)和超宽带(LJwB:ultr-awideband)等规范都是具体的物理层协议。

(2)数据链路层::数据链路层负责在不可靠的无线链路上建立可靠和安全的逻辑链路。其分为逻辑链路控制子层(LLC)和媒介访问子层(MAC)。以IEEE802.11为例,其LLC子层负责无线链路差错控制、流量控制、将网络层的分组组帧以及重传等,而MAC子层负责节点对无线媒介访问的控制和帧的加解密操作等。

(3)网络层:网络层负责分组的路由,建立网络服务类型以及在传输与链路层之间传输分组。考虑到无线自网的动态性,网络层需要负责分组的重新路由和移动管理等。无线自组网在网络层的一个重要问题是路由协议。

(4)传输层:传输层负责提供端到端的可靠数据传输服务。然而,由于无线链路的不稳定,传统的有线网传输层协议,在无线环境下性能下降明显,所以必须改进。

(5)应用层:无线自组网的应用层指定的是各种各样类型的业务。在实际实施的时候,可以采用各种各样的应用层协议和标准,比如WAP(无线应用协议)协议等。

1.5 文章研究内容

1、查阅Ad Hoc路由协议文献,了解典型多路径路由协议工作原理,并了解其优

缺点;

2、深刻理解AOMDV协议的实现过程和所需条件; 3、通过NS2仿真实现 AOMDV协议;

3

电子科技大学成都学院课程设计论文

1.6 本文研究的应用

Ad Hoc网络的许多特点使它能应用于民用和军事等领域。首先网络的自组性为网络快速部署提供了可能。其次,网络多跳转发的特点可以在不降低网络覆盖范围的条件下减少每个终端的发射功率,从而为移动终端的小型化、低功耗提供了可能。从无线信道共享的角度来看,Ad Hoc网络降低了信号冲突的概率,提高了信道利用率。另外,网络的抗毁性、鲁棒性满足了某些特定应用的需求。

目前,Ad Hoc网络主要应用场合包括:●军事应用 ●紧急和突发场合 ●偏远野外山区 ●移动会议和临时场合 ●个人通信和网络 ●商业应用

4

第2章 Ad-hoc网络的路由协议分类

第2章 Ad-hoc网络的路由协议分类

由于Ad hoc网络的无线多跳转发、移动、带宽以及能量受限等特点,如何设计良好的路由策略是建立Ad Hoc网络的关键问题。目前MANET WG已经提出了许多协议草案,如DSR、AODV、ToRA、ZRP等。此外,国内外研究人和机构也发表了许多关于Ad Hoc网络路由协议的学术论文,比如DSDV、WRP、QAODV、FSR、LANMAR、EAODV等。这些路由协议根据路由建立的方和时间可以分为表驱动路由策略(TableDrive)和按需路由策略(OnDemand)两大类,如图2.1所示

Ad Hoc路由协议 表驱动路由 按需路由协议 DSDV WRP DSR AODV TORA ZRP

图2.1 Ad hoc 路由协议分类

2.1 表驱动路由协议

表驱动路由协议的路由发现策略与传统的路由协议类似,各移动节点通过周期性地广播路由信息分组来交换路由信息、主动发现路由。同时,节点必须维护到达网内所有节点的路由。它的优点是当节点需要发送数据分组时可以快速得到准确的路由信息,所需要的延时小;缺点是需要大量的控制分组来尽可能保证路由的更新能够即时反应当前拓扑结构的变化,花费开销较大;而且,动态变化的拓扑结构可能使得这些路由更新变成过时的信息,路由协议将一直处于不收敛状态,不适合应用于无线网络。

在早期的自组网路由协议的研究中,主要思路是修改有线网络的路由协议用以适应在自组网环境中运行。这些路由协议大部分属于表驱动路由协议。下面将介绍几种典型的表驱动路由协议。

5

电子科技大学成都学院课程设计论文

DSDV(Destination Distance Sequence Vector)是一种基于Bellman Ford算法的主动路由协议。它被认为是最早的Ad Hoc网络路由协议。DSDV是一种无环路矢量距离路由

AODV也是一种典型的按需路由协议。AODV实质上就是DSR和DSDV的综合,它借用了DSR中路由发现和路由维护的基础程序,及DSDV的逐跳(H叩一by-HoP)路由、顺序编号和路由维护阶段的周期更新机制,以DSDV为基础,结合DSR中的按需路由思想并加以改进。AODV包括3种基本的路由控制分组:路由请求分组(RREQ)、路由应答分组(RREP)、路由出错分组(RERR)。另外,AODV还包括邻节点探测分组(HELLO)。其中,RREQ包含的主要信息有源节点IP地址、源节点序列号、广播D、目的节点正地址、目的节点序列号和源节点到当前接收到RREQ的节点的跳数:RREP包含的主要信息有源节点到目的节点的跳数、目的节点IP地址、目的节点序列号、源节点IP地址、路由生存时间;RERR包含的主要信息有不可达的节点个数、不可达的目的节点正地址、不可达的目的节点序列号。AODV由路由建立和路由维护两个过程组成。

AODV也是一种典型的按需路由协议。AODV实质上就是DSR和DSDV的综合,它借用了DSR中路由发现和路由维护的基础程序,及DSDV的逐跳(H叩一by-HoP)路由、顺序编号和路由维护阶段的周期更新机制,以DSDV为基础,结合DSR中的按需路由思想并加以改进。AODV包括3种基本的路由控制分组:路由请求分组(RREQ)、路由应答分组RREP)、路由出错分组(RERR)。另外,AODV还包括邻节点探测分组(HELLO)。其中,RREQ包含的主要信息有源节点IP地址、源节点序列号、广播D、目的节点正地址、目的节点序列号和源节点到当前接收到RREQ的节点的跳数:RREP包含的主要信息有源节点到目的节点的跳

6

第2章Ad-hoc网络的路由协议分类

2.2 单路径和多路径

传统Ad Hoc网络单路径路由

Ad Hoc移动网络中单路径路由主要分成基于表驱动的被动路由¨,2j(如DSDV(Destination-Se.

quencedDistance-VectorRouting))和按需主动路由协议¨(如DSR(DynamicSourceRouting)J,AODV(AdHocOnDemandDistanceVectorRouting))两种。被动路由跟传统Intemet网络中的距离矢

量算法类似,都是通过节点周期性交换路由表来实现的,只需稍做修改便可用于AdHoc移动网络。主动路由一般都基于按需路由方式,通过泛洪广播实现,主要分为路由发现(RD:RouteDiscovery)和路由维护(RM:RouteMaintenance)两个阶段。

DSDV协议DSDV协议是一种基于Bellman-Ford路由机制的,表驭动路由协议,是为移动AdHoc网络制定的。最早的路由协议之一。每个节点都维护一张路由表,节点通过与目的节点相关的序列号判断路由的新旧,并依此避免路由环路的产生。每个节点周期性的将自己的路由表广播给其邻节点,其邻节点根据收到的路由表来更改自己的路由表。

DSR协议动态资源路由协议DSRl3是用于移动节点多跳无线AdHoc网络的简单和有效的主动路由协议。使用DSR时,网络是自组织和自配置的,要求无既定的网络结构和管理。DSR协议有两个主要的机制路由发现和路由维护一起工作,以实现AdHoc网络中源路由的发现和维护。

路由发现。路由发现阶段主要由路由请求和路由响应两个阶段组成。只有当源节点s试图向目的节点D发送数据,并且尚不知道S和D之间的路由时,启动路由发现机制。具体包括RREQ(Routerequest)分组.对各节点对RREQ分组的处理,对信宿的路由回答RREP(Routereply)。

路由维护。如果网络拓扑发生改变比如说链路中断导致S和D之间的路由无法再使用,此时启动路由维护十JL制。DSR协议通过MAC层检测到链路断开,节点将“路由错误分组”RREQ到发送信源,信源节点将删除该路由,重新进行路由发现,称为“逐跳MAC确认”的网络。此外还有“逐跳MAC不确认”的网络和利用“端到端确认”的路由维护。DSR不使用任何定期路由广告、链路状态感应、或者是邻居检测数据包,也不会依赖网络的下一层得到这些功能。DSR使用外部“源路由”,即当要发一个数据包时,该数据包所需要经过的所有节点序列均包含在该数据包的包头中。

7

电子科技大学成都学院课程设计论文

AODV协议。AODV路由协议是由DSDV改进得到的,与DSDV不同,它是按需路由协议。AODV采用逐跳转发。报文的方式。另外AODV还支持组播路由和支持QoS,其缺点是不支持单向信道,原因是路由回答报文。直接沿着路由请求的反向回到源节点。AODV协议由路由发现过程和路由维护过程组成。

单路径评价及问题分析。单路协议的优势在于它的简单性。但是这种简单性从根本上限制了单路协议性能的提升空间。Ad Hoc网络中的带宽、节点能量等资源是相当有限的。同时,在链路上以及在路由器处的拥塞,也是造成Ad Hoc网络中较大延迟的主要原因。

在Ad Hoc网络中使用单路路由协议,如果目的节点相同的数据包全部都在同一条路径上发送,当某条链路拥塞或者断开时,通过该链路发送的所有数据就都必须由新的路径发送,网络不能在轻载时充分利用资源,不能当网络发生拥塞或者链路断开时也较好地重新选择合适路径。在最近Ad Hoc路由研究中,人们提出了多路径路由方法来解决上述问题。

多路径协议介绍。多路路由是指为任意一对节点同时提供多条可用的路径,并允许节点主机[或应用程序)选择如何使用这些路径。多路路由算法为节点间提供多条路径,并确保发往其中一条路径的数据经由该路径到达目的地。多路路由网络是其中的路由器执行多路路由算法的网络。从理论上证明了按需多路径拥有较长的路径存活时间和更可靠路由信息,而且拥有良好的性能,并能减少部分拥塞。因此近年来多路径研究得到广泛关注,主

2

(

DSDVM(Destination-Se-quencedDistance.VectorRoutingMulti.path))和多路径主动路由协议(SMRJ7j,AOMDVJ)。如基于被动路由DSDV基础上扩展DSDVM通过修改内部数据结构等方法获取多路径支持;基于主动路由DSR扩展的SMR,通过修改DSR路由发现机制,并通过目的节点获取最大不相交路径;出了基于AODV协议的多路径协议AOMDV。

DSDVM协议DSDVM是在DSDV基础上扩展的多路径路由协议。该协议通过获取和维护多条Quasi最短路径实现多路径路由协议。所谓Quasi最短路径是指该路径中除第1跳以外到目的节点距离最短的路径,Quasi多路径是指从源节点到目的节点的一系列Quasi最短路径集合。最短路径仅是Quasi最短路径的特例,称之为主路径,其他的Quasi最短路径称之为冗余路径,DSDVM通过在源节点把数据分布在Quasi多条路径上来实现负载平衡。DSDVM与DSDV不同之处在于内部数据结构和多路径计算。

8

第2章Ad-hoc网络的路由协议分类

内部数据结构。DSDVM跟DSDV类似,都是通过周期性跟相邻活动节点交换路由信息更新路由表,所不同的是内部数据结构。DSDVM每个节点的路由表中都包含如下的路由信息:目的节点地址,下跳地址(主路径的下跳地址),主路径到达目的节点的跳数,目的序列号,前置节点地址和一个包含Quasi冗余路径下跳地址的集合。每次路由更新都把新检测到的相邻节点按照一定的计算添加到Quasi冗余路径。

多路径计算。DSDVM通过判断相邻节点(非主路径上的下跳地址)是否在主路径上,如果不是在主路径上,将该地址添加到下跳地址的链接表中,否则丢弃,从而实现无环多路径。

SRM协议。SRM是DSR协议的一个扩展,其研究侧重点是频繁发生的路由发现所带来的开销。协议的主要思想是为源节点和中间节点提供一条以上的替换路径(AlternateRoute)。由于替换路径与主路径是独立路径,当主路径失效时,数据传输不会被打断,而是换用替换路径来继续发送数据包,属于按需多路径路由协议。

路由发现。SRM的路由发现过程和DSR基本相似,不同的是,当第1个路由请求RREQ包到达目的节点后,目的节点除了向源节点发送路由应答RREP包外,还记录下这条路径作为主路径。对于随后到达的路由请求包,如果其中的路径和所记录的所有路径都是独立路径,目的节点就发送相应的路由应答包,同时记录下这条路径;否则,直接丢掉该路由请求包。这样既可以保证当主路径失效时,其他路径还可以发包(因为它们和主路径是相互独立的),又避免了目的节点因发送路由应答包过多而带来不必要的网络拥塞。

路由维护。当中间节点检测到链路断开后,利用替换路径把数据包重新发送出去,并且向上游节点和源节点发送RRER,请求它们把包含该链路的路径删除;当源节点收到RRER后,使用以下两种路由策略重新做

路由发现:

1)只要收到路径断开消息,就重新做路由发现,这样可以获取最新的网络信息; 2)只有收到两条(或多条)路径都断开的消息后,才重新做路由发现,这样可以减少部分路由开销。SMR试验表明,使用第2种路由,发现策略性能较好。

AODVM协议。AODVM(AdHocOn.demandDistanceVectorMulti—path)多路路由协议也是在AODV的基础上进行扩展的,与AODV协议中直接丢弃RREQ包的拷贝不同,中间节点会将包含在这些包中的信息记录在一个表(RREQ表)中。对每个接收到的RREQ消息的拷贝,接收的中间节点将产生该RREQ消息的信源,该RREQ要去的信宿;把该RREQ的邻居,以及其他的一些额外信息记录传输到该RREQ表中,但不能直接向信源发送RREP消息。

9

电子科技大学成都学院课程设计论文

路由发现。AODVM路由发现阶段与AODV类似,当信宿从其某个邻居处接收到第1个RREQ包时,它便更新自己的序列号同时产生一个RREP消息。RREP包包含一个额外的域“LasthopID”,用来说明该RREQ的拷贝来自哪个邻居。该RREP包沿传输过该RREQ拷贝的路径反向发送到信源。当信宿从其他邻居处接收到该RREQ包的拷贝时,每次都更新其序列号,同时产生一个RREP包。同第1个RREP包一样,这些RREP包也包含对应的最后一跳节点的ID(LasthopID)。当一个中间节点从它的邻居处接收到一个RREP包时,它便从它的RREQ表中删除掉对应该邻居的表目,同时在路由表中增加一个路由表目,以 显示到己经发现的RREP包发起者(即信宿)的路由;然后该节点通过RREQ表,识别一条到信源最近的路径,将该RREP消息传输到相应的邻居。RREQ表中对应该邻居的条目即被删除。为了确保一个节点没有被多条路径共享,即保证路径的节点不相关,当节点侦听任一其他节点广播RREP消息时,它们便从RREQ表中删除对应该传输节点的条目。

路由维护。当一个中间节点接收到RREP消息而无法继续往前传输(其RREQ表所有下跳地址的路径都失效时),便产生一个路由发现错误消息(RDER:RouteDiscoveryError),并把该消息发送到将RREP消息发送给其邻居节点。邻居一旦接收到该RDER消息,便将RREP消息发送给另外的邻居,以便在可能时将RREP消息传输至信源。RDER消息的数量会受到限制,以避免该数据包的大量产生和交换。

其他多路径路由协议。MSR是在DSR基础上扩展的,利用中间节点和目的节点反馈多条路径,并使用路径探测来减少网络拥塞和网络延迟;AODV.BR在AODV基础上建立多条路径来为路由出错的数据包提供替换路径支持;通过在路由响应阶段重定向响应路径实现多条节点不相交路径;ARP通过路径拆分来实现多路径;提出一种基于多样性编码的方法来建立多条路径,并把数据包分发到多条路径发送,藉此来提高可靠性和发送率。M—MPRE提供了基于网眼的多路径寻径和包发送。AMR[2-23]使用网络最大流获取多条节点不相交路径,并利用多条路径并行或者并发发送数据来提高网络流通量和负载平衡。

多路径协议应用。以上多路径协议主要集中于如何提高网络传输率,降低网络延迟以及提高网络负载平衡,但多路径协议在QoS、能源、安全等方面也有自身的优势。如TBP提出通过发送选票来并行探测多条较优的路径,并通过资源预留方式实现QoS;提出在多项式复杂度内找到多条链路不相交或者节点不相交路径减少源消耗。文献[11]提出一种基

10

第2章Ad-hoc网络的路由协议分类

于并行网络流方式的自适应多路径路由协议,并通过时间限制来避免恶意DOS攻击,以提高网络安全性。

2.3 几种典型的无线自组网路由协议

2.3.1 目的序列距离矢量路由协议DSDV

DSDV(Destination-Sequenced Distance-Vector)是基于经典Bellman-Ford路由选择过程的改进型路由表算法。DSDV以路由信息协议为基础。是无线自组网协议发展较早的一种。

使用DSDV时,网络中的每一个移动节点都需要维护一个路由表。路由表表项包括目的节点、跳数和一个由目的节点注明的序列号,序列号能帮助节点区分有效和过期的路由信息,并可防止路由环路的发生。标有更大序列号的路由信息总是被接收。如果两个更新分组有相同的序列号,则选择跳数最小的,使路由最优(最短)。每个节点必须周期性地与邻节点交换路由信息,当然也可以根据路由表的改变来触发路由更新。路由表更新有两种方式:一种是全部更新,即拔掉更新消息中将包括整个路由表,主要应用于变化较快的情况;另一种是增量更新,更新消息中仅包含变化的路由部分,通常适用于变化较慢的情况。

2.3.2 按需平面距离矢量路由协议AODV

AODV(Ad hoc On-demand Distance Vector Routing)由DSDV发展而来,不同的是AODV为反应式路由协议。源节点首先广播一个携带目的节点信息的路由分组(RREQ),其邻居节点依次向周围节点广播此路由分组,广播RREQ前会建立此节点到源节点的路由,直到路由分组到达目的节点或者一个中间节点,这个节点包含目的节点的路由信息,就不再广播RREQ。此过程中,会建立一个从源节点到目的节点的反向路由,也就是从目的节点到源节点的路由。然后该节点将沿着反向路由发回一个RREP,RREP到达源节点后路由发现过程结束。为避免路由循环,每一个路由分组中都包括一个sequence ID(SID)作为唯一标识,如果一个节点收到一个SID比它当前保留的SID小的数据包,表明该数

11

电子科技大学成都学院课程设计论文

据包是过时的,它将不予处理,而是简单的丢弃。发现多条路由时,源节点会选择一条SID大、跳数少的最优路由。

源节点移动后会重新启动路由发现过程,中间节点移动,那么其邻居节点会发现链路失效并向上游节点发送链路失效消息(RERR),一直传到源节点,然后源节点重新发起路由发现,或者也可以由发现链路失效的节点自己发起路由发现,此称为自修复。只要路由是活动的,路由表就要一直维护下去。活动的意思是有数据包从源节点发往目的节点,如果链路上不再有数据包传递,一段时间之后,链路就会过期,最终路由信息将会从中间节点的路由表中删除[]。 2.3.3 动态源路由协议DSR

DSR(Dynamic Source Routing)是一种基于源路由的按需路由协议,它使用源路由算法而不是逐跳路由的方法。DSR主要包括两个过程:路由发现和路由维护。当源节点S向目的节点D发送数据时,它首先检查缓存是否存在未过期的到目的节点的路由,如果存在,则直接使用可用的路由,否则启动路由发现过程。具体过程如下:源节点S将使用洪泛法发送路由请求消息(RREQ),RREQ包含源和目的节点地址以及唯一的标志号,中间节点转发RREQ,并附上自己的节点标识。当RREQ消息到达目的节点D或任何一个到目的节点路由的中间节点时,D或该中间节点将向S发送路由应答消息(RREP),该消息中将包含到S到D的路由信息,并反转S到D的路由供RREP消息使用。此外,中间节点也可以使用路由缓存技术(Routing Cache)来对协议作进一步优化。 2.3.4 临时排序路由算法TORA

TORA(Temporally Ordered Routing Algorithm)协议称为临时排序路由算法,是一种源初始化按需路由选择协议,它采用链路反转的分布式算法,具有高度自适应、高效率和较好的扩充性,比较适合高度动态移动、多跳的无线网络,其主要特点是控制报文定位在最靠近拓扑变化的一小部分节点处,因此节点只保留邻近点的路由信息。该算法中路由不一定是最优的,常常使用次优路由以减少发现路由的开销。TORA协议包括3个基本模块:路由的创建、路由的维护和路由的删除。在路由的建立和路由维护过程中,节点应用“高度”Metric来建立一个以目的节点为根的有向非循环图。这样链路根据相邻两个节点的高度值来确定向上或向下的方向。

6

12

第2章Ad-hoc网络的路由协议分类

2.4 路由协议性能评标准

主要包括以下几个方面的指标:

(1)丢包率:网络中数据传输是以发送和接收数据包的形式进行的,理想状态下发送了多少数据分组就能接收多少数据分组,但是由于信号衰减、网络质量等诸多因素影响

[7]

11

第2章Ad-hoc网络的路由协议分类

下,可能产生数据分组丢失。在单位时间内未收到的数据分组与发送的数据分组的比率就是丢包率,当然这个数字越小越好。丢包率的计算公式见式(4.1)。

丢包率=

未接收到的分组数发送分组数 (4.1)

(2)端到端平均时延:指单位数据包从源节点到目的节点所用的时间,时延越小,说明响应越快,网络质量越令人满意。该统计量反应了网络的拥塞状况,计算公式见式(4.2)。

端到端平均时延=

源节点数据包成功传输数据包总数所用时间 (4.2)

(3)路由开销:单位数据包个数所引起的额外路由分组个数,包括RREQ(Route Request,路由请求)、RREP(Route Reply,路由应答)、RRER(Route Error,路由错误)等,该统计量反应了路由协议的效率,计算公式见式(4.3)。

路由开销=

发送的路由分组数发数的数据分组数 (4.3)

(4)平均吞吐量:该参数是在接收数据时由网络层的上层统计的,是指节点单位时间内收到的数据分组数,它是一个容量概念,表示数据传输的总量。

13

电子科技大学成都学院课程设计论文

第3章 网络模拟器 NS2

3.1 NS2简介

NS2(Network Simulator Version2)是一款开放源代码的网络模拟软件,最初由加州大学伯克分校(UC Berkeley)开发。它最初的开发目的是为了研究大规模网络以及当前和未来网络协议的交互行为。它为模拟研究有线和无线网络上的TCP/IP、路由和多播等协议提供了强有力的支持。NS2是一个开放源代码软件,任何人可以获得、使用和修改其源代码。正因为如此,世界各地的研究人员每天都在扩展和更新它的功能,为其添加了新的协议和功能。它也是目前网络研究领域应用最广泛的网络模拟软件之一。

NS2来源于1989年的Real NetWork Simulator项目,经过多年的发展,于1995年得到Xerox公司的支持,加入VINT项目。NS2一直以来都在吸收全世界各地研究者的成果[3]。

NS2是一款面向对象的、离散事件驱动的网络模拟器,可以完整地模拟整个网络环境。NS2使用一整套C++类库实现了绝大多数常见的网络协议以及链路层的模型,利用这些类的实例就可以搭建起整个网络的模型。

NS2使用了被称为分裂对象模型的开发机制。采用C++和OTcl两种开发语言进行开发。它们之间采用TclCL进行自动连接和映射。考虑效果和操作便利等因素,NS将数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++编写,这些对象通过TclCL映射对OTcl解释器可见。NS2可以说是OTcl的脚本解释器,它包含模拟事件高度器、网络组件对象库等。事件调度器控制模拟进程,在适当时间激活事件队列中的当前事件,并执行该事件。网络组件模拟网络设备或节点的通信,它们通过制定模拟场景和模拟进程,交换特定的分组来模拟真实网络情况,并将执行情况记录到日志文件中,供用户分析解读,获取模拟结果。NS2采用这种分裂模型既提高了模拟效率,加快了模拟速度,又增强了模拟配置的灵活性和操作的简便性。

NS2是在UNIX系统上开发的,因此可以在UNIX和类UNIX系统上安装。另外,NS2也可以在Windows平台上运行。表3.1和表3.2是不同平台对NS的支持情况。

14

第3章 网络模拟器NS2

表3.1 不同平台对NS2的支持情况

Tcl-TK Pc+Windows Pc+Linux Y Y Y Y Y Y Y Y OTcl TclC Ns Nam Y Y

注:Y——支持,N——不支持。

xgraph cweb N Y Y Y sgb Gt-itm and sgb2ns zlib N Y N Y N Y

表3.2综合比较Windows和Linux对NS2的支持情况

平台特点 优点:界面友好,人性化设计,网络及硬安装过程 未安装Cygwin时模块支持 支持NS2的使用过程 容易引发较多问题,相关帮助文档及可咨询信息较少,解决问题难度较大。 只可用from all the 必选软件模件支持良好,应用程pieces方式安装,块,但对可选Pc+Windows 序丰富。 缺点:代码冗繁,系较为复杂。 安装Cygwin后可模块的支持性差。 统稳定性及自身修用allinone方式安复能力差。 装较为简单。 由于Linux完全开放源代码的特性,可根据需要任意修改源代码。相关帮助文档及论坛较多,可获得的帮助较多,使问题解决较为容易。 优点:源代码开放,可选用from all the 对NS2的必界面友好,网络功能丰富,较稳定。 缺点:应用软件及硬Pc+Linux 件驱动程序缺乏。 pieces或allinone选模块和可方式安装,较为简选模块支持单。 性良好。

NS2的模拟分为两部分:用C.+编写特定网络元素的实现;用OIcl编写模

15

电子科技大学成都学院课程设计论文

拟所需的脚模拟本文件,在文件中使用这些网络元素;二者之间的结合由NS2 负责完成,NS2规定一个固定的步骤,按照规定的步骤去做即可。 NS2可以完成的功能包括:

(1)构建网络拓扑。NS2中网络拓扑是由node和link构成,其中node大 约可被看作是对实现网络底三层设备的一个模拟,link则可被视为是对物理传输链路的模拟。

(2)实现RTP协议的Agent。NS2中,Agent是对某一个网络协议的模拟, NS2预先实现了UDP Agent和TCP Agent以及一些常用网络应用协议的Agent。 (3)加载应用数据流由Application/Traffic来实现。RTP Agent本身已实 现了产生数据流的工作,无须加载Application。

3.2 NS2组成部分

Tclobject在类层次结构中处于最高层,所有其他主要的类都从它派生而来。它有一

个静态链表记录了用户创建的所有对象,每一个对象都有一个唯一的标识,记录了每个对象所属的类名。使用这种公共基类的好处是各种对象可以存储在同一个链表中,使用对象的函数知道如何处理对象和简单地进行强制类型转换以满足自己的需要。

(1)离散事件调度器(Scheduler):调度器是仿真器的心脏,它记录当前时间,调度网络事件链表中的事件。它有一个静态成员变量instance,供所有的类访问同一个调度器,提供函数产生新事件,指定事件发生的时间。

目前NS2支持四种事件调度器,分别为链表式(linked-list)、堆式(heap)、时间队列式(calendar)和实时(real-time)调度器,其中时间队列式为默认的事件调度器。

(2)事件处理器(Handler):Handle是所有处理事件类的基类,它只是一个虚拟函数,每个继承类实现自己的功能。

(3)节点(Node):节点是对实际网络中分布在不同地理位置的主机、交换机、路由器等网络设备的统一抽象,是构成网络拓扑结构的一个重要组成部分。

16

第3章 网络模拟器NS2

(4)链路(Link):链路用来连接节点和路由器。一个节点可以有一条或多条输出链路(如路由器),所有的链路都以队列的形式来管理分组到达、离开或丢弃,统计并保存字节数和分组数。另外还有一个独立的对象来记录队列日志。

(5)代理(Agent):代理是实际产生和消费分组的对象,它们属于传输层实体,运行在端主机,节点的每一个代理自动被赋与一个唯一的端口号(模拟udp/tcp端口),代理知道与它相连的节点,以便把分组转发给节点,它也知道分组大小,业务类型,目的地址。Agent类是各种UDP/TCP实现类的基类,代理被保存在一个称为demux的链表中。

(6)NS对象(NsObject):NsObject是所有网络实体的基类,包括节点、链路、代理,业务记录(Trace)和数据源等。节点、链路、代理同时继承了NsObject和事件处理器类,因为这三种对象要处理多种事件,其他对象则不需要。

(7)匹配器类(Matcher):匹配器类用来标识有实例对象生成的类,用户给出标识匹配器类的关键字,匹配器类返回相应的新建对象。匹配器类被定义成静态的,只允许一个实例对象[]。

4

NS 功能非常强大,由12个模块组成,下面分别介绍各模块的功能:

(1)Tel:Tel提供了一个强有力的平台,可以生成面向多种平台的应用程序、协议、驱动程序等等。它与Wk(toolkit)协作,可生成GUI应用程序,可在【,c、Unix和Macintosh上运行。Tcl还可用来完成与网页相关的任务,或是为应用程序提供强有力的命令语言。

(2)Tk:与Tel协调工作的图形工具包。

(3)OTcl:即MIT Object Tcl,是Tcl/Tk面向对象编程的扩展。

(4)Tel cl:此目录下含tel/C++的接口,vic、vat、ns、rtp—play、和nam都会用到。

(5)NS:NS主体代码,内含一个节点移动产生器、两个传输事件产生器。 (6)TclDebug:Tcl调试工具包。

(7)Nam:即UCB/LBNL Network AniMator,’占与NS协同工作,将NS仿真过程动态表现出来。

(8)Xgraph:Xgraph是X-Windows应用程序,包含交互式测量和绘制和动画效果。 (9)Gt—itm:GT Internetwork Topology Models的简称,产生模拟j nternt网络结构的拓扑图,还提供了一些例子。

17

电子科技大学成都学院课程设计论文

(10)SGB:Standford GraphBase的简称,图形产生器。 (11)Cweb:与网页相关的工具。

(12)zlib:通用数据数据压缩库(data compression library)。对于NS来说Tel,Tk,Otcl,TclDebug,Nam,Xgraph,Gt—itm,SGB,Cweb, zlib等均为现成工具包。

3.3 NS2模拟基本流程

分析问题 否 结果满意? 是 结束 开始 问题定义 修改源码? 是 修改源码 否 重新编译NS 调试 是 编写Tcl脚本 编译通过? 否 执行模拟 分析结果 图3.1 NS2进行网络模拟的基本流程

18

第3章 网络模拟器NS2

17

第4章 无线自组网络由协议仿真

使用NS2进行网络模拟的基本操作流程如图3.1所示。整个模拟过程主要有三个部分:一为修改源码,二为编写Tcl模拟脚本,三为分析结果。

(1)源码修改:这一步只有在模拟需要修改源代码时才进行考虑。

(2)Tcl/OTcl模拟代码编写:这是NS2模拟中最重要和必不可少的环节,大部分NS2的模拟工作实际就是编写Tcl脚本代码来描述网络结构、网络构件属性和控制调度网络模拟事件的启停过程。

(3)模拟结果分析:结果分析是真正体现模拟工作成效的重要一环,模拟结果分析主要是对trace文件进行分析。

NS仿真需要C++编译器和通用的操作系统(如各种UNIX、Linux或Windows系列)。进行仿真前,首先要分析涉及仿真的哪一个层次。Ns仿真分两个层次:

一个是基于OTcl编程的配置、构造层次,利用Ns已有的网络仿真元素实现仿真,无需对Ns本身进行任何修改,只要编写OTcl仿真脚本,如图4—2中流程卜2—4;

另一个层次是基于c++和OTcl编程的编译、配置层次,如果Ns中没有所需的仿真元素,Ns提供了用户自我升级或修改协议的技术,即利用OTcl和NS的接口类实现NS的更新,新NS生成流程如图4—2中l~3—5,然后再进行卜2—6流程完成

仿真。NS的仿真工作机制如图4—2所示。

21

电子科技大学成都学院课程设计论文

第4章 无线自组网路由协议仿真

4.1多路径协议介绍

多路路由是指为任意一对节点同时提供多条可用的路径,并允许节点主机[或应用程序)选择如何使用这些路径。多路路由算法为节点间提供多条路径,并确保发往其中一条路径的数据经由该路径到达目的地。多路路由网络是其中的路由器执行多路路由算法的网络。从理论上证明了按需多路径拥有较长的路径存活时间和更可靠路由信息,而且拥有良好的性能,并能减少部分拥塞。因此近年来多路径研究得到广泛关注 4.1.1 AOMDV协议

AOMDV(Ad hoc On-demand Multipath Distance Vector)按需多路径距离矢量路由协议是基于AODV的扩展,在路由发现过程获取多条无环且链路不相交路径。与AODV主要不同有两点:①建立和维护无环路由更新机制;②获取多条独立路径分布式协议的方法。AOMDV充分利用了AODV中已有的路由信息,因此只需要增加少量的额外开销以计算路径。为保证路径无环,仍使用AODV中的目的序列号来表明路由更新情况,并在内部数据结构增加广播跳数和下一跳列表来代替原来的跳数。AOMDV能够发现链路独立或节点独立路径。为发现节点独立路由,每个节点并不马上丢弃重复的RREQ信息,而是将通过相同源节点的不同邻居节点到达的RREQ中的信息保留下来作为节点独立路由。这是因为中间节点不会广播重复的RREQ,那么任意两个经源节点的不同邻居节点到达的RREQ就不会经过相同的节点。为得到多条链路独立路由,目的节点对重复的RREQ做应答而不考虑其第一跳。但为了确保RREP中第一跳的链路独立,目的节点只对来自不同邻居节点的RREQ做应答。经过这第一跳后,RREP沿反向路径回到源节点。每个RREP所经过的路径在中间节点可能会有交叉,但每个都沿着不同反向路径到达源节点以保证链路独立。

AOMDV协议能够在不增加额外的控制开销的基础上,只需对已有分组作微小 的改动,就可获取多条无环独立路径。AOMDV协议的中间节点只转发第一次收到 的RREQ分组,限制了RREQ在全网的泛洪,同时源目节点对间拥有多条可用的完 整的路径,有效的提高了协议性能。但AOMDV仍存在一些局限,如在一次的路由 发现过程中能获取多条无环的节点独立或者链路独立的路径,但每次却只使用一条 路径作为主路径发送数据,同时要等到所有路径都失效后才重新发起新的路由请

22

第4章 无线自组网络由协议仿真

4.1.2 移动节点的创建

(1)移动节点的配置:在NS2中,要创建一个移动节点,就必须在创建节点之前对节点进行配置。所谓点的配置就是在节点创建之前设定节点的各项属性,可以使用模拟器对ns的内部过程node-config{}来配置节点的属性。

移动结点基本配置参数如下:

$ns node-config –adhocRouting #配置adhoc网络的路由类型

-llType #数据链路层类型 -macType #MAC层类型 -ifqType #队列类型 -ifqLen #队列长度 -antType #天线类型

-propType #无线信号传输模型 -phyType #物理层类型 -channelType #信道类型 -topoInstance #拓扑对象

-agentTrace #是否打开应用层Trace -routerTrace #是否打开路由的Trace -macTrace #是否打开应MAC层的Trace

-movementTrace #是否打开节点位置和移动信息的Trace

(2)移动节点的创建:调用模拟器对象ns的内部过程node{}创建移动节点: for {set i 0} {$i < $opt(nn)} {incr i} { set node($i) [$ns node] }

4.1.3多路径计算

在这一节中,我们将提出一个基于路径选择熵的按需多路径路由协议SMDR.该协议由3个阶段组成:路由发现阶段,路由利用阶段以及路由维护阶段.算法采用AODV中的4种报文

21

电子科技大学成都学院课程设计论文

格式.它的开销相比AODV小.我们主要对路由利用阶段进行了扩展.图2显示了Ad Hoc网络多路径路由的结构.

4.2 无线自组网路由模拟的实现

4.2.1 无线自组网路由协议场景的构建

在无线模拟过程中,首先要建立移动场景,即移动节点的范围及其拓扑对象。 (1)移动范围:

set topo [new Topography] #创建拓扑对象,在节点设置时使用它来进行配置 $topo load_flatgrid 1000 1000 #设定一个1000x1000的屏幕

(2)创建God对象,God(General operations director)对象是一个存储关于环境、网络或者节点状态等全局信息的对象:

set god_ [create – god $val(nn)] #$val(nn)仿真节点号 4.2.2 TCP代理的创建和设置

(1)TCP代理创建步骤:

步骤一:创建一个Agent/TCP对象,作为分组的发送器; 步骤二:设置Agent/TCP对象的部分内部变量;

步骤三:创建一个Agent/TCPSink对象,作为分组的接收器; 步骤四:在发送和接收代理之间创建connect连接。 (2)TCP流的随机生成:

cbrgen工具可以用来随机生成TCP流,命令格式如下:

22

第4章 无线自组网络由协议仿真

./ns cbrgen.tcl –type -nn -seed -mc -rate > 4.2.3 仿真参数的设置

本课题从两方面来比较无线自组网路由协议的性能:

21

第4章 无线自组网络由协议仿真

当节点不断增加时各路由协议的性能变化和当移动速度不断增加时各路由协议的性能变化的相关参数如表4.1所示。

表4.1仿真参数

场景范围 节点数 节点移动 最大速度 (m/s) 静止 时间 (s) 10 数据 连接 业务 类型 分组 发送率 模拟 时间 (512b/s) (s) 2.0 150 节点 1000x1000 10、20、30 20 增加 40、50、60 70、80、90 100 移动 1000x1000 30 速度 增加 4、8、12 TCP 16、20、24 28、32、36 40 2、4、6、8 10 10、12、14 16、18、20 10 TCP 2.0 150

4.3 仿真结果分析

4.3.1 动画演示工具nam

nam是基于Tcl/Tk的动画演示工具,用于演示网络运行动画,例如网络拓扑、包传输和队列管理等。

(1)nam简介

nam最初在1990年由Steven McCanne开发,用于在网络研究中利用动画演示包的传输过程。后来这项工具渐渐流行开,并且得到其他个人和组织的继续改进和完善。

nam的功能是根据网络模拟软件或真实环境里的特定格式的trace输出文件来运行动画,例如Trace文件常常来自NS模拟器或者Tcpdump软件的输出。当然,任何其它软件只要按照nam要求的数据格式输出,同样可以利用nam来进行动画演示。

(2)NS2中nam的使用方法

① 环境变量的配置:在NS2安装目录下编辑.bashrc文件,在PATH环境变量中添加nam文件夹所在的目录。

② 调用nam:nam调用一般是在NS仿真结束之后,所以在stop{}过程之后添加代码: exec nam dsdv.nam & exit 0

23

电子科技大学成都学院课程设计论文

4.3.2 无线Trace文件格式

下面是无线Trace文件的一个例子:

s 0.029290548 _1_ RTR --- 0 message 32 [0 0 0 0] ------- [1:255 -1:255 32 0] r 0.030062615 _0_ RTR --- 0 message 32 [0 ffffffff 1 800] ------- [1:255 -1:255 32 0]

s 1.000000000 _0_ AGT ---1 tcp 40 [0 0 0 0] ------- [0:0 1:0 32 0] [0 0] 0 0 r 1.000000000 _0_ RTR ---1 tcp 40 [0 0 0 0] ------- [0:0 1:0 32 0] [0 0] 0 0 s 1.000000000 _0_ RTR ---1 tcp 60 [0 0 0 0] ------- [0:0 1:0 32 0] [0 0] 0 0 r 1.003800194 _1_ AGT ---1 tcp 60 [13a 1 0 800] ------- [0:0 1:0 32 0] [0 0] 1 0

s 1.003800194 _1_ AGT ---1 ack 40 [0 0 0 0] ------- [0:0 1:0 32 0] [0 0] 0 0 ??

无线Trace文件的记录每条共有21栏,各栏表示的意义如下: (1)事件类型:共有四种事件类型,分别为: s:分组的发送事件; r:分组的接收事件; d:分组的丢弃事件; f:分组的转发事件。 (2)事件产生的时间,单位为秒。 (3)处理该事件节点的节点ID。

(4)Trace名称:共有三种不同的类型,分别为:

RTR:路由器Trace;AGT:代理 Trace;MAC:MAC层Trace。 (5-6)“---”为分隔符。 (7)分组的ID。 (8)分组类型。

(9)分组大小,单位为字节。

(10)发送节点在无线信道上发送该分组所期望的时间值。 (11)接收节点的MAC地址。 (12)发送节点的MAC地址。 (13)MAC层封装的分组类型。

24

第4章 无线自组网络由协议仿真

(15-17)“---”为分隔符。

(18)发送分组的源IP地址:格式为“节点号.端口号”。 (19)接收分组的目的IP地址:格式为“节点号.端口号”

23

第4章 无线自组网络由协议仿真

(20)分组的TTL值。

(21)源节点到目的节点的跳数。 4.3.3 数据分析工具gawk

(1)gawk简介:awk是一种程序语言,对于资料的处理具有很强的功能,可以是用很短的代码轻易的完成对文本档案作修改、分析、提高和比较等处理。awk最初在1977年完成。gawk是GUN所开发的awk,最初在1986年完成,之后不断地被改进、更新。gawk包含awk的所有功能。

gawk的主要功能是针对Trace文件的每一条记录搜寻指定的模式(Patterns)。当一条记录里有符合指定的模式时,gawk就会执行此条记录指定的动作(actions)。 (2)gawk执行方法:

基本上有两种执行方法可以执行gawk程序。

如果程序很短,则程序代码可以直接写在命令行上,如下: $gawk ‘ program’ inputfile1 inutfile2?? 其中,program包括一些pattern和action。

如果程序较长,一般将gawk程序存为一个文件,即Patterns与actions写在一个文件名为program-file的文件里,执行格式如下:

$gawk –f program-file inputfile1,inputfile2?? 4.3.4 绘图工具gnuplot

(1)gnuplot简介:gnuplot是由Colin Kelly和Thomas Williams于1986年开始开发的科学绘图工具,支持二维和三维图形。gnuplot是一个命令驱动的交互式绘图软件,它的功能是把数据资料和数学函数转换为容易观察的平面或立体的图形,它有两种工作方式,交互式方式和批处理方式,它可以让使用者很容易地读入外部的数据结果,在屏幕上显示图形,并且可以选择和修改图形的画法,明显地表现出数据的特性。 (2)gnuplot执行方法:

在终端下键入gnuplot后回车,即可启动gnuplot。相关参数设置: gnuplot > set xrange [{}] #设置X轴的起点和终点 gnuplot > set yrange [{}] #设置Y轴的起点和终点 gnuplot > set title “name of the graph” #设置整个图的标题 gnuplot > set xlabel “name of the X axis” #设置X轴的标题

25

电子科技大学成都学院课程设计论文

gnuplot > set ylabel “name of the Y axis” #设置Y轴的标题

gnuplot > plot ‘filename1’ with linespoints, ‘filename2’ with linespoints?? 4.3.5 仿真结果分析

nam演示

“节点变化”运行场景和“移动速度变化”的运行场景分别如图4.2、图4.3所示。

图4.2 节点为70的运行场景

26

第4章 无线自组网络由协议仿真

图4.3 节点移动最大速度为16m/s的运行场景

仿真结果分析:

(1)路由协议定性比较

表4.3对3种路由做出了定性比较,可以看出3种路由协议均属平面拓扑结构,在路径选择上也都采用最短路径策略。不同的是DSDV协议借助周期广播来维护路由信息,主动发现路由,它们的优点是当节点需要发送数据分组时,只要去往目的节点的路由存在,所需的时延就很小,但需要花费较大的开销,如果网络的拓扑结构经常改变则更是如此。而AODV、DSR协议由于省略了周期广播机制,仅仅维持那些现在要用的路由,从而减轻了网络的负担,使得它们在路由开销、带宽和耗电量方面具有一定优势;然而,在发送数据分组时,如果没有去往目的节点的路由,则需要进行路由发现,增加了路由发现时延。

27

电子科技大学成都学院课程设计论文 表4.3 三种路由协议的定性比较

拓扑结构 算法类型 分组转发 选择路由原则 多跳维护 周期广播 DSDV 平面 距离矢量 逐跳 最短路径 NO YES DSR 平面 源路由 源路由 最短路径 YES NO AODV 平面 距离矢量 逐跳 最短路径 NO NO

(2)仿真结果分析

运行TCL仿真脚本,得到相应的trace文件,然后用编写的gawk程序对trace文件进行分析计算,得出相应的数据,反复运行计算20次,求出各项的平均值。用gnuplot对所得的数据画图,得AODV、DSR、DSDV的分组数据的端到端平均时延、丢包率、平均吞吐量和网络路由开销性能曲线图。

① “节点不断增加”情况下各路由协议的仿真性能如图4.4-4.7所示。

图4.4 node delay 图4.5 node loss_rate

28

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

Top