1、本科毕业设计(20届)无线传感器网络路由协议研究所在学院专业班级计算机科学与技术学生姓名学号指导教师职称完成日期年月摘要【摘要】随着微型传感器技术、无线通信技术、微机电系统和嵌入式技术的飞速发展,集数据采集、处理及通信功能于一体的无线传感器网络开始得到广泛的研究。而路由协议是网络传感器节点互相通信的基础,同时也是网络层的主要功能。所以对路由协议的研究是非常必要的。本文主要对无线传感器网络路由协议进行了研究,主要做的工作有以下几方面(1)阐述了无线传感器网络的相关概念,如无线传感器网络的特点、体系结构等。重点介绍了无线传感器路由协议,并详细介绍了AOMDV协议和LEACH协议。通过对AOMDV协
2、议与AODV协议进行仿真对比,分析了AOMDV协议的平均延时、分组投递率、吞吐量等性能,同时也对LEACH协议在节能方面进行了分析。(2)介绍了无线传感器网络的MAC层协议,详细分析了SMAC协议,并与80211协议比较,分析两种协议消耗能量、平均延时等性能,最后对SMAC协议作出总结。(3)本文最后对所有工作做了总结,并进一步展望了无线传感器网络的发展方向和未来。【关键词】无线传感器网络;路由协议;能量消耗;平均时延IIABSTRACT【ABSTRACT】WITHTHERAPIDDEVELOPMENTOFMICROELECTROMECHANICALSYSTEMS,WIRELESSCOMMUN
3、ICATIONTECHNOLOGY,MICROSENSORTECHNOLOGYANDEMBEDDEDTECHNOLOGY,WIRELESSSENSORNETWORKINCLUDINGDATAACQUISITION,PROCESSINGANDCOMMUNICATIONSFUNCTIONSBEGANTOBEEXTENSIVELYSTUDIEDGENERALLY,WIRELESSSENSORNETWORKSHASALARGENUMBEROFSENSORNODESINDENSECOMPOSITION,SOTHATTHECOMPOSITIONOFTHENODE,COMPUTINGPOWERANDBAND
4、WIDTHAREVERYLIMITED,TRADITIONALWIRELESSROUTINGPROTOCOLSARENOTSUITABLEFORWIRELESSSENSORNETWORKSWIRELESSSENSORNETWORKROUTINGPROTOCOLTHEPRIMARYGOALOFDESIGNEDISTOEFFECTIVELYSAVEENERGYANDPROLONGNETWORKLIFECYCLETHISPAPERFOCUSESONTHESTUDIESOFWIRELESSSENSORNETWORKROUTINGPROTOCOLSANDDOSOMEWORKFIRST,WEDESCRIB
5、EDTHECONCEPTSOFWIRELESSSENSORNETWORKS,SUCHASFEATURESANDARCHITECTUREOFWIRELESSSENSORNETWORKS,ETCWEFOCUSEDONWIRELESSSENSORNETWORKROUTINGPROTOCOLS,ANDDETAILEDTHEAOMDVPROTOCOLANDLEACHPROTOCOLBYAGREEMENTWITHTHEAODVPROTOCOLAOMDVSIMULATIONCOMPARISON,ANALYZEDTHEAVERAGEDELAY,PACKETDELIVERYRATIOANDTHROUGHPUTP
6、ERFORMANCEOFTHEAOMDV,BUTALSOANALYZEDLEACHPROTOCOLONENERGYSAVINGSECOND,WEINTRODUCEDAWIRELESSSENSORNETWORKMACLAYERPROTOCOL,GAVEADETAILEDANALYSISOFTHESMACPROTOCOL,COMPAREDWITHTHE80211PROTOCOLANDSMACPROTOCOLTOANALYZETHEENERGYCONSUMPTION,AVERAGEDELAYANDOTHERPROPERTIES,CONCLUDEDTHEFINALAGREEMENTONTHESMACF
7、INALLY,WEHADASUMMARYOFALLWORKDONEANDFURTHERPROSPECTEDOFTHEWIRELESSSENSORNETWORKDEVELOPMENTANDINTHEFUTURE【KEYWORDS】WIRELESSSENSORNETWORKS,ROUTINGPROTOCOL,ENERGYCONSUMPTION,AVERAGEDELAYIII目录摘要IASTUDYONROUTINGPROTOCOLSFORWIRELESSSENSORNETWORK错误未定义书签。ABSTRACTII目录III1绪论111引言112无线传感器概述1121无线传感器网络的概念1122无线
8、传感器网络的特点213无线传感器网络体系结构3131无线传感器网络体系结构3132传感器节点的组成314课题研究背景及意义415本论文的主要研究内容5151拟解决的主要问题5152论文主要内容52仿真工具介绍621NS2简介622NS2的功能模块723NS2网络仿真过程724NS2结果分析825NS2中的模块和各种协议的对应关系93无线传感器网络路由协议1031无线传感器网络路由协议概述1032路由设计中的性能指标1033路由协议设计的关键问题分析11331能量有效性11332数据传输可靠性11333AOMDV协议和AODV协议11334AODV协议12335AOMDV协议13336AOMDV
9、协议与AODV协议的仿真与比较13337AOMDV性能分析21338AOMDV协议总结2234网络分层路由LEACH协议22341LEACH协议安装及运行过程24342实验结果分析26343LEACH协议总结294无线传感器网络路由协议3141无线传感器网络MAC层协议概述3142SMAC协议31IV421SMAC协议概述31422SMAC协议原理31423SMAC协议与80211协议比较33424SMAC协议仿真35425SMAC协议总结375总结和展望3851全文总结3852展望未来38参考文献39致谢错误未定义书签。11绪论11引言WSN技术被认为是现代社会中能够对经济、社会、和信息技术
10、发挥重要作用的技术,该技术有巨大的发展潜力,其应用成果将会对社会产生很大的影响。WSN技术的应用领域也十分广泛,越来越多的不同行业的研究者也开始进入这一研究,同时这也极大的促进了无线传感器网络的快速发展。12无线传感器概述121无线传感器网络的概念无线传感器网络WSNWIRELESSSENSORNETWORKS是由多个节点组成的面向任务的无线自组织网络。它综合了现代网络及无线通信技术、嵌入式计算技术、传感器技术、分布式信息处理技术等,通过各类微型传感器对目标信息进行实时监测,由嵌入式计算模块对信息进行处理,并通过无线通信网络或其他形式的传输网络将信息传送至远端监控中心1。无线传感器网络由网关节
11、点(SINK节点)、传输网络、无线传感器节点和远程监控中心4个基本部分组成,其组成结构如图11所示1。图11无线传感器网络的基本部分组成无线传感器网络的微型传感器具有通信能力、感知和计算,它主要是由电源、感知单元、传输单元、和存储单元组成,对感知对象进行信息采集、存储和简单的计算后,通过传输网络的方式将信息传送给监控中心。一组微型传感器通过ADHOC方式组成无线传感器网络,网络中的传感器可以协作SINK节点传输网络监控中心监测现场区域监测节点2处理、感知和采集被监控区域的感知对象的数据及信息,并发布给用户。ADHOC网络通常也被称为自组织网络或无固定设施的网络,它能够灵活、快速和方便地自动组网
12、,无线传感器网络属于ADHOC网络。无线传感器节点在需要被监测的区域内分布,主要是监测物理参量、信息等。网关节点将监测到的传感器节点的数据传送到远端的监控中心。122无线传感器网络的特点无线传感器网络是一门融合多种新科技并具有鲜明跨学科特点的新技术。无线传感器网络特点如下(1)组网的方式是自组织。组网不用受限于固定的网络设施,通过分布式网络协议,传感器节点形成自组织网络,并可以自动调整来适应节点的移动、加入和退出,网络中多个激活节点可以自动、快速地组成一个独立的网络。(2)无中心结构。网络中所有节点构成一个对等式网络,各节点的地位是对等。节点可以随时离开或加入网络,网络中的部分节点发生故障并不
13、影响整个网络的运行。(3)网络有动态拓扑。无线传感器网络中的节点可能由于故障或电池耗尽从网络中退出,也可能是按照设定的程序从网络运行中退出;网络外的无线传感器节点可以随时加入到网络中;传感器节点具有移动属性。除节点移动以及节点的加入和退出导致网络拓扑变化外,节点能量耗尽或环境因素等因素也能导致节点故障或失效。为增强监测精度而新加入节点,均能导致网络拓扑结构动态变化。(4)采用多跳式路由进行路由传递。无线传感器网络中的节点通信距离较短,节点与相邻节点能直接通信。而要实现在网络覆盖范围之内的较远节点通信,则需要通过中间节点进行路由传递数据。无线传感器网络中的多跳路由是由普通网络节点完成的,每个节点
14、既能发送信息,又能转发信息,节点采用多跳式传递来完成各个传感器节点向SINK节点数据的发送。(5)高冗余性。由于大型无线传感器网络节点数量众多,所以要使无线传感器网络具有较高的网络链路、节点以及采集数据的冗余特性,以保证整个系统的工作容错能力和高可靠性。(6)硬件资源及功能有限性。无线传感器节点由于受体积、价格和携载能源等方面的限制,其计算、数据存储能力、存储空间都很有限,决定了在节点操作系统设计过程中,协议层次和内容不能过于复杂。(7)电源续航能力小。由于网络节点是由电池供电,而电池本身的续航能力较小。在许多应用场所中,无法对电池充电或更换电磁,当传感器节点电能用完,该节点就失去了作用。所以
15、进行无线传3感器网络设计时,要关注传感器节点的节能,并采取一定的技术方法来实现它。13无线传感器网络体系结构131无线传感器网络体系结构(1)支持动态协议栈的结构。这种体系结构是指允许应用程序根据实际需求和应用环境动态加载协议栈,目的就是解决节点资源有限的问题4。(2)层次性的结构。该结构注重于代码的可重用性,从而可以节约相关的资源。(3)自适应体系的结构。自适应体系结构应用信息交换服务的思想,将分立的协议组件有机地连接,可以通过跨层设计的思想优化资源配置及应用等,从而提高网络的生命周期。(4)可编程体系结构。可编程的体系结构注重网内数据的处理,通过数据共享与融合,简化部分机制算法、协议,提高
16、网络的性能。(5)自管理和自恢复的体系结构。这种系统结构将传统管理和服务功能融为一体,提高了网络的工作效率。(6)支持多任务的结构。在网络层和应用引入了状态层,根据网络环境及具体应用目的和应用需求对网络节点进行功能性的划分。(7)基于代理的体系结构。基于代理体系结构便于应用程序的设计,同时支持多功能和多任务并采用代理的方式提高网络的可扩展性。132传感器节点的组成无线传感器节点主要由传感器模块、处理器模块、无线通信模块和电源模块组成。各个组成模块的功能主要如下(1)传感器模块。其主要用于感知以及获取被监测对象的信息和有关的物理量,并将其转换为数字信号。(2)处理器模块。处理器模块有可以调节电源
17、工作的模式,可以更好的节能。处理器模块能够处理存储传感器采集的信息数据,并且对传感器节点各部分的工作进行协调。另外还要处理其他节点发来的相关数据。(3)无线通信模块。主要负责通过传输网络及无线信道将处理器输出的数据传送给监控中心。一般情况下,无线通信模块具有较短距离进行通信、低耗能的特点。4(4)电源模块。为其他模块提供工作电源。图12传感器网络节点的组成114课题研究背景及意义随着无线通信技术、嵌入式技术、微型传感器技术和微机电系统的飞速发展,集数据采集、处理及通信功能于一体的WSN开始得到广泛的研究。而网络层的路由协议是WSN研究的关键问题之一,它完成把数据分组从源节点传送到目的节点,这也
18、是网路层的主要功能。无线传感器节点是随机分布的,而且又是电池供电,绝大部分的能量主要集中消耗在无线通讯模块上,约占整个传感器节点能量消耗的80。因此,对WSN路由协议的研究是非常重要和迫切的,尤其是对能量消耗的研究,意义重大。AOMDV多路径路由协议是无线传感器网络路由协议中重要的协议之一。通过它可以获得多条通信路径并且能够减少路由发现延迟,实现负载均衡,能够显著节省节点能量和防止瓶颈的产生。LEACH协议是传感器中具有负载均衡的很有用的一种协议。LEACH协议以循环的方式随机选择蔟首节点,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低网络能源消耗、提高网络整体生存时间的目的。对
19、这两种协议进行研究和总结,对无线传感器路由协议的认识和提高有很大帮助。无线信道具有广播的特性,所以无线网络中任一节点发送的无线信号都可能被其通信范围的节点接收到。当有两个以上的节点在局部空间范围内同时发送信号时,在接收节点处就有可能发生信号叠加,导致冲突,以至于接收节点无法接收到正确的信息。对多个节点共享信道资源进行有效协调,避免冲突发生是WSN面临的关键问题之一,因为这直接影响着无线资源的网络吞吐、时延和使用效率等。所以,媒质接入控制(MAC)协议的研究也是无线传感器网络的重要课题之一。传感器模块无线通信模块处理器模块传感器A/D转换CPU存储器D/A转换收发器电源模块5在上述背景下,本课题
20、对无线传感器网络的SMAC协议进行模拟仿真研究,然后比较和分析,测试其性能,最后总结出协议的性能和特点。15本论文的主要研究内容151拟解决的主要问题本论文中主要是对无线传感器路由协议进行研究,包括路由层的AOMDV协议、LEACH协议以及MAC层的SMAC协议,主要是AOMDV与AODV的性能比较,LEACH协议分析,SMAC协议的分析与80211协议的比较。实验的环境是网络仿真软件NS2。通过NS2进行仿真模拟,并通过对仿真出的数据进行分析和比较,得出结论。152论文主要内容本文的内容主要有以下几个方面第一章对无线传感网络,特别是WSN路由协议概念进行了简单介绍,综合阐述了本论文研究的背景
21、,意义和讨论主要内容。第二章对实验所需工具NS2网络模拟软件及其用法进行介绍。第三章主要讨论无线传感器路由协议,分别模拟AOMDV协议与AODV协议两种仿真场景,在NS2环境中搭建网络,模拟其机制运作,根据仿真结果,分析AOMDV协议的性能。另外还仿真了LEACH协议,分析了其在运作过程中能耗的特点。第四章主要讨论MAC层的SMAC协议,SMAC协议在加入同步机制与不加入同步机制两种情况下与80211协议做比较,分析其平均时延、能量消耗等因素。第六章对全文做了总结,并对无线传感器网络的未来发展做了展望。62仿真工具介绍21NS2简介NS22是NETWORKSIMULATORVERSION2网络
22、模拟器的简写,NS2是一种网络仿真集成环境,这是一个很好的分析网络传输的仿真、研究网络拓扑结构的工具,而本质上它是一个离散事件模拟器。与其它的网络仿真工具相比,NS对应用数据流的仿真能力尤为突出模拟平台采用C语言编写,并使用OTCL语言编写命令和配置接口。NS2也为进行局域网的仿真而实现了多播以及一些MAC子层协议。NS2的开发语言是OTCL和C,提供了仿真网络各层次所必需的基本元素,但各层次元素之间的联系是很松散的,并不像实际网络中联系的这么紧密。如下图所示,从一个简单用户的角度看13,NS2是面向对象的TCL脚本器,即OTCL3,这个解释器由模拟事件调度、网络组装模块库和网络组件对象库等组
23、成。换句话说,使用NS2,就是用OTCL脚本语言编写程序、设置和运行模拟网络;用OTCL脚本语言初始化一个事件调度器,设置网络的拓扑结构;用网络对象和它的成员函数通过使用事件调度器通知网络源什么时候启动、什么时候结束。NS2可以完成的功能包括191构建网络拓扑。NODE和LINK构成了NS2中的网络拓扑,其中NODE大约可被看作是对实现网络底三层设备的一个模拟,LINK则可被视为是对物理传输链路的模拟。2实现RTP协议的AGENT。NS2中,AGENT是对某一个网络协议的模拟,NS2预先实现了UDPAGENTOTCI面向对象的TCL解释程序NS模拟库事件驱动对象网络组件对象网络设置帮助模块OT
24、CL脚本程序(模拟程序)模拟结果结果分析NAM图形显示图21从一个用户角度看NS27和TCPAGENT以及一些常用网络应用协议的AGENT。3加载应用数据流由APPLICATION/TRAFFIC来实现。RTPAGENT本身已实现了产生数据流的工作,无须加载APPLICATION。22NS2的功能模块许多功能模块被封装在NS2仿真器内,其中包括链路、节点、代理和数据包格式等基本功能模块,下面就来介绍一下这几个基本的功能模块。(1)事件调度器目前总共有四种不同数据结构的调度器在NS2内,分别是日历表、实时调度器、堆、和链表。(2)链路(LINK)链路的作用是连接网络节点,因此它是由多个组件组成。
25、链路管理分组的丢弃、到达和离开的形式是队列。(3)节点(NODE)节点是TCLOBJECT的对象构成的复合型组件,路由器和端节点可以用节点来表示。(4)代理(AGENT)代理主要用于网络层分组的接收和产生,同时在各个层次的协议实现时也可以用。每一个代理都被连接到一个网络节点上,然后该网络节点分配一个端口号给它。(5)包(PACKET)包由数据和头部两部分构成。大多数时候,包只有头部、没有数据部分。23NS2网络仿真过程NS2仿真需要C编译器和通用的操作系统如各种UNIX,,LINUX或WINDOWS系列。进行仿真前,首先要分析涉及仿真的哪一个层次。NS仿真分两个层次一个是基于OTCL编程的配置
26、、构造层次,利用NS已有的网络仿真元素实现仿真无需对NS本身进行任何修改,只要编写OTCL仿真脚本20,如图22中流程124;另一个层次是基于C和OTCL编程的编译、配置层次20,如果NS2中没有所需的仿真元素,NS2通过利用OTCL和NS2的接口类实现NS2的更新,提供了用户自我升级或修改协议的技术,新NS2生成流程如图22中135然后再进行246流程完成仿真。NS2的仿真工作过程如下图所示8图22NS2的仿真工作机制4NS2采用两级体系结构,为了提高代码的执行效率,NS2将数据操作与控制部分的实现相分离,事件调度器和大部分基本的网络组件对象后台使用C实现和编译,称为编译层,主要功能是实现对
27、数据包的处理;NS2的前端是一个OTCL解释器,称为解释层,主要功能是对模拟环境的配置和建立。另外从用户角度看,NS2是一个具有仿真事件驱动、网络构件对象库和网络配置模块库的OTCL脚本解释器21。NS2的目的是提供一个完整的网络仿真平台,对于网络的使用和研究人员,只需要熟悉其中相关自己想获取的方向的基本元素就可以了。在充分理解和熟悉OTCL的六个分类,即TEL,TCLOBEJCT,TCLCLASS,TCLCOMMAND,EMBEDEDTCL,INSTVAR和掌握具体课题的关于NS2元素的基础上,分析想要建立的新元素特征,利用NS2的面向对象特性来构造新的NS2。如果新方案和现有NS元素差别较
28、大,就需要对底层C程序进行重新编写,如果无需进行较大改动,只要修改NS2中相关的C代码即可。例如在某个存在的元素中修改某个算法或增加实现某个功能的函数22等。24NS2结果分析当完成一个模拟仿真时,NS2将产生一个或多个输出文件,详细的模拟仿真数据都包含在这些文件中,而我们将用这些数据并运用NS2中的模拟分析工具或图形显示化工具进行实验分析,从而得出实验结论。下面对几种常用的NS2中的文件或工具做简单介绍,其详细用法在后面的仿真实验中再具NS用户有无仿真元素协议细节实现编写OTCL脚本生成新NS运行NS2仿真无有13524XGRAPH静态观察分析仿真曲线NAM动态观察仿真过程69体说明。(1)
29、动画演示工具NAM3。NAM是基于TCL/TK的动画演示工具,可以用来观察网络模拟的跟踪行为和现实世界中数据包的跟踪数据,NAM的目的是制造一个动画演示工具,以方便能够读取大量的动画演示数据集,并能够灵活的扩展,以适应不同网络环境下的场景可视化要求。在产生跟踪文件后,就可以用NAM进行演示。演示开始时,NAM会自动读取跟踪文件,创建网络拓扑,显然后示窗口界面,进行必要的布局设置,然后停止在时间标记为0的地方。借助其中的用户接口,NAM实现了各方面的演示控制。(2)跟踪文件OUTTR。当利用TCL脚本文件执行NS2模拟后,就会产生一个跟踪文件,这个跟踪文件默认的文件名为OUTTR,这个文件主要记
30、录数据包在仿真过程中的传输情况,其每一行记录着包的传输过程,但是我们仅从表面上很难观察和分析包的传输情况,所以通常会综合其他一次而工具来提取所需要的数据。(3)分析工具AWK。AWK是一种模式匹配语言,有着很强的资料处理能力,能完成文本资料的修改、分析、比较、提取等工作,有着灵活的语言书写方式,擅长处理数据记录RECORD,字段FIELD型的数据。(4)绘图工具XGRAPH和GNUPLOT。XGRAPH的原理很简单,只要给它提供一个包含X轴和Y轴的信息的文件,它就可以根据这些信息画出曲线图来,但必须用户自己定义要显示的参数,并将这些数据写入文件中。GNUPLOT是一个命令行的交互式绘图工具。用
31、户通过输入命令,可以逐步设置或修改绘图环境,并以图形描述数据或函数,使我们可以借由图形做更进一步的分析。25NS2中的模块和各种协议的对应关系NS2和TCP/IP,OSI七层网络结构的对应关系2如表21所示表21NS2和TCP/IP,OSI七层网络结构的对应关系TCP网络结构网络结构OSI网络结构应用层应用层应用层表示层会话层传输层(TCP/UDP)代理(AGENT)传输层网络层(IP)网络层物理层节点和连接(NODEANDLINK)数据链路层物理层103无线传感器网络路由协议31无线传感器网络路由协议概述无线传感器网络中传感器节点相互通信的基础是无线传感器路由协议,同时路由协议也是网络层的主
32、要功能。无线传感器网络中节点本身的资源是十分有限的,如电池能量、传输带宽、数据存储等。由于其网络本身的特殊性,不可能直接使用传统的路由协议,即使无线自组织网络的路由协议也无法直接采用。因此,为无线传感器网络层设计有效的路由协议来提高通信质量、降低能量损耗、延长网络的生存时间成为了无线传感器网络路由协议的设计提出了挑战。一个特定的WSN,性能的优劣与工作的好坏与否,路由协议是非常关键的。而无线传感器网络中的大多节点是不能直接与网关进行通信的,这时就需要使用中间节点的多跳路由方式将数据传送到网关节点。在实际应用中,WSN可以采用的通信方法有单跳和多跳。在单跳通信方式下,无线传感器节点可以直接与外部
33、基站或其他无节点进行通信。在多跳通信方式下,无线传感器节点则不能直接与其他节点或基站直接进行通信,此时,两个无线传感器节点必须要借助其他节点进行多次跳跃式的传递才能互相通信。32路由设计中的性能指标无线传感器网络的路由协议与传统无线网络的路由协议是不同的,由于应用范围的差异,使无线传感器网络的路由算法的采用和设计也独具特点。为了更好的评价路由协议设计的优劣,我们使用性能衡量指标来对其进行描述。WSN中路由协议的设计目标是延长网络生命周期、形成可靠的数据转发机制、提高路由的容错性能。网络生命周期、数据传输延迟、可扩展性、路由容错能力通常是评价一个WSN路由设计性能的优劣的性能指标。(1)网络生命
34、周期。网络生命周期是指WSN从开始运行到第1个节点由于其能量耗尽而退出网络所经历的时间。(2)传输延迟。传输延迟是指信息传输过程中,由于传输的距离或者一些其他故障,等导致传输并没有准时达到目的的情况。(3)可扩展性。可扩展性是指整个网络在运行或活动过程中能够进行规模扩展,允许节点的加入和退出导致的网络规模的变动。1133路由协议设计的关键问题分析一个路由协议的影响因素往往是多方面的,其中包括能量有效性、可扩展性、数据传输可靠性、实现复杂度、稳健性等很多因素,在设计过程中需要进行综合考虑。本文中将主要在能量有效性、数据传输可靠性两个方面进行分析介绍。331能量有效性提高能量有效性是WSN从硬件设
35、计到软件开发都必须考虑的问题。从路由协议设计的角度有两种思路提高能量有效性节能,即通过寻找节能的路由、减少路由建立和维护的控制开销、提高路由可靠性等方法降低传输一定的数据所需要的能量23;能耗均衡,即通过合理的从空间上调度能量资源,使得网络中节点能量均衡消耗,从而延长网络寿命5。332数据传输可靠性数据传输可靠性直接关系到WSN是否能够给用户提供准确、全面和可靠的信息,而对于WSN,由于节点无线通信能力弱、应用环境复杂,实际的链路质量比较低。因此,如何保证数据传输可靠性是WSN路由协议设计中的一个关键问题。影响WSN数据传输可靠性的原因主要有三个方面节点故障使得路由不可用,导致分组丢失;无线信
36、道上的碰撞导致分组无法正确接收;链路不可靠导致分组传输出错或丢失5。目前,路由协议的解决策略主要有两个建立多路径路由和在路由建立过程中选择可靠链路5。1多路径路由多路径路由的主要思路是建立源节点到目的节点的多条路径,然后把其中最优的路径作为主路径,其他路径作为备份。有限使用主路径进行信息传输,当主路径失效后,则切换到备用路径。多路径的存在,能够在很大程度上避免由于节点失效造成的分组丢失,从而提高路由的稳健性。多路径机制除了提高数据传输可靠性之外,还有均衡流量、均衡能耗的作用。2选择可靠链路选择可靠链路将有效保证数据传输的可靠性。333AOMDV协议和AODV协议无线自组织网络是一种具有多跳特性
37、,无须任何基站支撑的移动网络。在无线自组织网络的研究12中,路由问题是一个非常重要的研究领域。因为每个节点兼具路由器的功能,所以需要适合无线自组织网络这种特殊环境的路由协议。目前提出的无线自组织网络路由协议,分为2类先验式路由协议和反应式路由协议。先验式路由协议和反应式路由协议各自有其特点。例如在节点移动的情况下,反应式路由协议性能优于先验式路由协议,具有较低的路由开销。在反应式路由协议中,AODVADHOCONDEMANDDISTANCEVECTOR协议是一个运用比较广泛的协议,它具有适度的路由开销和快速收敛性等特点,现在已经成为多径协议扩展的基础。而由于多径路由具有减少路由开销、降低网络延
38、迟、增强网络的可靠性等优点,近年来按需路由协议的多径扩展已成为研究的重点。在基于AODV扩展的多路径协议中,其中的AOMDVADHOCONDEMANDMULTIPATHDISTANCEVECTORROUTING6是一种比较成熟的多路径协议,AOMDV协议是通过链路不相交路径以及获取多条无环路径的方式来实现多路径的。本实验主要是通过对AOMDV协议与AODV协议的比较来分析AOMDV协议的平均时延、分组投递率、吞吐量等性能。同时在搭建的仿真环境中,对AOMDV协议在网络中存在的节点个数不同的情况进行仿真分析,最后总结出AOMDV的特点和性能。334AODV协议AODV(ADHOCONDEMAND
39、DISTANCEVECTOR)14是对DSDVDESTINATIONSEQUENCEDDISTANCEVECTOR改进,是反应式路由协议。它具有快速适应动态的连接条件、处理和存储开销较小、网络利用率较小等优点。它的特点是使用目标序列号和经典的距离矢量协议7。AODV协议由路由请求和路由维护两部分组成。在路由请求中,请求报文中包括了目标序列号,其他节点收到请求报文后,首先查看路由表中是否记录了到目标节点的路由,即等于请求报文中的序列号或大于目标序列号。若无,则该节点将记录请求报文的上游节点地址、源节点、目标序列号和目标节点并广播7;若有或者该节点就是目标节点,那么建立反向路由,回送路由应答报文给
40、源节点。应答报文中包含目标序列号和“更新”的路由,转发节点也将根据应答报文更新路由表,设置路由的有效时间信息、下游节点和目标序号,并根据之前记录的上游节点地址将应答报文一路反向转发给上游节点,这样直到应答包到达源节点S。应答包到达源节点后,从源节点到目标节点的路由便建立了。AODV协议的路由维护。在监视链路状态过程中,主要的方式是周期性地广播HELLO报文。节点在使用某个链路时,一旦发现该链路断开,那么将从路由表中删除包含该断开链路的路由,并立即发送“路由出错”报文,及时通知那些因链路断开而不可达的节点将包含断开链路的路由从路由表中删除7,沿途转发出错报文的节点也删除自己路由表中的包含断开链路
41、的路由。13335AOMDV协议AOMDV协议是按需多路径路由协议,它是在AODV协议基础上扩展而来的。该协议实现多路径的方式是获取多条链路不相交和无环的路径。虽然AOMDV协议继承了AODV协议大部分的优点,但AOMDV协议还是有很多比AODV协议进步的方面。其中AOMDV协议与AODV协议不同的部分主要有1无环路径建立和维护的更新机制;2多条链路不相交路径分布式协议的获取方法。两者的路由结构的比较如表31所示。表31AOMDV协议与AODV协议路由结构比较AODV协议AOMDV协议目的地址目的地址目的地址序列号序列号序列号跳数表项跳数表项通告跳数通告跳数下一跳节点下一跳节点路由列表路由列表
42、期望时间期望时间期望时间AOMDV协议路由为了确保路径无环,仍使用目的序列号来表明路由更新情况,并在内部数据结构增加通告跳数代替原来的跳数表项,以表明到达目的结点的最大跳数和链表及一个路由列表。当路由更新时,都会将当前的目的序列号与新的序列号比较。如果新的目的序列号比当前的目的序列号大,则重新设置通告跳数为无穷,并把相应的地址作为到达目的结点的下一跳地址。如果两个目的序列号相等,且新的通告跳数较小,则把该地址作为下一跳地址,用这种方法来保证不出现回路。同时为了保证链路不相交,在路由请求阶段有目的地判断该RREQ(路由请求)包的第1跳是否与主机结点第1跳相同,如果不同,则把该路由信息保存下来,否
43、则丢掉。336AOMDV协议与AODV协议的仿真与比较1性能评估指标不论网络状态如何,CBR都保持稳定的速率发送数据包,因此,分组投递率最能说明CBR业务的传输效率。端到端的平均时延也是网络数据传输服务优劣的评价指标之一。吞吐量也是衡量一个协议性能的重要指标之一。因此,本文从分组投递率、AVERAGEDELAY、吞吐量3个方面来比较AODV和AOMDV协议的性能。14(1)AVERAGEDELAYAVERAGEDELAY端到端的平均时延指将一个数据分组从源节点的IP层发送到目的节点的IP层所需要的平均时间10。包括数据包在接口队列中的等待时延、路由发现时延、传输时延及MAC层的重传时延。AVE
44、RAGEENDENDDELAY接收到数据包的时间发送数据包的时间发送数据包的个数(31)(2)PACKETDELIVERYFRACTION(分组投递率)PACKETDELIVERYFRACTION分组投递率是指应用层接收的分组数与信源发送的分组数之比,分组投递率反映了网络传输的可靠性。投递率越高,可靠性越大10。PACKETDELIVERYFRACTION目的节点接收到的数据包个数源节点发送的数据包个数(32)(3)THROUGHPUT(吞吐量)THROUGHPUTCBR封包的平均吞吐量。2仿真参数实验使用的操作系统为REDHATLINUX90,模拟仿真工具采用第二章介绍的NS2网络仿真器,利
45、用NS2已有的网络元素实现仿真。本实验主要是在802_11标准下,比较节点移动时两种协议的性能。实验环境是在一个无线网络中,NS2仿真的基本步骤(1)创建网络。(2)建立节点间的连接。(3)创建流量。(4)创建事件调度器,即规定节点何时采取什么动作包括发送数据包、移动等。(5)跟踪仿真过程,提取重要数据作为仿真结果输出到TRACE文件中保存,仿真结果是进行参数分析的基础。本文采用的仿真场景是在2000M600M的空间中随机配置20个移动节点,仿真时间为300S。设置5个移动节点,目的是模拟网络不稳定情况下,比较两种协议的性能。节点移动速度为8M/S。详细模拟参数如表32。表32AODV与AOM
46、DV仿真参数列表参数类型参数值仿真时间(S)300S仿真场景(M2)200060015节点数目20MAC协议80211节点移动速度(M/S)8移动节点个数4信道带宽(MB/S)1源节点数5目的节点数5本次模拟实验,选择CBR源产生UDP业务,每个CBR源每秒发送1个CBR数据包,每个数据包512B。本文选择5个业务源进行仿真,在仿真过程中并进行节点移动来模拟断网情况,进一步比较二者在断网时的性能。3TCL仿真脚本编写TCLTOOLCOMMANDLANGUAGE是一种脚本语言,仅支持字符串数据结构,它包括两方面内容一是脚本语言,二是与脚本语言对应的解释器。本实验的TCL程序设计主要部分如下,以A
47、OMDV为例(1)仿真参数定义SETOPTCHANCHANNEL/WIRELESSCHANNEL设定信道类型SETOPTPROPPROPAGATION/TWORAYGROUND设定信道衰落模型类型SETOPTNETIFPHY/WIRELESSPHY设定信道物理层模型SETOPTMACMAC/802_11E设定信道MAC层类型SETOPTIFQQUEUE/DTAIL/PRIQ设定接口队列类型SETOPTLLLL设定信道链路层类型SETOPTANTANTENNA/OMNIANTENNA设定信道天线模型SETOPTIFQLEN100设定接口队列长度SETOPTNN20设定移动节点数SETOPTRPA
48、OMDV设定路由协议类型SETOPTX2000设定移动范围SETOPTY600设定移动范围SETOPTSTOP3000设定仿真结束时间(2)仿真环境的初始化初始化主要包括以下几个方面16SETNSNEWSIMULATOR建立仿真对象实例NS,它是一个全局变量SETTOPONEWTOPOGRAPHY建立一个拓扑实例,并载入范围。本实验的拓扑TOPOLOAD_FLATGRIDOPTXOPTY边界CREATEGODOPTNN生成GOD对象SETTRACEFILEOPENOUTTRW创建跟踪对象NSTRACEALLTRACEFILESETCHANNEWOPTCHAN创建一个无线信道实例(3)移动节点参
49、数设置NSNODECONFIGADHOCROUTINGOPTRPLLTYPEOPTLL设置移动节点的链路层MACTYPEOPTMAC设置移动节点的MAC层IFQTYPEOPTIFQ设置移动节点的队列类型IFQLENOPTIFQLEN设置移动节点的队列长度ANTTYPEOPTANT设置移动节点的天线类型PROPTYPEOPTPROP设置移动节点的无线信号传输模型PHYTYPEOPTNETIF设置移动节点的物理层CHANNELCHAN设置移动节点的无线信道类型TOPOINSTANCETOPO设置移动节点的拓扑对象AGENTTRACEON设置开启应用层的TRACEROUTERTRACEON设置开启打开路由的TRACEMACTRACEOFF设置关闭MAC层的TRACEMOVEMENTTRACEON设置开启移动节点位置和移动信息的TRACE(4)节点定义系统参数定义之后,接下来要进行的是节点的定义。我们从前面的仿真环境知道需要定义20个节点。节点定义主要包括两个方面创建节点和确定节点初始位置。以节点N0为例,其定义如下SETNODE_0NSNODENODE_0SETX_1367NODE_0SETY_444NODE_0SETZ_00(5)节点间的数据传输接下来就是建立节点间的数据传输。根据前面的实验环境要求,建立5个数据传输,以UDP_(1)17为例,定