基于NS2平台移动网络节点切换应用研究毕业论文.doc_第1页
基于NS2平台移动网络节点切换应用研究毕业论文.doc_第2页
基于NS2平台移动网络节点切换应用研究毕业论文.doc_第3页
基于NS2平台移动网络节点切换应用研究毕业论文.doc_第4页
基于NS2平台移动网络节点切换应用研究毕业论文.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业论文基于NS2平台移动网络节点切换应用研究毕业论文目录摘要3Abstract4第一章 概述51.1 课题研究背景51.2 AdHoc网络特点及其路由协议71.2.1 AdHoc网络特点71.2.2 AdHoc路由协议分类81.3 选题意义91.4 本文内容安排9第二章 TCP/UDP技术112.1 TCP技术113.2 UDP技术14第三章 AdHoc无线路由技术15第四章 实验平台搭建184.1 ubuntu实验环境184.2 NS2的安装184.2.1 NS2简介184.2.2 NS2的安装194.2.3 NS的仿真过程22第五章 实验设计及实现235.1关键代码的实现235.2 程序运行245.3 无线环境下吞吐量,延时和丢包测试265.4 AdHoc路由对比分析31第六章 总结40致谢42参考文献43附录45摘要 Ad Hoc无线网络由一组无线移动节点组成,是一种不需要依靠现有固定通信网络基础设施的、能够迅速展开使用的网络体系,所需人工干预最少,是没有任何中心实体、自组织、自愈的网络;各个网络节点相互协作、通过无线链路进行通信、交换信息,实现信息和服务的共享;网络节点能够动态地、随意地、频繁地进入和离开网络,而常常不需要事先示警或通知,而且不会破坏网络中其他节点的通信。移动Ad Hoc网络节点可以快速地移动,必须既作为路由器又作为主机,能够通过数据分组的发送和接收而进行无线通信。因此,网络节点在网络中的位置是快速变化的,缺少通信链路的情况也是经常发生的。无线路由策略就显得很重要,AdHoc无线网络路由协议的特殊性,近年来提出了多种Adhoc网络路由协议,IETF的MANET工作小组目前正专注于AdHoc网络路由协议的研究,提出了许多协议草案,如DSR,AODV,ZRP等路由协议;另外,专业研究人员也发表了大量关于AdHoc网络路由协议的相关文章,提出了许多关于AdHoc的网络路由协议,如DSDV,WRP等根据路由触发原理,目前的路由协议大致可以分为先验式路由协议?反应式路由协议和混合式路由协议3种。关键字:AdHoc网络 ,先验式,反应式,混合式AbstractAd Hoc wireless network by a group of wireless mobile nodes, is a fixed communication network does not need to rely on existing infrastructure that can quickly expand network system used,Human intervention required at least, is no central entity, self-organization, self-healing network;Mutual cooperation in various network nodes, to communicate via wireless link to exchange information to achieve the sharing of information and services; network node to dynamically and free.Mobile Ad Hoc network node can quickly moving, and must not only as a router and as host, can pass the sending and receiving data packet and wireless communication. Therefore, network nodes in a network of rapid change the position is the lack of communication link, also often happen. Wireless routing strategies appears very important, AdHoc the particularity of the wireless network routing protocols in recent years, puts forward many AdHoc network routing protocols, the IETF MANET working group is currently focused on AdHoc network routing protocol of research, puts forward many protocols, like AODV, ZRP DSR, such routing protocol;In addition, professional researchers have also published AdHoc network routing protocol on a large, and puts forward the relevant article about many of AdHoc network routing protocols, like DSDV, according to the principle WRP etc, the current routing trigger routing protocol can be roughly divided into a priori type routing protocol? Reactive routing protocols and hybrid routing protocol 3 kinds.Key word : AdHoc networks, transcendental type, reactive type, hybrid type第一章 概述TCP/UDP技术广泛应用于现代通信网络中,担负着数据传输的重要任务。随着网络技术的发展,用户终端不仅可以在固定网络中享受Internet的各项服务,而且可以在任何时候、任何地点通过无线网络切换享受网上冲浪的便捷。但是在切换过程中,系统链路会出现丢包和延迟等现象。影响这些的关键因素就是无线网络的路由策略问题,无线路由策略严重影响其网络性能。所以,分析TC/UDPP协议下无线通信网络路由策略的各种性能是十分有必要的无线网络通常可以分为有中心网络和无中心网络,前者需要固定基础设施的支持,移动主机之间的通信通常借助基站来完成,例如蜂窝移动通信系统;后者主要是指移动Ad hoc网络,它不需要固定的基础设施,能够快速地自动组网。与有中心网络相比,Ad hoc网络灵活、健壮、投资少,特别适合于作战指挥、抢险救灾以及应付突发事件和执行临时任务的场合。在Ad hoc网络中,每个移动节点兼备路由器和主机两种功能。作为主机,移动节点需要运行面向用户的应用程序;作为路由器,它需要运行相应的路由协议,根据路由策略和路由表参与数据分组转发工作和路由维护工作。考虑到Ad hoc网络中节点是移动的,网络的拓扑结构不断变化,传统的用于因特网的路由协议(如RIP、OSPF等)无法适应Adhoc网络的实际需要,同时由于移动节点的计算能力和存储容量较低并且能源受限,要求路由协议尽量简单,这又增加了Ad hoc网络中路由协议设计的难度。1.1 课题研究背景TCP/UDP协议的概述TCP协议由IETF 组织在上世纪八十年代提出,其英文全称是Transmission Control Protocol ,中文翻译为传输控制协议。TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议。TCP的工作方式是采用三次握手的传输机制,在因特网协议族中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。UDP 是User Datagram Protocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。它是IETF RFC 768是UDP的正式规范。UDP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。在网络中它与TCP协议一样用于处理数据包。面向连接的TCP“面向连接”就是在正式通信前必须要与对方建立起连接。 一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂。首先主机A向主机B发出连接请求数据包,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包,这是第二次对话,主机A再发出一个数据包确认主机B的要求同步,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。 TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。 面向非连接的UDP“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。UDP与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。TCP协议和UDP协议各有所长、各有所短,适用于不同要求的通信环境。TCP协议和UDP协议之间的差别如表1-1所示:TcpUdp是否连接面向连接面向非连接传输可靠性可靠的不可靠的应用场合传输大量数据少量数据速度慢快表 1-1 TCP协议和UDP协议TCP协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。 与TCP不同,UDP协议并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。UDP协议称为不可靠的传输协议。相对于TCP协议,UDP协议的另外一个不同之处在于如何接收突发性的多个数据报。UDP并不能确保数据的发送和接收顺序。事实上,UDP协议的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才有可能发生。1.2 AdHoc网络特点及其路由协议1.2.1 AdHoc网络特点Ad Hoc无线网络由一组无线移动节点组成,是一种不需要依靠现有固定通信网络基础设施的、能够迅速展开使用的网络体系,所需人工干预最少,是没有任何中心实体、自组织、自愈的网络;各个网络节点相互协作、通过无线链路进行通信、交换信息,实现信息和服务的共享;网络节点能够动态地、随意地、频繁地进入和离开网络,而常常不需要事先示警或通知,而且不会破坏网络中其他节点的通信。移动Ad Hoc网络节点可以快速地移动,必须既作为路由器又作为主机,能够通过数据分组的发送和接收而进行无线通信。因此,网络节点在网络中的位置是快速变化的,缺少通信链路的情况也是经常发生的。 Ad Hoc无线网络是一种移动通信和计算机网络相结合的网络,网络中的每个节点都兼有路由器和主机两种功能。AdHoc网络的特点主要体现在以下4方面:1. 动态变化的网络拓扑结构:AdHoc网络中没有固定的通信设施和中央管理设备,网络节点可以随机地以任意速度朝任何方向移动,加上无线发射装置发送功率的变化、环境的影响以及信号之间的互相干扰等因素,都会造成网络拓扑结构的动态变化。2. 有限的资源:提供给AdHoc网络中移动主机的工作能量是有限的,而且移动主机损耗能量越多,将降低AdHoc网络功能;另一方面,网络本身提供带宽有限以及信号之间的冲突和干扰,使移动主机可得到的有限的传输带宽将远远小于理论上的最大带宽。3. 多跳通信:两个网络节点由于受到可用资源的限制,不能处在同一个覆盖网络内,可采用AdHoc网络多跳通信,实现不同覆盖网络之间的源主机与目的主机之间的通信。4. 较低的安全性:AdHoc网络节点间通信通过无线信道,传输的信息非常容易受到监听、重发、篡改、伪造等各种攻击,如果路由协议一旦遭受到上述恶意攻击,整个自组网络将无法正常工作。这些特点对设计AdHoc网络路由算法提出了特殊的要求,一个合理的路由算法必须考虑有限的网络资源、动态变化的网络拓扑结构、提高网络吞吐量等方面的因素。1.2.2 AdHoc路由协议分类AdHoc网络的路由协议大致可以分为先验式(Proactive)路由协议、反应式(Reactive)路由协议以及混合式路由协议。先验式路由协议又称为表驱动路由协议,在这种路由协议中,每个节点维护一张包含到达其它节点的路由信息的路由表。当检测到网络拓扑结构发生变化时,节点在网络中发送更新消息,收到更新消息的节点将更新自己的路由表,以维护一致的、及时的、准确的路由信息,所以路由表可以准确地反映网络的拓扑结构。源节点一旦要发送报文,可以立即获得到达目的节点的路由。因此这种路由协议的时延较小,但是路由协议的开销较大;反应式路由协议,又称为按需路由协议,是一种当需要发送数据时才查找路由的路由算法。在这种路由协议中,节点不需要维护及时准确的路由信息,当向目的节点发送报文时,源节点才在网络中发起路由查找过程,找到相应的路由。与先验式路由协议相比,反应式路由协议的开销较小,但是数据报传送的时延较大。在Ad hoc网络中单纯采用先验式或反应式路由协议都不能完全解决路由问题。在高速动态变化的Ad hoc网络中,使用单纯的先验式路由协议会产生大量的控制报文,并且很多控制报文经常是无用的;如果单独采用反应式路由协议,需要为每个报文查找路由,这也是不合理的(特别是当连续向某个目的节点发送多个报文时)。由此可见,应用结合先验式和反应式路由协议优点的混合式路由协议是一种较好的折衷方案。在局部范围内使用先验式路由协议,维护准确的路由信息,并可缩小路由控制消息传播的范围,当目标节点较远时,通过查找发现路由,这样既可以减少路由协议的开销,时延特性也得到了改善。1.3 选题意义Ad Hoc路由的研究是目前移动网络的重要任务。针对不同的研究方法,研究人员分别从不同的控制机制入手,试想从单方向的改进或者提出新的办法。随着MIPv6技术研究的不断推进和网络不断实施,提高无线路由的性能显得非常紧迫。但是究竟现有的控制机制在目前的网络中性能如何,存在的问题在本文就目前已经使用的反应式和先验式无线路由协议进行分析,并作了综合比较,并且在无线网络中通过NS2模拟做了详细的分析,这对以后研究无线传输具有重要的意义。1.4 本文内容安排论文第一章概括性的叙述了TCP/UDP协议、AdHoc网络特点及其路由协议为深入研究无线路由协议的性能提供了理论基础。第二章分析了TCP技术的内容,分别从TCP的包的类型、工作方式、与UDP业务的比较、四种拥塞控制算法的分析等方面做了详细的分析,这对于研究无线路由的各项性能是十分重要的,也是研究的基础。第三章是整个论文的重点,详细介绍了无线路由技术的内容,分别就典型的四种无线路由协议做了详细的分析。为第五章的实验设计提供理论基础和指导。第四章主要是ubuntu环境的介绍,NS2软件的介绍,实验平台的搭建过程。第五章也是本文的重点,主要是实验程序的设计,实验的进行,包括详细的实验步骤,获取数据,这是本文分析无线传输延迟、吞吐量、丢包和无线路由性能的主要实践依据。有大量的数据都在这一章中得出。第六章是本文的总结,包括研究过程中存在的各种问题,对研究的总结,未来的展望。第二章 TCP/UDP技术2.1 TCP技术TCP报文是TCP层传输的数据单元,也称为报文段。格式如表3-1所示:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24端口号目的端口号序号确认号首部长度保留窗口校验和紧急指针可选项数据表2-1 TCP报文首部格式TCP就是根据其特殊的报文结构,在传输的过程中检测和判断报文的丢失与否。由于其报文中含有多项确认标志,它所提供的服务都是端对端的,可靠的,面向连接的服务,适合于多种要求稳定的传输业务,例如FTP业务是最常见的一种。1. TCP的工作方式TCP提供可靠的连接服务,采用三次握手确认建立连接:位码即TCP标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)。举例说明,TCP客户端需要和TCP服务端建立连接,过程如图2-1所示:synSyn/ackackSYN-SENTESTABLISHEDSYN-RECEIVEDSYN-RECEIVEDESTABLISHEDclosedlistenESTABLISHED图2-1 TCP三次握手过程2. TCP传输控制策略TCP传输数据时,当传输窗口cwnd的数据量大于可接收窗口cwnd,这时候大量数据积压在传输窗口,出现数据拥塞,导致丢包;TCP每传输出一个数据包后都会等待接收方的ACK确认信息才决定是否重传这部分数据,当TCP在超过正常的RTT(一个回环时间)内没有收到对方的ACK,它将继续传输这部分数据,直至收到ACK信息。这两种情况都会导致TCP数据吞吐量大量下降,严重影响网络性能。为了解决这个问题,TCP加入了拥塞控制策略,包括慢启动、拥塞避免、快速重传和快速恢复四种算法。算法中主要用到三个窗口变量:(1)拥塞窗口(cwnd):限定源端在拥塞控制中在一定时间内允许传送的最大数据量,是来自源端的流量控制。(2)通告窗口(awnd):连接建立及传输过程中,接收端向源端通告的最大可接收速率,是来自接收端的流量控制。(3)有效窗口(win):源端数据发送的实际窗口大小,限定为winmin(cwnd,awnd)。TCP拥塞控制的四个阶段:启动阶段当连接刚建立或超时时,进入慢启动阶段。当新建TCP连接时,拥塞窗口(cwnd)被初始化为一个数据包大小。源端按cwnd大小发送数据,每收到一个ACK确认,就增加一个数据包发送量,这样慢启动阶段cwnd随RTT呈指数级增长。慢启动采用逐渐增大cwnd的方法,可以防止TCP在启动一个连接时向网络发送过多的数据包而造成不必要的数据丢失和网络拥塞,并且它还能够避免采用单纯的AIMD算法造成的吞吐量增加过慢的问题。为了防止cwnd的无限制增长引起网络拥塞,引入一个状态变量:慢启动阈值ssthresh。当cwndssthresh时,使用拥塞避免算法,减缓cwnd的增长速度。拥塞避免阶段当TCP源端发现超时或收到3个相同的ACK确认帧时,即认为网络将发生拥塞,此时进入拥塞避免阶段。在拥塞避免阶段,慢启动域值ssthresh将被设置为当前cwnd的一半,当发生超时时,cwnd被置为初始值1。此时,如果cwnd =ssthresh,则执行拥塞避免算法,即cwnd在每次收到一个ACK确认时只增加1/cwnd个数据包。拥塞避免阶段cwnd随RTT呈线性增长。快速重传和快速恢复阶段在拥塞避免阶段,当数据包超时时,cwnd被置为1,重新进入慢启动阶段,这会导致过大地减小发送窗口尺寸,降低TCP连接的吞吐量。因此,引入了快速重传和快速恢复机制。在快速重传阶段,当源端收到3个或3个以上重复的ACK时,就判定数据包丢失,同时将ssthresh设置为当前cwnd的一半,并重传丢失的包,进入快速恢复阶段。在快速恢复阶段,每收到重复的ACK,则cwnd加1;收到非重复ACK时,置cwndssthresh,转入拥塞避免阶段;如果发生超时重传,则置ssthresh为当前cwnd的一半,cwnd1,重新进入慢启动阶段。这种方法避免了数据包超时后就重新进入慢启动阶段,提高了TCP连接的吞吐量。3.2 UDP技术UDP报头由4个域组成,其中每个域各占用2个字节,具体如表3-1:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1819 20 21 22 23 24 25 26 27 28 29 30 31源端口目的端口段长校验和表3-1 UDP报头结构UDP协议使用端口号为不同的应用保留其各自的数据传输通道。UDP和TCP协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将UDP数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。一般来说,大于49151的端口号都代表动态端口。 数据报的长度是指包括报头和数据部分在内的总字节数。因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最大长度根据操作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小,有时会降低到8192字节。 UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。这与TCP协议是不同的,后者要求必须具有校验值。 许多链路层协议都提供错误检查,包括流行的以太网协议,也许想知道为什么UDP也要提供检查和。其原因是链路层以下的协议在源端和终端之间的某些通道可能不提供错误检测。虽然UDP提供有错误检测,但检测到错误时,UDP不做错误校正,只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。第三章 AdHoc无线路由技术4种典型的AdHoc网络路由算法:1目的序列距离矢量路由协议(DSDV)DSDV对BellmanFord路由算法进行了改进。在DSDV中,每个移动节点都需要维护一个路由表。路由表表项包括目的节点、跳数和目的地序号,其中目的地序号由目的节点分配,主要用于判别路由是否过时,并可防止路由环路的产生。每个节点周期性必须与邻节点交换路由信息,当然也可以根据路由表的改变来触发路由更新。路由表更新有两种方式:一种是全部更新(Fulldump),即拓扑更新消息中将包括整个路由表,主要应用于网络变化较快的情况;另一种方式是部分更新(Incrementalupdate),更新消息中仅包含变化的路由部分,通常适用于网络变化较慢的情况。在DSDV中只使用序列号最高的路由,如果两个路由具有相同的序列号,那么将选择最优的路由(如跳数最短)。NS实现DSDV路由协议的具体策略如下:一个没有找到路由的分组到达节点后首先被缓存,同时节点发送路由查询消息,直到接收到来自接收端的路由响应消息。当缓存溢出时,新来的分组将被丢弃。分组到达目的节点后将直接由地址解复用器送到相应的端口,而后由端口将分组送到目的代理。2动态源路由协议(DSR)DSR是一种基于源路由的按需路由协议,它使用源路由算法而不是逐跳路由的方法。DSR主要包括两个过程:路由发现和路由维护。当节点S向节点D发送数据时,它首先检查缓存是否存在未过期的到目的节点的路由,如果存在,则直接使用可用的路由,否则启动路由发现过程。具体过程如下:源节点S将使用洪泛法发送路由请求消息(RREQ),RREQ包含源和目的节点地址以及唯一的标志号,中间节点转发RREQ,并附上自己的节点标识。当RREQ消息到达目的节点D或任何一个到目的节点路由的中间节点时(此时,RREQ中已记录了从S到D或该中间节点的所经过的节点标识),D或该中间节点将向S发送路由应答消息(RREP),该消息中将包含S到D的路由信息,并反转S到D的路由供RREP消息使用。此外,中间节点也可以使用路由缓存技术(Routing Cache)来对协议作进一步优化。DSR的优点:节点仅需要维护与之通信的节点的路由,减少了协议开销;使用路由缓存技术减少了路由发现的耗费;一次路由发现过程可能会产生多条到目的点的路由。DSR的缺点:每个数据报文的头部都需要携带路由信息,数据包的额外开销较大;路由请求消息采用洪泛方式,相邻节点路由请求消息可能发生传播冲突并可能会产生重复广播;由于缓存,过期路由会影响路由选择的准确性。NS实现的DSR协议中,采用DSR的节点与其它移动节点有些不同,在DSR节点中,所有分组被送到路由代理,路由信息可通过数据分组进行捎带确认。3临时按序路由算法(TORA)TORA是一个基于链路反转方法的自适应的分布式路由算法,主要用于高速动态的多跳无线网络。作为一个由源端发起的按需路由协议,它可以找到从源到一个目的节点的多条路由。TORA的主要特点是:当拓扑发生改变时,控制消息只在拓扑发生改变的局部范围传播。因此,节点只需维护相邻节点的路由信息。协议由3部分构成:路由产生、路由维护和路由删除。初始化时,目的节点的高度(即传播序列号)被置为0。然后由源端广播一个含有目的节点ID的QRY分组,一个高度不为0的节点响应一个UPD分组。收到UPD分组的节点的高度将比产生该UPD分组的节点的高度大1,并且具有较大高度值的节点被规定为上游节点。通过这种方式能够创建一个从源到目的节点的一个有向无环路图(DAG)。当节点移动时,路由需要重建。在路由删除阶段,TORA通过广播一个CLR分组来删除无效的路由。TORA存在的一个问题是当多个节点同时进行选路和删除路由时会产生路由振荡现象。NS中,每个节点为所有可能的目的节点运行一个分离的TORA进程。TORA运行在IMEP(IMEP:InternetMANETEncapsulation Protocol)之上,IMEP主要用来提供路由消息的可靠传送并可以向邻居节点通知链路的改变。4 Ad Hoc按需距离矢量路由协议(AODV)AODV是DSDV算法的改进,但它与DSDV的区别在于它是反应式路由协议。为了找到通往目的节点的路由,源端将广播一个路由请求分组,邻居节点依次向周围节点广播此分组直到该分组被送到一个知道目的节点路由信息中间节点或目的节点本身。一个节点将丢弃重复收到的请求分组,路由请求分组中的序列号用来防止路由环路,并能判断中间节点是否响应了相应的路由请求。当节点转发路由请求分组时,它会将其上游节点的标志ID录入路由表,从而能够构建一条从目的节点到源节点的反向路由。当源端移动时,它会重新发起路由发现算法;如果中间节点移动,那么与其相邻的节点会发现链路失效并向其上游节点发送链路失效消息并一直传到源节点,而后源节点根据情况重新发起路由发现过程。NS中,AODV的实现组合DSR和DSDV协议。它既具有DSR协议的路由发现和路由维护功能,同时又使用了DSDV采用的逐跳路由、序列号和Beacon消息。第四章 实验平台搭建4.1 ubuntu实验环境 Ubuntu是Linux的一个版本,是一款免费的操作系统,Ubuntu 项目完全遵从开源软件开发的原则;并且鼓励人们使用、完善并传播开源软件。也就是Ubuntu目前是并将永远是免费的。任何人可以任意方式下载、修改、修正和使用组成自由软件的代码。因此,除去自由软件常以免费方式提供这一事实外,这种自由也有着技术上的优势:进行程序开发时,就可以使用其他人的成果或以此为基础进行开发。对于非自由软件而言,这点就无法实现,进行程序开发时,人们总得白手起家。基于上述原因,自由软件的开发是迅捷、高效和激动人心的!用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变。这让Linux吸收了无数程序员的精华,不断壮大。NS2在linux环境下运行比在windows下更稳定,出现更少的错误,还可以更改linux内核,使得仿真效果更好。4.2 NS2的安装4.2.1 NS2简介NS 是Network Simulator 的英文缩写,字面翻译即为网络模拟器,又称网络仿真器。NS2 则是网络仿真器的第2 版,它是一种面向对象的网络仿真器,本质上是一个以离散事件模拟器,其本身有一个虚拟的时钟,所有的仿真都是由离散事件驱动的。目前NS2可以用于仿真各种不同的通信网络。它功能强大,模块丰富,已经实现的一些仿真模块有:网络传输协议,如TCP和UDP;业务源流量产生器,如FTP、Telnet、Web CBR和VBR;路由队列管理机制,如Droptai、RED和CBQ;路由算法,如Dijkstra,以及无线网络的WLAN,Ad hoc路由,移动IP和卫星通信网络等。NS2也为进行局域网的仿真而实现了多播以及一些MAC子层协议。NS2使用了被称为分裂对象模型的开发机制,采用C+和Otcl两种开发语言进行开发。仿真用户只要通过简单易用的Tcl/OTcl脚本编写出仿真代码,对仿真拓扑、节点、链路等各种部件和参数进行方便快速的配置。NS可以说是Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库等。网络组件模拟网络设备或节点的通信,他们通过制定仿真场景和仿真进程,交换特定的分组来模拟真实网络情况,并将执行情况记录到日志文件(称为Trace文件)中,以提供给仿真用户进行分析解读,获取仿真结果。NS采用这种分裂模型即提高了仿真效率,加快了仿真速度,又提供了仿真配置的灵活性和操作的简便性。4.2.2 NS2的安装NS2在ubuntu中的安装步骤如下:1. 下载ns-allinone-2.31.tar.gz 并解压(tarxzvfns-allinone-2.31.tar.gz)2. 选择安装位置:将解压缩得到的ns-allinone-2.31文件夹剪切到你的文件夹下(既想要安装到的位置)3. 在终端里安装:(1).打开一个终端(位置:应用程序系统工具终端);在终端里输入sudo-i,回车;按提示输入密码,回车,进入root限操作;(2). 下载并安装下一步安装ns -2.31时所必需的系统包:首先,在终端里输入apt-get install build-essential进行下载、安装,这一步是为了gccand some essential的安装,如图4-1:图4-1 安装build-essential接着,在终端里输入apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev进行下载、安装,这一步是为了tcland tk的安装,如图4-2:图4-2 安装tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev最后,在终端里输入apt-get install libxmu-dev进行下载、安装,这一步是为了nam的安装,图4-3。图4-3 安装libxmu-dev(3). 输入cd命令,转到ns-allinone-2.31文件夹下, cd /home/administrator/ns-allinone-2.31;输入./install,进行安装。4. 设置环境变量在终端下输入:gedit/.bashrc将下面的代码加入.bashrc文件的尾部。注意用你实际的路径位置替换下面代码中出现/ your/path的地方。#added by janhexport PATH=$PATH:/home/natalie/ns-allinone-2.31/bin:/home/natalie/ns-allinone-2.31/tcl8.4.14/unix:/home/natalie/ns-allinone-2.31/tk8.4.14/unix“export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/natalie/ns-allinone-2.31/otcl-1.13:/home/natalie/ns-allinone-2.31/lib“export TCL_LIBRARY=$TCL_LIBRARY:/home/natalie/ns-allinone-2.31/tcl8.4.14/library上面步骤完成后,在终端中输入下面代码:source /.bashrc此时在终端下输入:ns 如果出现了“”表示安装成功了,已经可以使用NS2。退出ns时可以在“”后键入:exit4.2.3 NS的仿真过程NS的仿真过程大致如下所示:编写OTcl脚本程序建立并运行仿真库仿真结果处理trace文件数据分析以及nam动态仿真。第五章 实验设计及实现本章研究实验首先在场景1中无线网络中UDP的传输吞吐量、丢包率和端到端时延的分析;场景2是无线节点传输中四种无线路由策略的性能分析。5.1关键代码的实现下图5-1的代码是trace文件建立,用于记录吞吐量、丢包率和网络延迟,后面用xgraph来输出图像:图5-1 建立trace的代码以下图5-2代码用于创建代理,特别是接收端设置LossMonitor来记录丢失分组等数据,用于后面对吞吐量,丢包率,延时的计算:图5-2 创建代理的代码下图5-3代码用于移动节点到相应位置,以得到实验二的实验环境,来进行路由分析实验:图5-3 节点移动到相应位置下图5-4代码是最后能得出结果的关键,是record函数的创建,用来计算吞吐量,丢包率,延时信息,并写入相应的trace文件(由于代码过长只截取了部分代码):图5-4 record函数的创建下图5-5代码是finish函数中的代码用来在坐标图中自动显示出吞吐量,丢包率,延时的对比图像:图5-5 显示出吞吐量,丢包率,延时的对比图像5.2 程序运行首先打开终端,输入sudo -i,回车,输入密码,进入管理员权限如下图5-6:图5-6 进入管理员权限然后输入cd /home/administrator/桌面/ZGN,回车,进入程序所在文件夹,如下图5-7:图5-7进入程序所在文件夹最后输入ns ZGN.tcl,运行程序,如下图5-8:图5-8运行程序此时在文件夹内已经生成了相应的trace和nam文件如下图5-9:图5-9 trace和nam文件此时程序已经根据trace和nam文件,分别用xgraph和nam软件生成了对比图形和nam 图形,下面将根据图像作详细分析。5.3 无线环境下吞吐量,延时和丢包测试1场景描述:该模型由8个无线节点组成,是前80秒的操作,在1秒,11秒,21秒,31秒0,2,4,6四个无线节点分别开始发包,随着实验的进行,丢包,延时,吞吐量等问题相继产生。如下图5-10为实验拓扑图,无线PC_0,PC_2, PC_4, PC_6分别向 PC_1, PC_3, PC_5, PC_7发送数据包:图5-10 吞吐量,延时和丢包测试拓扑图下图5-11,在0秒的时候8个无线节点的nam 图:图5-11无线节点的nam 图下图5-12,在1秒的时候节点0开始向节点1发送数据包,此时并未发现丢包象:图5-12 0开始向节点1发送数据包图5-13,在11秒的时候节点2开始向节点3发送数据包:图5-13 2开始向节点3发送数据包下图5-14,21秒以后节点4开始向5发送数据包并且由于信道占用,使得丢包现象明显。 图5-14 4开始向5发送数据包下图5-15,在31秒以后节点6开始向节点7发送数据包,并且由于此时有四条无线传输链路在传输信道占用严重,所以丢包现象更加严重,如下图:图5-15 6开始向节点7发送数据包2对前80秒trace文件生成图像的分析,如下图分别是生成的xgraph图像:吞吐量对比图像5-16:图5-16吞吐量对比图像分析:节点0在T =1秒开始传送数据,节点1在T=11秒开始传送数据。1.0,11内,唯有节点1传送数据,它占用了所有的网络带宽,所以上图该时段内,节点1的性能在整个模拟过程是最好的。节点2在T=11秒开始传送数据,开始与节点0争用信道资源,不过在T=21.0秒前,还未超出信道的服务能力; 随着更多节点的相继加入,我们看到各节点的传输率一再下降,并且由于争用,各自均处于波动状态。丢包率对比图像5-17:图5-17 丢包率对比图像分析:从图5-17中可以看出,每当争用通信信道的节点数增加,数据丢包率就相应增大。因为1.0 , 11 时段内,只有一个节点使用通信新到时,数据丢包率为0, 而当有更多的节点加入并共同争用信道时,节点的通信性能开始变坏(即,开始丢包)。延时对比图像5-18:图5-18 延时对比图像分析:由图5-18随着争用通信信道的节点数增加,数据包的传输时延明显增大,并且拥塞窗口大小(CW)调整所需时间更长。5.4 AdHoc路由对比分析1 场景描述:本实验要求就相同场景分别使用不同的无线路由协议,对比其性能。由于现在的无线路由协议分为 先验式路由协议和反映式路由协议 ,本实验采用了最典型的DSDV和AODV来对比分析。该模型由8个移动节点构成,并在1000 m1000 m的范围内按以下预定的移动模式移动。8个节点初始坐标为:节点0(1,400)、节点1(900,1)、节点2(100,200)、节点3(220,200)、节点4(340,200)、节点5(460,200)、节点6(580,200)、节点7(700,200)。模拟开始运行后,在100 s时节点0以50 ms速度向目标坐标(1,250)移动,1以50 ms的速度向目标坐标(800,50)移动,在250s时节点0开始以50ms速度向目标坐标(800,250)移动。在节点0和节点1之间建立固定比特率(CBR)业务流,CBR的分组大小为512字节。并且在130s时,节点0开始向节点1发送CBR数据包,模拟的总时间设为400s。通过下图5-19所示程序段改变路由协议:图5-19 节点属性设置下图5-20为实验在开始时的拓扑图,无线PC_0通过PC_2,PC_4, PC_5,PC_6,PC_7把数据传给PC_1:图5-20 路由分析拓扑图 2.nam文件分析:在87秒时,节点迅速移动,形成了该模型的场景,如下面的nam图5-20:图5-20 开始时的nam 在100s时,0,1节点开始移动形成如下图5-21:图5-21 0,1节点开始移动此时DSDV协议已经开始交换相邻节点路由信息在发送数据包时可以直接发送数据,而AODV协议在开始发送数据包时才寻找路由,源节点发送数据前先广播一个路由请求消息,附近节点收到后再次广播,直到请求消息到达目的节点或到达知道目的节点路由的中间节点,目的节点或中间节点沿原来路径返回响应消息如下图5-22:AODV:图5-22 AODV协议寻找路由数据传输时如下图5-23,图5-24:DSDV:图5-23 DSDV开始数据传输AODV:图5-24 AODV开始数据传输由上面两图可以开出DSDV下的路径为:0-3-4-5-6-7-1,而AODV下为:0-2-3-4-5-6-7-1。很明显DSDV路径更短,能更好的获得最优路径。在250s时,0,1节点开始移动,在移动过程中丢包严重,并且路由路径很不稳定,直到到达目的位置以后,DSDV协议才开始与临近节点交换路由信息300s时才开始稳定的传输,而AODV是反应式路由协议相对与移动节点反应更快能更快的找到路径如下图5-25,图5-26:DSDV:图5-25 DSDV 300s时才开始稳定的传输AODV:图5-26 DSDV 266s时才开始稳定的传输3.trace文件分析延时图形5-26,5-27:DSDV:图5-26 DSDV延时AODV:图5-27 AODV延时分析:以上两图5-26,5-27,在130s时,0节点开始发包,DSDV因为之前已经交换了路由信息延时很小就开始发送数据包,而AODV在130s时才开始广播寻找路由路径所以延时明显增加。直到250s,数据传输都比较稳定,在250s是由于两节点的移动,使得路由路线频繁变换,两节点到达目的位置后又开始寻找路径。DSDV必须定时与临近节点交换路由信息,一个没有找到路由的分组到达节点后首先被缓存,同时节点发送路由查询消息,直到接收到来自接收端的路由响应消息,开销比较大直到300s后才找到路径,开始传输。而AODV源节点发送数据前先广播一个路由请求消息,附近节点收到后再次广播,直到请求消息到达目的节点或到达知道目的节点路由的中间节点,目的节点或中间节点沿原来路径返回响应消息,开销比较小,所以到了260s之后就已经找到了路径,开始传输。丢包图形5-28,5-29: DSDV:图5-28 DSDV丢包AODV:图5-29 AODV丢包分析:如图5-28,5-29在250s以后,两节点开始移动,移动情况下,丢包率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论