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

2019-06-05 09:34

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

据包是过时的,它将不予处理,而是简单的丢弃。发现多条路由时,源节点会选择一条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


无线Ad Hoc网络中一种多路径路由协议仿真研究 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电子琴论文 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: