dsr与aodv协议的比较毕业论文设计.docx
- 文档编号:5688787
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:41
- 大小:2.32MB
dsr与aodv协议的比较毕业论文设计.docx
《dsr与aodv协议的比较毕业论文设计.docx》由会员分享,可在线阅读,更多相关《dsr与aodv协议的比较毕业论文设计.docx(41页珍藏版)》请在冰豆网上搜索。
dsr与aodv协议的比较毕业论文设计
毕业论文(设计)
题目DSR与AODV协议的比较
学生姓名
学号
院系信息工程系
专业电子信息工程
指导教师
二O一O年4月26日
DSR与AODV协的比较
陶齐清
南京信息工程大学信息工程系,南京210044
摘要:
无线自组网(MobileAdHocNetworks,MANET)是一种特殊的无线移动通信网络,它具有网络中的所有终端地位平等、自组织、无需事先布置任何网络设施或中心控制节点、动态变化的拓扑结构和带宽与能源受限等特点。
近年来,对无线自组网的研究,尤其是对媒体接入控制和路由协议的研究一直都是研究的热点。
本文对无线自组网中两种著名的按需路由协议(DSR和AODV)进行分析和研究,并利用OPNET仿真平台对其性能进行评测,得出一些有意义的结论,为下一步设计新的路由协议提供有益的思路。
重点研究了两种著名的无线自组网按需路由协议DSR与AODV。
通过分析比较常用的网络模拟软件,本文选择图形界面的OPNET作为仿真工具,并给出了基于该平台的DSR和AODV路由机制的实现模块。
最后,利用该平台在两种网络场景下,对DSR与AODV协议进行性能评测与分析。
关键词:
Adhoc网络路由协议网络性能OPNET仿真
引言
在网络迅速澎湃的今天,网络研究人员一方面不断思考的网络协议和算法,为网络发展做前瞻性的基础研究;另一方面又要研究如何人利用和整合现有的网络资源,使网络达到最高效能。
以前,网络的规划和设计一般采用的是经验、试验和计算等传统的网络设计方法,其中,经验这一方面最为简便易行不过其成效在很大程度上依赖于规划设计者具有的网络设计经验,其设计结果中的主观性成分比较突出。
当网络规模较小,网络拓扑结构比较简单,网络流量不大的时候,以经验为主,并辅之以试验和数学计算等手段进行网络规划设计还是可行的。
这是因为网络设计者一般都具有比较丰富的中小型网络的设计经验和教训,而且网络较小时,对网络的试验和教学的估算比较容易进行,结果也比较可信。
因此,以经验为主的网络设计方法被广泛应用。
但是,当网络规模越来越大,网络元素类型不断增多,网络拓扑日趋复杂,网络流量纷繁交织时,以经验为主的网络设计方法的弊端就越来越显现出来了。
首先,网络规划设计者相对来说缺乏大型网络的设计经验,因此在设计过程中主观成分更加突出。
第二,一般情况下,不可能在网络设计阶段开展与拟建网络规模可比的网络试验来获得设计所需的依据,小规模的试验室可行的,但是其结果受试验规模的限制,不能充分满足规划设计的需要。
第三,数学计算和估算方法对于大型复杂网络的应用往往非常困难,所以结果的可信度也较低,特别是对于分组交换和统计复用的数据网络,情况更是如此。
因此,随着网络的不断扩充,网络的规模和复杂性迅速增加,网络设计师面临着新的挑战:
传统网络设计技术不再适用于现代通信网络设计,网络设计师门没有预料到的问题会导致整个网络的性能达不到要求甚至引起网络瘫痪。
因此,为了高效和可靠地设计现代通信网络,必须有更好的和更实用的设计手段和性能分析技术。
网络性能分析的重要性在于它通过有效的性能模型,使网络设计师对所设计网络的可操作性有更深入的理解,尽早发现问题并纠正,避免投入使用后再去修改。
网络性能分析一般有两种方法:
理论分析和计算机仿真法。
人们在实际使用中发现,分析技术只能在一些理想和比较简单的情况下才能起到较好的作用,若用来评估复杂的通信网络是极端困难的。
网络仿真技术以其独有的方法能够为网路的规划设计提供客观和可靠的定量依据,缩短网络建设周期,提高网络建设中决策的科学性,降低网络建设的投资风险。
网络仿真是使用计算机技术构造网络拓扑和实现网络协议的模拟网络行为。
它能获取特定的网络特性参数,进而可对网络性能进行研究和分析,达到改善网络运行状况的目的。
它包括网络拓扑仿真、协议仿真和通信量仿真,模拟网络流量在实际中网络中传输和交换等的过程。
本文用的就是目前知名网络仿真软件OPNET。
Hoc协议介绍
移动AdHoc网络由一组无线移动节点组成,是一种不需要依靠现有固定通信网络设施的、能够迅速展开使用的网络体系,所需的人工干预最少,是没有任何中心实体、自组织、自愈的网络。
因为在移动AdHoc网络中没有中心单元,所以必须按使用分布式协议。
随着节点移动,网络拓扑结构的不断变化,如何迅速准确地选择到达目的节点的路由是AdHoc网络的一个重要和核心的问题。
在源节点和目标节点间采用多跳而不是一跳的方式来传输数据可以增加网络容量和降低传输能量的消耗,但是也会带来新的挑战,如:
如何在源节点和目标节点间寻找一条或者多条最优的路径。
因此路由协议在多跳Adhoc网络中起着举足轻重的作用。
随着研究人员的大量工作,现有的路由协议有很多,路由协议的主要设计目标是:
满足应用需求的同时尽量降低网络开销,取得资源利用的整体有效性,扩大网络吞吐量。
在AdHoc网络中,由于节点的移动及无线信道的衰耗、干扰等原因造成了网络拓扑结构的频繁变化,同时考虑到单向信道问题以及无线传输信道较窄等因素。
针对AdHoc网络的这些特点,要求路由协议必须分布式操作,能够尽量支持单向链路,同时应避免路由环路现象。
考虑到无线节点的特性,路由协议还应尽量简单,能够支持节点的“休眠”操作以节省电源,能够提供安全性保护等机制。
按路由的驱动模式的不同,可以将路由协议分为表驱动路由协议和按需路由协议。
DSR协议
DSR协议的特别之处是它运用了源路由算法,即只有发送节点知道完整的到目的节点的多跳路由。
这些路由被储存在cache内。
被发送的数据分组在其分组头内携带源路由信息。
一个Adhoc网络中的节点欲发送数据到目的节点,但是当它检查自己缓存的中没有到目的节点的路由时,它将启动路由发现过程。
源节点用泛洪的方式给网络中的其他节点发送路由请求分组(RREQ)。
每一个收到该分组的节点向它的邻节点转发该分组,除非它就是目的节点或者在它的cache中存有到目的节点的有效路由。
这样的节点将会回复一个路由应答分组(RREP)给源节点。
RREQ和RREP分组也是服从源路由算法的。
由RREQ分组建立了一条到目的节点的穿越网络的路径,RREP分组利用该路径反转路由而到源节点。
源节点则将收到的RREP分组所携带的路由信息储存到它的cache内以备后用。
如果源路由中的任何一段链路由于一些原因而中断了,则会有一个路由出错分组(RERR)通知源节点。
源节点会将它的cache内的包含那一跳的路由删除。
并且源节点将会启动新的路由建立过程。
以下一些优化措施来使协议更有效:
(1)抢修:
当分组传送过程遇到链路断开时可由中间节点根据自己的cache来选择另一条路由。
在发送RERR分组之后,节点可能试图抢修遇到路由出错的数据分组而不是丢弃它。
它首先搜索自己的路由缓存,若查找到到目的节点的路由,则通过用自己缓存中的路由替换分组中的源路由来抢修数据分组。
(2)无确认路由修复:
源节点在收到RERR分组时,可把它包含在下次发送的RREQ中,这样可以帮助网络中其他节点获得RERR信息,刷新cache。
(3)混合侦听:
当节点侦听到并不是发给自己的分组时,它检查存储器,如果有通过自己的更好的路由,就发送RREP给源节点。
这样可以让节点不需要直接参与路由过程也获得路由信息。
在另一方面,如果听到的是RREP分组,对方就停止RREP的传送,可以在一定程度上避免RREP分组泛滥。
(4)随机延迟:
为了防止RREQ在泛洪过程产生冲突,每个节点在收到RREQ分组时,转发前随机延迟一段时间。
节点为某个路由请求启动路由建立过程,在收到RREP分组之前,如果还没有超过最小时间限制,节点不为该请求再次启动路由建立。
(5)路由建立过程稍带数据分组:
在业务产生而节点没有路由可用时,启动路由建立机制,在等待路由应答的这段时间内,数据分组或者被缓存或者被丢弃。
如果在RREQ中捎带数据分组,可以从一定程度上减少分组传输的时延。
但是,数据分组不能太大。
当然,如果中间节点收到路由请求分组并根据它的路由缓存发送分组,就会丢弃捎带的数据分组。
为了避免这种情况,中间节点在丢弃RREP分组之前,必须重新构造数据分组。
而且数据分组的路由分为两段:
前一段来自RREQ分组的路由记录部分,后一段来自路由缓存,而且,该数据分组的源节点为启动路由建立的节点。
AODV协议
同DSR协议一样,AODV协议也是一种按需路由协议,它根据业务需求建立和维护路由。
AODV协议是由DSDV协议算法发展而来,它应用传统的路由表。
AODV路由协议的路由发现和维护过程与DSR路由类似。
不同的是AODV路由协议中,路由中的每个节点都必须维护路由表。
AODV在每个中间节点中隐式保存了路由请求和回答的结果,而DSR将结果显式保存在路由请求和路由回答分组中。
AODV路由的分组无需包含完整的路径信息,采用逐跳转发的方式,从而减小了分组开销。
为了找到通往目的节点的路由,源节点将广播一个RREQ分组,收到RREQ分组的中间节点根据RREQ中的信息,建立到源节点的路由,称为反向路由。
反向路由条目的目的节点是广播RREQ的源节点,下一跳节点是将RREQ发送给本节点的邻节点,然后它向周围节点广播次分组。
如果目的节点收到RREQ则向源节点回复RREP。
RREP沿着刚建立的反向路由向源节点传送,在此过程中,收到RREP的节点建立到目的节点的路由,称为“正向路由”。
正向路由条目的目的节点是RREP分组的源节点,下一跳是将RREP发送给本节点的邻节点。
路由协议只维护那些正在使用的路由,而不在激活路由上的节点的移动并不影响该路由。
AODV协议设计了两种路由维护方式:
源节点路由重建和本地修复。
AODV协议的一个重要特征是在每个节点中的每个路由条目包含了一个计时器,如果一段时间一条路由条目没有使用,则路由条目过期。
AODV协议是DSDV协议和DSR协议的结合,它使用DSDV协议中的目的节点序列号防止缓存的路由信息过期以及环路的产生,路由建立是基于DSR协议中所采用的方法,不同点在于AODV协议是逐跳路由而不是源路由。
与AODV的对比分析
DSR和AODV两种路由协议具有一个公共特性:
按需地初始化路由寻找进程。
这种反应式协议极不同于传统的主动协议,后者寻找所有源节点与目的节点对之间的路由,这种路由寻找与所寻找路由是否使用、或者是否需要无关。
设计按需路由协议的主要动机是降低路由载荷。
路由载荷重常常对窄带无线链具有重大性能影响。
尽管DSR和AODV两种路由协议均具有按需特征,即只有在出现数据分组需要传输路由的时候才开始初始化路由寻找进程,但是两者的很多路由机制却极不相同。
特别是,DSR协议使用源路由,而AODV协议使用表格驱动路由体系和目的节点序列。
DSR协议没有定时器触发的操作,而AODV协议在一定程度上依靠定时器触发的操作。
DSR和AODV两种按需路由协议享有一些显著的特性。
特别是,两个协议都是只有在数据分组没有到达其目的节点的路由之时才寻找路由。
DSR和AODV两种路由协议的路由寻找都是根据查询和应答往返过程进行的,按照一定的格式将路由信息存储在路由的所有中间节点上。
其中,DSR协议是按路由存储器格式,而AODV协议是按路由表条目格式存储。
但是,两个协议在动态性方面存在几个重要的区别,这可能引起性能上的明显差异。
第一,DSR协议使用源路由访问的路由信息明显多于AODV协议。
例如,在DSR协议中,源节点使用一次路由请求与路由应答过程除了可以得到到目的节点的路由外、还可以得到到达路由上每个中间节点的路由。
每个中间节点也能够得到到达路由上其他每个中间节点的路由。
混合收听数据分组的传输还可以让DSR协议访问大量的路由信息。
特别是,DSR协议能够得到到达数据分组源路上每个节点的路由。
AODV协议没有源路由和混合收听,但是却能够收集数量有限的路有信息。
特别是,路有获取只受被转发的路由分组的源节点的限制。
这常常导致AODV协议更加频繁地采用路由寻找泛洪,由此可能给网络带来很多载荷。
第二,为了不断利用路由存储,DSR协议对于在单独一个路由请求与路由应答过程中到达目的节点的所有路由请求RREQ分组做出应答。
因此,源节点知道到达目的节点的很多备用路由,这对于主路由中断是有用的。
访问多条备用路由节省了路由寻找泛洪,这常常是一个性能瓶颈。
但是,这样可能存在路由应答的泛洪。
另一方面,在AODV协议中,目的节点只对第一个到达的路有请求分组RREQ做出应答,而忽略和丢掉随后到达的RREQ分组。
AODV协议的路由表最多为每个目的节点维护一个路由条目。
第三,DSR协议的当前版本没有任何机制来删除路由存储器中期满过时而失效的路由,也没有任何机制来确定在面对多条路由选择时优先选择较新的路由。
这时失效路由如果被使用的话,则可能污染其他的路由存储器。
有些过时条目确实被路由错误分组所删除。
但是,由于混合收听和节点移动,很可能被过时条目污染的路由存储器多于被路由错误分组所删除的路由存储器。
相反,AODV协议使用一种比DSR协议保守得多的方法。
当面对从两条路由中选择一条路由时,总是选择较新的那条路由。
而且,如果一个路由表条目最近未被使用,那么该条目期满失效。
但是,后一种技术存在路由闭环问题。
如果在超过期满时间之后从未被使用,那么这种方法有可能使有效路由期满失效。
由于源节点的发送速率和节点的移动性极不相同并且动态变化,所以确定一个比较适合的期满时间很困难。
第四,在AODV协议中使用RERR分组的路由删除操作是有保留的。
借助于前一条节点列表,路由错误RERR分组传输到达所有使用中断链到达任何目的节点的路由上的节点。
但是,在DSR协议中,路由错误分组RERR只是简单地沿着数据分组传输途中遇到中断链的路由返回。
使用了中断链,但没有处在数据分组上行传输路由中的节点不会立即得到路由错误RERR分组的通知。
和AODV的仿真对比
仿真模型
采用OPNET仿真器,OPNET最早是在1986年由麻省理工大学的两个博士创建的,并发现网络模拟非常有价值,因此于1987年建立了商业化的OPNET。
OPNET近几年赢得的大量奖项是对其在网络仿真中所采用的精确模拟方式及其呈现结果的充分肯定。
在OPNET各种产品中,Modeler几乎包含其他产品的功能,针对不同的领域,它表现出不同的用途,能够满足大型复杂网络的仿真需要,为技术人员提供一个网络技术和产品开发平台,可以帮助他们设计和分析网络、网络设备和通信协议。
OPNETModeler具有三层建模机制、离散事件驱动、完备的模型库、基于数据包的通信等特点,大大提高了网络仿真的方便性和灵活性。
目前,通信网络的仿真,智能化规划优化以及管理成为通信领域的热点问题。
而OPNET这一网络仿真工具为解决通信网络(包括固定网移动网络和卫星网络)仿真和优化以及网络高效的管理提供了整套解决方案,是成为网络仿真以及分析领域出类拔萃的软件。
仿真实现的DSR和AODV两种路由协议分别基本符合协议规范。
路由协议模型检测所有需要发送或者转发的分组数据,调用适当的路由操作做出响应。
RREQ分组在MAC层被当做广播分组来处理。
RREP分组和数据分组都是单目标分组,以预定的相邻节点作为其MAC目的节点。
RERR分组在DSR和AODV中的处理时不同的。
AODV协议广播RERR分组,DSR协议单目标传输RERR分组。
DSR和AODV使用MAC层的反馈信息删除中断链。
当MAC层不能将一个单目标分组交付到下一跳的时候,则给路由层发送一个信号。
例如,经过预定次数的RTS分组重传之后仍然没有接收到CTS分组,或者数据分组发送之后没有接收到其ACK应答分组。
建模层次
OPNET采用面向对象的建模方法来反映实际的网络和网络组件的结构。
实际的系统可以直观地映射到模型中。
利用OPNET对网络建模可分为三个层次:
(1)进程(Process)层次:
在进程层次中模拟单个对象的行为。
使用有限状态机(FSM)来对协议进行模。
OPNET内建的400多个库函数可以对各个层次的标准网络协议进行全面的支持,并且Modeler中源码完全开放.用户可以根据自己的需要添加和修改已有的源码。
(2)节点(Node)层次:
建立由相应协议模型构成的节点模型。
该层次将进程层次中的各个进程互连成设备。
可以反映设备的特性。
(3)网络(Network)层次:
网络层次负责将结点层次中建立起来的设备互连成网络。
位于三个层次的最上层通过OPNET的三层建模机制建立起来的三层模型和实际的网络、设备、协议层次完全对应,全面反映了网络的相关特性。
OPNET仿真的步骤
在定义了目标问题后.利用OPNET中对网络仿真大体可以分成6个步骤:
(1)配置网络拓扑结构(Topology):
通过OPNET提供的向导和各相关编辑器完成建立场景、选择设备和建立网络拓扑结构的工作。
(2)配置业务量(Traffic):
通过选择在该网络上运行的应用程序并配置运行参数,可以为所仿真网络配置业务量。
这样就完成了对系统流量的建模工作。
(3)收集统计量(Statistics):
统计量是是用于对所仿真网络进行性能测量和评价的依据,通过选择OPNET提供的各种统计指标完成配置和收集统计量的工作。
(4)运行仿真(Simulation):
通过前三步的工作,一个仿真场景已经完全建立,需要通过运行仿真来得到仿真运行的数据。
(5)调试模块再仿真(Re—Simulation):
通过分析仿真数据。
可以找出所仿真网络的性能瓶颈。
此时可以复制先前网络场景,通过修改拓扑、更新设备、调整业务量而得到新的仿真场景,再次运行仿真可得到优化后网络的运行数据。
如果是对协议细节进行仿真。
则可修改协议模块的相关细节字段,通过再次仿真可得到修正协议的运行数据。
(6)发布结果和拓扑报告(Report):
通过对一个项目的不同场景(对应着不同的方案)的仿真结果进行分析,可以产生研究报告,可以把相关图表从OPNET中导出到文件中,以便于在报告中引用。
仿真结果
我们应用OPNET软件配置一个如下图所示的50节点的网络。
利用配置不同的节点属性,得到在同样的网络拓扑下两种不同的按需路由协议DSR和AODV的不同的协议性能。
这是一个典型的网络模型,在仿真路由协议时,如果要了解封包是否到达,不必要每隔很短时间去周期性地查看一次,而是收到封包,事件到达才去看。
每一时刻,FSM将停留在特定状态,之后收到事件,完成事件并跳转状态。
路由协议要做的事有获取周边节点地址,建立拓扑信息,之后路由表稳定下来,在收到封包将其转发到下一个节点,这些事件中断将引起相应的状态转移。
我们仿真时间1小时,随机数种子128,其他参数不变。
第一步:
建立网络拓扑结构
(1)本仿真实验采用软件,在创建一个新项目时会自动弹出开始向导,它可以用来设置网络的一些背景环境建立一个新的项目,选择菜单File/New/project,单击OK。
项目命名为MANET,场景命名为DSR_50_nodes,单击OK按钮。
(2)依照设置向导中的提示:
工程编辑器最开始用来新建一个工程,指定工程名字和第一个场景名字后,网络配置小精灵(StartupWizard)就出来:
在InitialTopology(初始拓扑结构)对话框中,点击CreateEmptyScenario(建立空场景)
我们可以选择手动建立网络,或者可以从特殊格式文件导入。
从设备配置文件中直接导入,需要多厂商引进的模块;从XML导入,可以将拓扑信息完全析取出来。
我们一般建立一个空的场景,接下来根据网络的规模,选择全球网、企业或者校园网络。
(3)指定网络的大小,可以是经纬度、米、公里、英尺、英里等。
(4)接着选择常用的模块家族(ModelFamily),把它们包含(include)进去后,Modeler将自动建立新的物件拼盘,其中包含的内容就是所include的模块家族,里面所有物件将合并到物件拼盘中,它们作为构建网络的候选组件。
点击Next,弹出StartupWizard:
SelectTechnologies对话框,选择wireless_lan_adv,将其值改为Yes,这样就可用在新建的场景中创建wireless_lan_adv。
单击Next,再次确认环境设置,点击OK,就完成了网络结构的新建工作。
(5)对象模板对话框现在应该在工程空间的上部。
如果不在,通过点击
打开。
确保从对象模板中的下拉菜单里选择的是wireless_lan_adv。
(6)从模板中把下列对象加入到工程工作区:
ApplicationConfig,ProfileConfig,receiver_group_config,wlan_wkstn_adv和wlan_server_adv。
为了从模板中添加一个对象,在对象模板中点击它的图标→把鼠标移动到工作区→左键点击来放置对象,右键则结束。
工作区内应包括以下对象。
(7)对ApplicationConfig进行配置
选中appconfig右击选择EditAttributes。
在ApplicationDefinitions中新建一行Name为FTP。
\
在应用配置器物件的属性Description中对FTP进行编辑。
将CommandMix设为50%。
将Inter—RequestTime设为constant(20)。
将FileSize设为constant(1000)。
(8)对ProfileConfig进行配置
在ProfileConfiguration中选择Edit。
将Rows改为1,ProfileName改为FTP,点击OK。
在FTP下的Applications中选择Edit,将应用的开始时间StartTimeOffset设为constant(0)。
将持续时间Duration设为constant(10)。
将Repeatability表中重复间隔时间Inter—repetitionTime设为uniform(10,20)。
将Repeatability表中NumberofRepetitions设为constant(3)。
将StartTine设为uniform(100,3400)。
(9)对接收主询RxGroupConfig进行设置
将ReceiverSelectionParameters中的距离门限DistanceThreshold设为1500。
可以使可能的接收主询范围更加明确,从而有效过滤了一些无关的接收主询。
(10)对Workstation进行配置
将AdHoc路由协议设为DSR协议。
在Application中对SupportedProfiles进行编辑。
在表中添加一行,把它设为FTP。
在WirelessLAN中将DataRate设为1Mbps。
对Workstation配置完成后,对它进行复制和拷贝,形成49个节点。
(11)对Server进行配置
将路由协议设为DSR,在Application中对SupportedServices进行编辑。
在表中添加一行,将它设为FTP,在WirelessLAN中将DataRate设为1Mbps。
(12)全局拓扑图如下所示。
如果要设置成AODV协议的50个节点,只要将所有workstation和server选中,对它编辑将协议设置为AODV协议,然后勾选Applytoselectedobjects,点击OK。
第二步:
选择统计量
为了测试我们网络的性能,我们将收集许多可利用的统计量中的一个。
步骤如下:
(1)右击工程工作区任意位置,从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dsr aodv 协议 比较 毕业论文 设计