基于ns2的无线自组网路由协议的研究与仿真论文内容摘要:
数,每个继承类实现自己的功能。 ( 3)节点( Node):节点是对实际网络中分布在不同地理位置的主机、交换机、路由器等网络设备的统一抽象,是构成网络拓扑结构的一个重要组成部分。 ( 4)链路 (Link):链路用来连接节点和路由器。 一个节点可以有一条或多条输出链路 (如路由器 ),所有的链路都以队列的形式来管理分组到达、离开或丢弃,统计并保存字节数和分组数。 另外还有一个独立的对象来记录队列日志。 ( 5)代理 (Agent):代理是实际产生和消费分组的对象 ,它们属于传输层实体,运行在端主机,节点的每一个代理自动被赋与一个唯一的端口号 (模拟 udp/tcp9 端口 ),代理知道与它相连的节点,以便把分组转发给节点,它也知道分组大小,业务类型,目的地址。 Agent 类是各种 UDP/TCP 实现类的基类,代理被保存在一个称为 demux 的链表中。 ( 6) NS 对象 (NsObject): NsObject 是所有网络实体的基类,包括节点、链路、代理,业务记录 (Trace)和数据源等。 节点、链路、代理同时继承了 NsObject和事件处理器类,因为这三种对象要处理多种事件,其他对象则不需要。 ( 7)匹配器类 (Matcher):匹配器类用来标识有实例对象生成的类,用户给出标识匹配器类的关键字,匹配器类返回相应的新建对象。 匹配器类被定义成静态的,只允许一个实例对象 [5]。 NS2 模拟基本流程 图 NS2 进行网络模拟的基本流程 是 否 否 否 是 是 问题定义 修改源码。 修改源码 编写 Tcl 脚本 执行模拟 分析结果 结果满意。 分析问题 重新编译 NS 编译通过。 调试 结束 开始 10 使用 NS2 进行网络模拟的基本操作流程如图 所示。 整个模拟过程主要有三个部分:一为修改源码,二为编写 Tcl 模拟脚本,三为 分析结果。 ( 1)源码修改:这一步只有在模拟需要修改源代码时才进行考虑。 ( 2) Tcl/OTcl 模拟代码编写:这是 NS2 模拟中最重要和必不可少的环节,大部分 NS2 的模拟工作实际就是编写 Tcl 脚本代码来描述网络结构、网络构件属性和控制调度网络模拟事件的启停过程。 ( 3)模拟结果分析:结果分析是真正体现模拟工作成效的重要一环,模拟结果分析主要是对 trace 文件进行分析。 4 无线自组网路由协议 在无线自组网中,节点的移动导致网络拓扑结构的不断变化。 如何迅速准确地选择到达目的节点的路由,是无线自组网的一个重要和核 心的问题。 无线自组网与传统移动通信网络的区别 在无线局域网中,移动节点配有无线网卡,通过无线接入点连接到固定网络,因此,无线局域网可以看成单跳网络;而无线自组网则是一个多跳的网络,终端主机一方面作为主机,另一方面作为路由器运行路由协议,参与分组转发和路由维护。 因此,无线自组网与传统移动通信网络在路由选择方面有很大的差异,必须采用合适的路由协议以解决路由选择问题。 无线自组网路由协议分类 根据源端何时获得路由信息,可以将路由分为两大类,如图 所示。 一类是基于路由表驱动( Table Driven)的路由协议。 在这种协议中,每个节点试图维护到所有已知目的节点的路由表,节点之间周期性或在网络拓扑改变时交换路由信息,由此减少了获得路由延时,能够立即判断目的节点的可达性,但是耗费了网络资源。 第二类是按需驱动( OnDemand Driven)的路由协议,包括路由发现和路由维护两个过程。 这种路由协议平时并不实时地维护网络路由,只有在节 点有数据要发送时才激活路由发现机制寻找到达目的节点的路由。 它不需要花费资源来维护无用的路由,但路由发现过程比较昂贵而且不可预测 [6]。 11 图 无线自组网路由协议分类 几种典型的无线自组网路由协议 目的序列距离矢量路由协议 DSDV DSDV(DestinationSequenced DistanceVector)是基于经典 BellmanFord 路由选择过程的改进型路由表算法。 DSDV 以路由信息协议为基础。 是无线自组网协议发展较早的一种。 使用 DSDV 时,网络中的每一个移动节点都需要维护一个路由表。 路由表表项包括目的节点、跳数和一个由目的节点注明的序列号,序列号能帮助节点区分有效和过 期的路由信息,并可防止路由环路的发生。 标有更大序列号的路由信息总是被接收。 如果两个更新分组有相同的序列号,则选择跳数最小的,使路由最优(最短)。 每个节点必须周期性地与邻节点交换路由信息,当然也可以根据路由表的改变来触发路由更新。 路由表更新有两种方式:一种是全部更新,即拔掉更新消息中将包括整个路由表,主要应用于变化较快的情况;另一种是增量更新,更新消息中仅包含变化的路由部分,通常适用于变化较慢的情况。 按需平面距离矢量路由协议 AODV AODV(Ad hoc Ondemand Distance Vector Routing)由 DSDV 发展而来,不同的是 AODV 为反应式路由协议。 源节点首先广播一个携带目的节点信息的路由分组( RREQ),其邻居节点依次向周围节点广播此路由分组,广播 RREQ 前会无线自组网路由协议 表驱动路由协议 按需驱动路由协议 DSDV CGSR WRP DSR TORA AODV 12 建立此节点到源节点的路由,直到路由分组到达目的节点或者一个中间节点,这个节点包含目的节点的路由信息,就不再广播 RREQ。 此过程中,会建立一个从源节点到目的节点的反向路由,也就是从目的节点到源节点的路由。 然后该节点将沿着反向路由发回一个 RREP, RREP 到达源节点后路由发现过程结束。 为避免路由循环,每一个路由分组中 都包括一个 sequence ID( SID)作为唯一标识,如果一个节点收到一个 SID 比它当前保留的 SID 小的数据包,表明该数据包是过时的,它将不予处理,而是简单的丢弃。 发现多条路由时,源节点会选择一条SID 大、跳数少的最优路由。 源节点移动后会重新启动路由发现过程,中间节点移动,那么其邻居节点会发现链路失效并向上游节点发送链路失效消息( RERR),一直传到源节点,然后源节点重新发起路由发现,或者也可以由发现链路失效的节点自己发起路由发现,此称为自修复。 只要路由是活动的,路由表就要一直维护下去。 活动的意思是有数 据包从源节点发往目的节点,如果链路上不再有数据包传递,一段时间之后,链路就会过期,最终路由信息将会从中间节点的路由表中删除 [7]。 动态源路由协议 DSR DSR(Dynamic Source Routing)是一种基于源路由的按需路由协议,它使用源路由算法而不是逐跳路由的方法。 DSR 主要包括两个过程:路由发现和路由维护。 当源节点 S 向目的节点 D 发送数据时,它首先检查缓存是否存在未过期的到目的节点的路由,如果存在,则直接使用可用的路由,否则启动路由发现过程。 具体过程如下:源节点 S 将使用洪泛法发送路由 请求消息( RREQ), RREQ 包含源和目的节点地址以及唯一的标志号,中间节点转发 RREQ,并附上自己的节点标识。 当 RREQ 消息到达目的节点 D 或任何一个到目的节点路由的中间节点时, D 或该中间节点将向 S 发送路由应答消息( RREP),该消息中将包含到 S到 D 的路由信息,并反转 S 到 D 的路由供 RREP 消息使用。 此外,中间节点也可以使用路由缓存技术( Routing Cache)来对协议作进一步优化。 临时排序路由算法 TORA TORA(Temporally Ordered Routing Algorithm)协议称为临时排序路由算法,是一种源初始化按需路由选择协议,它采用链路反转的分布式算法,具有高度自适应、 高效率和较好的扩充性,比较适合高度动态移动、多跳的无线网络,其主13 要特点是控制报文定位在最靠近拓扑变化的一小部分节点处,因此节点只保留邻近点的路由信息。 该算法中路由不一定是最优的,常常使用次优路由以减少发现路由的开销。 TORA 协议包括 3 个基本模块:路由的创建、路由的维护和路由的删除。 在路由的建立和路由维护过程中,节点应用“高度” Metric 来建立一个以目的节点为根的有向非循环图。 这样链路根据相邻两个节 点的高度值来确定向上或向下的方向。 路由协议性能评标准 主要包括以下几个方面的指标 [8]: ( 1)丢包率:网络中数据传输是以发送和接收数据包的形式进行的,理想状态下发送了多少数据分组就能接收多少数据分组,但是由于信号衰减、网络质量等诸多因素影响下,可能产生数据分组丢失。 在单位时间内未收到的数据分组与发送的数据分组的比率就是丢包率,当然这个数字越小越好。 丢包率的计算公式见式( )。 丢包率 =发送分组数未接收到的分组数 ( ) ( 2)端到端平均时延:指单位数据包从源节点到目的节点所用的时间,时延越小,说明响应越快,网络质量越令人满意。 该统计量反应了网络的拥塞状况,计算公式见式( )。 端到端平均时延 =数据包总数 所用时间源节点数据包成功传输 ( ) ( 3)路由开销:单位数据包个数所引起的额外路由分组个数,包括 RREQ( Route Request,路由请求)、 RREP( Route Reply,路由应答)、 RRER( Route Error,路由错误)等,该统计量反应了路由协议的效率,计算公式见式 ( )。 路由开销 =发数的数据分组数发送的路由分组数 ( ) ( 4)平均吞吐量:该参数是在接收数据时由网络层的上层统计的,是指节点单位时间内收到的数据分组数,它是一个容量概念,表示数据传输的总量。 5 无线自组网路由协议的仿真 移动节点 14 无线模型的核心是移动节点,它代表实际无线网络中的站点。 移动节点是由基本的节点再加上无线和移动节点所需要的一些功能构成,它能够在给定的拓扑范围内移动,可以通过无线信道接收和传送无线信号。 移动节点的 结构 移动节点是由一系列的网络构件构成,这些构件包括链路层、连接到 LL 上的 ARP 模块、接口队列、 MAC 层、网络接口层。 移动节点通过网络接口连接到无线信道上。 移动节点的结构如图 所示。 图 移动节点的结构示意图 移动节点的创建 ( 1)移动节点的配置:在 NS2 中,要创建一个移动节点,就必须在创建节点之前对节点进行配置。 所谓点的配置就是在节点创建之前设定节点的各项属性,可以使用模拟器对 ns 的内部过程 nodeconfig{}来配置节点的属性。 channel Down target Up target Up target Up target mac Down target Down target Arp table target Addr demux entry Default target IP address Port demux Src/Sink Rtagent LL IFq ARP MAC NetIF Channel Radio Propagation Model Up target 15 移动结点基本配置参数如下: $ns nodeconfig –adhocRouting 配置 adhoc 网络的路由类型 llType 数据链路层类型 macType MAC 层类型 ifqType 队列类型 ifqLen 队列长度 antType 天线类型 propType 无线信号传输模型 phyType 物理层类型 channelType 信道类型 topoInstance 拓扑对象 agentTrace 是否打开应用层 Trace routerTrace 是否打开路由的 Trace macTrace 是否打开应 MAC 层的 Trace movementTrace。基于ns2的无线自组网路由协议的研究与仿真论文
相关推荐
间的区别 [2]。 对无线接入技术的仿真 采用 OPNET 软件对 IEEE802. 16d 网络的 BS、 SS 进行了节点和进程域的研究建模,对 MAC 进程状态进行了系统和详细的分析,研究并编写模块的出口、入口函数。 建立了 802. 16d 的网络仿真平台,对 BS、 SS 模块通信机制进行仿真,并对链路吞吐量等参数进行性能测试与分析。 通过对调度服务中的实时轮询业 务 rtPS
贝时所占用的资源。 2 硬件开发:用 SOPC Builder 定义 NiosII 处理器系统,用 Quartus 软件定义器件、分配管脚并编译。 3 软件开发: C/C++程序开发,开发定制硬件的驱动程序,定制硬件平台为目标基于 Nios_II的电流 /电压表设计 6 进行编译连接。 4 下载到开发板上进行验证 5 成功完成 NiosII 系统设计 a 硬件开发流程 用 SOPC
版的 Linux系统中普遍采用的 GUI是XWindows系统,但显然它相对于嵌入式系统来说是过于庞大了,嵌入式系统要求西北大学学士学位论文 11 的是一个轻量级的性能可靠和可裁减的 GUI,因此需要重新开发适合嵌人式系统的 GUI。 目前国内外已经推出了很多基于 Linux的 GUI产品,现在比较流行的一些 GUI产品包括 MiniGUI、 MicmWindov,OpenGUI、 QT/
模块设计 8088 最小应用系统整体模块功能 该模块是整个系统的硬件控制指挥中心。 由它控制整个系统 运行。 8088 最小应用系统整体模块组成 [4] 该模块有微处理器 8088, 74LS373, 8284 时钟发生器, 74LS138 译码电路等构成。 微处理器 (CPU)、 外部设备 及互联设备在各部件之间提供通信。 Intel 8088 按功能可分为两大部分:执行部分
动态速率转换,当射频情况变差时,可将数据传输速率降低为 ,2Mbps 和 1Mbps,且当工作在 2Mbps 和 1Mbps 速率时可向下兼容。 的使用范围 在室外为 300 米,在办公室环境中则最长为 100 米,适用与以太网类似的连接协议和数据包确认,来提供可靠的数据传送和网络带宽的有效使用。 基本分为两种 : 点对点模式和基本模式,点对点模式是指无线网卡和无线网卡之间的通信方式 ;
究方向 本系统创新的地方主要体现在 系统的前端语言采用的是 目前比较热门的 语义 HTML5 和 CSS3; 问题的回答,或者对文章的回复一 致使用 的是 Ajax,交互效果较好。 此外本系统几乎没有采用图片, 所有的背景都使用 CSS3 设置样式,大大提高了系统的加载速度。 进一步的研究方向有以下几点: ( 1)对于每一篇文章或者问题,应该匹配与其相似的文章或者问题,可以采用第三方的分词系统;