路由协议十篇

发布时间:2024-04-25 16:18:06

路由协议篇1

【关键词】oSpF;邻接关系通告;分组;区域;数据库

一、oSpF介绍

oSpF:openShortestpathFirst开放最短路径优先是基于RFC2328的开放标准协议,它非常复杂涉及到多种数据类型,网络类型,数据通告过程等,灵活的接口类型,可以随处设置通告网络地址,方便的修改链路开销等。

二、oSpF邻居关系的建立

1.在局域网中路由器a启动后处于down状态,此时没有其它路由器与它进行信息交换,它会从启用oSpF协议的接口向外发送Hello分组,发送分组使用组播地址:224.0.0.5。

2.所有运行oSpF的直连路由器将会收到Hello分组,并将路由器a加入到邻居列表中,此时的邻居处于init状态(初始化状态)。

3.所有收到Hello分组的路由器都会向路由器a发送一个单播应答分组,其中包含它们自身的信息,并包含自己的邻居表(其中包括路由器a)。

4.路由器a收到这些Hello分组后,将它们加入到自己的邻居表中,并发现自己在邻居的邻居表中,这时就建立了双向邻居关系(two-way)状态。

5.在广播型网络中要选举DR和BDR,选举后路由器处于预启动(exstart)状态。

6.在预启动状态下路由间要交换一个或多个的DBD分组(DDp),这时路由器处于交换状态。在DBD中包含邻居路由器的网络、链路信息摘要,路由器根据其中的序列号判断收到的链路状态的新旧程度。

7.当路由器收到DBD后,使用LSack分组来确认DBD包,并将收到的LSDB与自身的相比较,如果收到的较新,则路由器向对方发出一个LSR请求,进入加载状态,对方会用LSU进行回应,LSU中包含详细的路由信息。

8.当对方提供了自身的LSa后,相邻路由器处于同步状态和完成邻接状态,在lan中路由器只与DR和BDR建立完全邻接关系,而与DRothers只建立双向邻接关系,此时的相邻路由器进入了Full状态,完成了信息同步。

三、oSpF的分区机制

oSpF路由协议可以使用在大型网络规模中,如要规模太大,路由器需要维持很大的链路状态作息,构建大的链路状态数据库存(LSDB),路由表要较大,影响工作效率,并且当网络中拓扑出现问题时,会引起大的路由波动,所有路由器要重建路由表,所以分区的概念被提出来。

设计者可以将整个网络分为多个区域,每个区域内部的路由器只需要了解本区域内部的网络拓扑情况,而不用掌握所有路由器的链路情况,这样LSDB就减小了很多,并且当其它区域的网络拓扑变化时,相应的信息不会扩散到本区域外,如变化后影响到其它区域,这时aBR才会生成LSa发往其它区域,这样大部分的拓扑变化被隐藏在区域内部,其它区域的自身并不需要明白这些,内部路由器只需维持本区域的LSDB即可,这样就减少了协议数据包,减轻路由器及链路的负载。

四、oSpF的分组类型

1.HeLLo报文(Hellopacket)。最常用的一种报文,周期性的发送给本路由器的邻居。内容包括一些定时器的数值,DR,BDR,以及自己已知的邻居。

2.DBD报文(DatabaseDescriptionpacket)。两台路由器进行数据库同步时,用DD报文来描述自己的LSDB,内容包括LSDB中每一条LSa的摘要(摘要是指LSa的HeaD,通过该HeaD可以唯一标识一条LSa)。这样做是为了减少路由器之间传递信息的量,因为LSa的HeaD只占一条LSa的整个数据量的一小部分,根据HeaD,对端路由器就可以判断出是否已经有了这条LSa。

3.LSR报文(LinkStateRequestpacket)。两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSa是本地的LSDB所缺少的或是对端更新的LSa,这时需要发送LSR报文向对方请求所需的LSa。内容包括所需要的LSa的摘要。

4.LSU报文(LinkStateUpdatepacket)。用来向对端路由器发送所需要的LSa,内容是多条LSa(全部内容)的集合。

路由协议篇2

0引言

无线传感器网络(wirelesssensornetworks,wSns)已在军事、医疗、交通、环保、工业等多领域得到了广泛应用。但是,wSns中的感知节点携带能量有限,且无法补充,当感知节点因能量耗尽而无法正常工作时,将会影响到网络性能,使得用户无法获得完整的感知信息。因此,如何设计一个有效的路由协议,节约网络能量消耗、最大程度利用感知节点的能量,最大化网络功能,延长网络的生命周期成为wSns的研究重点[1]。路由协议是wSns的关键技术之一,它负责将传感器节点的感知信息通过网络传输到汇聚节点,主要包括2个方面的功能:寻找源节点与目的节点的优化路径,将数据分组沿着优化路径正确转发[2]。根据拓扑结构的不同可以将路由协议分为:平面路由协议和层次路由协议。平面路由协议具有结构简单、网络启动快、维护开销小、适合中小规模网络等特点,典型的代表有Flooding,Gossiping,DirectedDiffusion,Rumor等协议;层次型路由协议具有路由扩展性好、能耗低、网络延迟小、适合大规模网络等特点,典型代表有LeaCH,peGaSiS,teen等协议[3]。最小跳数路由(mHR)协议[4]是对DirectedDiffusion协议的改进,提出了最小跳数梯度场的概念。由于mHR协议简单、可以自动趋向于最短路径和时延最小等优点,倍受研究者关注,但是在研究的过程中发现该协议对能量的控制、路径选择等方面仍存在不足之处,需要进一步改进完善。

1最小跳数路由协议及其研究

1.1mHR协议描述

mHR协议工作过程分为2个阶段,即最小跳数梯度场的建立和基于最小跳数场的数据传输,具体描述如下:1)梯度场的建立阶段

a.初始化时,Sink节点的跳数设置为0,感知节点跳数设置为网络不可到达的跳数,如255。b.Sink节点采用Flooding方式向传感器网络发送数据查询分组,查询分组包中含有Sink节点iD、最小跳数值HC、任务类型等。c.Sink节点的邻居节点收到该信息后,将分组中的最小跳数值HC+1作为新HC值与自身储存的HC值比较,若新的HC值小于原来节点存储的HC值,用新的值代替原存储值,并将分组中的HC值替换成新HC值、原发送节点iD换成本节点iD,然后将修改后的查询分组同样以Flooding方式向其邻居节点广播;若新HC值大于原存储值,则丢弃查询分组,不作其他任何处理。d.其他节点收到查询分组后,重复第(3)步的处理。

2)数据传输阶段

在数据传输阶段,感知节点采集到数据后,数据以受控Flooding方式沿Sink节点方向进行转发数据,即按照已经建立的最小跳数梯度场以每跳HC值减1为约束,以此使源节点采集到的数据沿着最小跳数值递减的方向向Sink节点传送。

1.2协议研究

虽然mHR协议具有许多优点,但其网络中感知节点一般都会有多个父节点,这些父节点又会有自己的多个父节点,由于算法并未对转发报文进行记录,使得多个相同数据被多次重复传送,造成了一定的资源消耗与数据碰撞等。基于mHR协议,研究者作了相关研究与改进。文献[5]中针对网络中终端节点、中间节点采用不同的休眠与唤醒机制,以此来降低网络的能耗,延长网络的生命周期。文献[6]中通过引入元数据概念、延迟转发和阈值的设置等措施来降低网络中能量的消耗。针对最小跳数路由协议最小梯度场稳定周期短,导致数据接收不可靠的情况,文献[7]提出了一种基于链路可靠性的最小跳数路由协议,该协议在最小跳数梯度场建立阶段,控制其梯度场层次宽度,以此来提高通信链路的可靠性和延长最小梯度场的稳定周期。文献[8]中就最小跳数路由协议只考虑最大限度利用网络节点的通信覆盖能力,而不考虑网络节点的能量和负载的情况,提出了最优跳数路由协议。该协议的主要思想是构建一个基于跳数、能量、负载的三维决策函数,在数据传输阶段利用决策函数来确定转发节点,优化网络能量消耗、均衡网络负载。文献[9]通过对最小跳数wSns的行为特征分析,提出了一种控制数据包冗余度的解决策略。

上述针对mHR路由协议的改进,并没有从如何避免数据包的多路径冗余传输、查询分组的周期泛洪、关键节点能量消耗速率过快,以及如何提高组网速度与动态适用性等角度考虑问题,本文将基于上述问题,提出一种改进的wSns最小跳数路由协议。

2改进路由协议

2.1改进思路

针对上述角度提出相应的解决方案,具体思路为:1)利用侦听机制,在全网建立单一传输路径,以避免通过周期性泛洪查询分组信息来实现网络路由建立、更新,数据包的多路径冗余传输而造成的资源不必要消耗,并能提高组网速度和动态适用性;2)引入aCK报文确认机制,以避免从多路径到单路经数据包传输可靠性降低问题;3)提出一种Hello包插队机制,以控制网络中关键节点能量消耗过快问题。具体方案详述如下:

1)侦听机制:在传感器网络中,没有路由的节点主动广播RReQ(routingrequire)报文请求加入网络。收到RReQ的节点不仅回复RRep(routingreply)报文以提供路由信息,而且还将该RRep报文设置为广播型,使周围邻居节点也能侦听到该路由信息,以便快速建立路由、及时更新路由,从而提高网络的组网速度和灵活性,避免mHR协议中数据包的多路径传输。

2)aCK报文确认机制:在网络中节点发送一个数据包到父节点,等待父节点回复确认接收aCK报文。若在一段时间内收到aCK报文,则认为本次数据包传输成功,并在等待一段随机时间后发送缓冲区中下一个数据包。否则,该子节点等待一段随机时间重发该数据包,并统计重发次数,统计次数超过一定阈值n时,认为数据传输错误,丢弃该数据包。aCK报文确认机制可以保证在单路经下数据包的传输可靠性。

3)Hello包插队机制:本文规定感知节点的能量消耗速率v为(公式略)。设定v的一个阈值am(根据实验仿真部分关键节点的能量消耗曲线估算得到,am的值随着网络规模的不同取值也不同,m为网络中节点的数量)。Hello包插队机制的原理为:当某节点a检测到自身的v值大于所设定的阈值时,就生成一个Hello报文,该报文包含节点跳数HC、节点iD、剩余能量、生成时间等信息。生成Hello包后,将该报文插入缓冲区队列的头部,广播给邻近节点。每个收到该Hello报文的节点首先对比节点iD与自身父节点iD,若相同则取消该链路,将自身HC值为255后等待RRep,并在接收到的RRep中寻找最优的父节点建立新的路由,以降低节点a的能量消耗速率,均衡网路能量消耗;若节点iD与自身父节点iD不同,再判断本节点跳数HC是否等于或小于发Hello包节点的跳数,若满足条件就回广播型的RRep,否则,不做任何处理。

2.2改进协议描述

在上述思想基础上,提出一种改进的最小跳数路由协议,改进协议对最小跳数路由梯度场的建立与数据传输阶段进行改进,并增加路由维护阶段。具体协议的描述如下:

1)网络建立阶段

a.网络初始状态,设置Sink节点的跳数值为0,普通节点的跳数值设置为不可达到的值(设置为255),清空父节点列表。b.每个需要加入网络中的节点主动发送RReQ报文请求加入网络,周围节点收到RReQ报文后,检查自身的父节点列表,若不为空,说明该节点有路由,则该节点回复广播型RRep报文。c.邻居节点在收到该广播型的RRep报文后,将报文中的HC值加1后作为新的跳数值(HC+1)与自身储存的HC值进行比较,若新的跳数值小于自身储存的HC值,则将该节点作为自己的父节点,否则,丢弃该RRep报文,不做任何处理。d.其他节点重复执行步骤(2),(3),直到网络中的每个节点都记录了自身到Sink节点的最小HC值,完成网络的路由建立。侦听机制下的路由建立过程如图1所示。图1(a)表示网络的初始化,图1(b)表示节点a需要建立路由,发送RReQ报文,邻居节点在收到RReQ报文后根据自身的情况是否恢复RRep报文。图1(c)表示Sink节点回复的广播型RRep报文,节点a,B在接收到该RRep报文后,将报文中的HC值0加1后作为自身的跳数值,并建立路由。图1(d),(e),(f)则表示节点C,D,e建立路由的过程。通过图1可以发现,基于侦听机制的路由建立过程具有组网速度快且灵活等优点。

2)数据传输阶段

在数据的传送阶段,改进协议引入了数据报文缓存和aCK机制,普通节点在发送数据包时,沿着已建立的拓扑结构传向Sink节点,数据传输具有一定的方向性。在数据传输的过程中采用aCK确认机制来保证数据传输的可靠性。节点产生的数据包先添加到缓冲区,然后根据已建立的侦听机制路由传送给转发节点,等待一段时间,若等待时间内收到转发节点回复的aCK报文,则认为数据转发成功,并在缓冲区内丢弃该数据包;若等待一段时间后,没有收到转发节点的aCK报文,则节点在接下来的时间内随机重发该数据包,并统计重发次数,直至数据包被转发节点成功接收,此过程中设置最大重传次数n,超过n次,则认为数据包传输错误,丢弃数据包。

3)路由维护过程与新节点的加入

路由的维护过程分为2个部分,即节点的定时维护和检测维护。在网络中设定所有的感知节点工作过一段时间后,在一个随机时间范围内发起RReQ,进行定时的局部路由维护,选择能量最大的邻居节点作为父节点。与此同时,在数据包的传输过程中引入Hello包插队机制,不断地检测节点的消耗速率,用来更新节点的路由,均衡网络中节点能量消耗。Hello包插队机制流程图如图2所示。此外,当网络中有新的节点加入时,将新的节点跳数值设置为255,并主动广播RReQ,邻居节点在收到新节点发送的广播RReQ后,回复RRep,新节点选择能量最大节点作为父节点,加入网络。

3实验仿真结果与分析

3.1能量模型与仿真模型

3.1.1能量模型

在仿真实验中,采用了以下的能量消耗计算公式e=power×sim_step×Length.(2)其中,power为节点的发射功率或介绍功率;sim_step为仿真步长;Length为包的长度。

3.1.2仿真模型

为了验证改进协议i-mHR在wSns中运行的情况,在自主研发的无线传感器仿真平台上建立模拟场景,将节点均匀随机分布在5000m×5000m的正方形区域内,Sink节点分布在正方形区域的中心位置,分别设置网络中的传感器节点数目为100,125,150,175,200,225,图3所示的为i-mHR协议的节点布设和网络拓扑图。网络使用的信道模型为自由空间模型,信道带宽设置为0.2mHz,网络工作在433mHz频段下,数据产生的速率为20kbps,数据包产生的速率为0.01package/s,仿真的步长为0.0004s,节点的缓冲区大小为20packages,数据包,RReQ,RRep,Hello报文长度均为48bytes,aCK报文长度为8bytes,节点的初始能量为1×10-2J,Sink的能量设置为100J,ptx设为2.0mw,prx设为1.0mw。Hello包插队机制与aCK确认机制中的参数设置为:a100=0.12mJ/s,a125=0.12mJ/s,a150=0.13mJ/s,a175=0.13mJ/s,a200=0.14mJ/s,a225=0.14mJ/s;n=5。

3.2仿真结果与分析

从网络能耗的均衡性、有效性以及网络生命周期等方面,验证i-mHR协议的性能,并将其与mHR协议进行比较。

3.2.1能耗的均衡性

衡量网络协议的能耗均衡性可以从能耗方差[10]进行比较。图4是选取150个节点的网络规模下,节点能耗均衡性曲线,从图中可以看出:i-mHR能耗方差上优于mHR,这是由于i-mHR采用了单一路径传输,引入了能量控制策略,避免了mHR周期性的洪泛查询和数据的冗余传输,降低且均衡了网络能量消耗。

3.2.2能量有效性

能量有效性[11]是在规定的网络仿真时间内,Sink节点接收到的数据包总数与所有普通节点消耗总能量的比值。图5显示了i-mHR与mHR协议在不同网络规模中能量有效性的比较。从仿真数据可以计算出:不同网络规模下,i-mHR协议的能量有效性比mHR协议平均提高70.78%。从图5还可以看出:随着网络规模的扩大,2种协议的能量有效性都有所降低,这是因为随着网络规模的增加,每一个数据包到达Sink节点的跳数值随之增加,能耗增加,降低能量有效性。

3.2.3网络生命周期

网络生命周期[11]是网络仿真中第一个节点死亡的时间值,其长短是检查网络节点能量消耗的重要指标。图6显示了不同网络规模中2种协议的网络寿命图,图7显示了在网络规模为150个节点下的节点生存个数图。仿真数据表明:在不同的网络规模下,i-mHR协议比mHR协议网络生命周期平均提高了57.59%,特别是在150个节点时,提高了94.41%。此外,由图6可以看到,随着节点数的增加,i-mHR与mHR协议的第一个死亡节点时间呈下降趋势,这是因为随着网络规模的不断增加,网络中产生的数据包不断增加,导致关键节点在单位时间内传输的数据包增加,最终使能量消耗过快,节点出现过早实效。

路由协议篇3

关键词:adhoc多路径路由协议

中图分类号:tn929.5文献标识码:a文章编号:1007-9416(2012)06-0123-02

1、引言

无线adHoc网络又称移动自组网[1]、对等网或多跳网络,起源于20世纪70年代的美国军事研究领域[2]。它是一种在无需骨干网络支撑的条件下,由网络中既充当通信节点,又充当路由功能的各移动终端通过相应的分布式协议连接起来的无线网络系统。其基本特点是节点的随机移动,影响拓扑随时改变,同时受无线传输自身特点的影响,链路带宽比有线网络低很多。常因电源能量不足而导致网络中断,安全性较差。但因其是一种开放的,无须基础设施及自组织、自愈的网络,因而广泛应用于军事通讯、灾后营救、传感器网络[3]、深海探索及车载网络等不方便搭建网络基础设施的场合和领域[4]。

移动自组网由于其自身的特点与优势受到越来越多的关注与应用,但网络的特殊性使得传统有线网络的技术无法直接在移动自组网中使用,这就需要为无线自组网设计新的协议和技术,如信道接入技术、安全技术、路由技术等。其中关于移动自组网路由协议的研究及相关性能分析评价已成为学术界的研究热点。

2、adHoc路由研究现状及问题分析

由于adHoc网络相比其它网络具有很多独特性,具有很大的发展前景。但在移动自组网的研究中还有许多巫待解决的问题。如设计具有节能策略、安全保障、组播功能和QoS支持等扩展特性的路由协议,以及网络管理等。分析当前移动自组网,主要存在三个方面的原因影响其性能。第一、因各节点冲突和移动性特征而引起数据传输的不可靠。第二、因无线信道限制而带来带宽不足。第三、无线节点大多以电池供电而引起寿命有限,需要考虑节能问题。以上问题的解决当前主要依靠无线自组网中对QoS问题的研究来加以改善。然而,传统单路径路由协议存在很多不足,无法很好地支持QoS,因而多路径[5]是一个能够提供有保证的很好的解决方案。通过在网络中使用多路径方式可减少网络中的分组丢失率,为不同的服务质量要求提供不同的传输路径,实现更高的服务质量,从而克服以上3个问题。相比单路径路由协议而言,多路径路由协议在容错、路由可靠性、QoS等方面都有很多优势。因此,为了进一步提升adHoc网络的路由质量,多路径路由问题逐渐成为近几年研究的热点。而在移动自组网的多路径协议研究中,因节点的移动性问题,以往的工作主要集中在路由快速恢复方面,而在路由的负载均衡以及如何有效地选择多路径方面的研究却做得很少。

3、单路径与多路径路由协议比较分析

单路径路由协议算法简单,容易管理和配置。但是,这些路由协议在设计时没有考虑到路径的公平性,过多的依赖最短路径(即最小跳数的路径)[6],同时也没有考虑到负载强度,生存周期和能量等相关因素,使得在运行时该路径上的节点负载增加,降低了整个网络的吞吐量,容易造成网络拥塞及部分节点能量消耗较快,影响了网络的生存周期及增大了网络拓扑发生变化的可能性。同时,adHoc单路径路由算法在路由发现阶段由于只获取一条传输路径,无法很好地获取整个网络的拓扑信息,导致对网络整体信息的利用不充分,进而增加路由开销。而且,在数据发送时只利用一条路径,无法并行或并发地传输数据,导致网络传输率较低,延迟增加,无法在网络中实现负载均衡,甚至造成网络拥塞等情况。

针对当前adHoc网络单路径路由协议的众多缺点人们进行了多路径路由协议的设计。多路径路由是指通过一定的约束规则,在移动自组网中找出从源节点到目的节点的多条路径,在这多条路径之间合理地分配负载[7-8]并同时传输数据。因而多路径路由协议可以较好的利用网络的整体拓扑信息,减少网络中路由发现次数,从而减少路由开销和降低能量消耗,并可以利用多条路径来并行、并发地传输数据。研究表明,使用多路径路由方式确实可以大大减少网络延迟,提高数据通信量,避免网络拥塞,提高网络的可靠性。但是,当前的多路径路由协议还存在很多不足之处需要继续改进。例如,多路径路由协议只是把选出来的路径作为备份路径,在数据传输时,只采用主路径来发送数据报文,这大大限制了多路径协议的性能。同时,多路径协议在网络负载均衡方面的性能还不够突出,还没有真正发挥多路径协议的优势。所以,想要真正发挥多路径路由协议在移动自组网中的优势,就必须要利用协议来搜索并选择出合适的路径,并在利用最优路径的同时让负载均衡机制发挥得更好。

4、典型多路径路由协议简介及分析

现有的多路径路由协议大多是在原有单路径路由协议的基础上通过添加多路径的方法实现的。根据移动自组网发展需求,现在已有多种多路径路由协议。根据其路径选择方式分类,主要有三种,即主动协议、被动协议和混和协议[4]。

主动多路径协议工作在类似于有线网络的环境,通过不停地扫描网络评估现有路径及发现新路径来在每个节点维护一个或多个路由表。优点是当一个报文需要转发时可直接通过查找路由表进行转发,传输延时小。缺点是维护路由表需要消耗大量节点能量及路由表过时等。主动多路径协议的代表有oLSR、oSpF、tBRpF[9]。

路由协议篇4

【关键词】计算机网络路由通信协议

随着应用需求的增加,现代计算机网络变得日趋复杂,网络接入的通信设备数量迅猛增加,这就使得单ip多目通信成为现代计算机网络的主要特点之一。为实现该通信,必须对通信数据进行路由,确保数据能够被准确传输到目的地址中。

一、计算机网络路由通信协议目标及其存在问题概述

应用路由的目的在于利用诸如UDp等协议实现多目通信。这种多目通信路由协议需要具有以下特性。(1)首先是有效性。(2)其次是伸缩性。(3)再次是增量可配置。

二、动态路由选择协议及其分类

动态路由选择协议可以促使路由器对当前网络内的各终端和路由设备生成一个明确的了解,然后按照协议要求将网络通信数据经由最佳传输路径转发到接收端。目前常用的动态路由选择协议存在两种类型:一类为基于距离矢量的动态路由选择协议,另一类为基于链路状态路由的动态路由选择协议。

2.1距离矢量路由选择协议

该通信协议会使得距离矢量路由器按照网络结构特性等形成一个路由选择表,并间隔一定时间向相邻路由器发送该选择表,当相邻路由器接收到该选择表后将自身路由信息添加到该路由选择表中对其进行完善和丰富,当所有路由器均被添加入该选择表后,路由通信协议完成路由的聚合过程。当数据需要经由路由进行转发时,可以依照该路由选择表实现。显而易见的,该通信协议存在一个明显的应用缺陷,即路由网络聚合过程中会出现路由回路。为解决该问题,多种改进算法被提出来改善或修正该问题,如水平分割、抑制时间、跳数定义等。

2.2链路状态路由选择协议

相对上一种方法而言,该类协议使用分布式路由算法将网络中每一路由的协议都被用于进行数据路由控制和转发,因而使得数据路由实现的复杂度大大增加。具体实现中,链路状态路由器会将路由器所在网段、路由链路状态等聚合成自身路由信息,该信息不会在整个网络中进行广播,而是当出现信息更改时会通知与其相邻的其他路由,相邻路由接收到状态通知后对自身信息表进行修改,实现状态同步。该路由选择协议同样存在较为明显的缺点:实现数据的最优路由较为困难,且路由器不能编程。

三、改进的路由选择协议

为综合上述两类路由的优点,同时尽量消除其中存在的缺陷或不足,可以设计一种主动层次多目路由协议。该协议中定义路由器只用于进行信息转发,而与路由路径相关的内容由容错网关计算完成。在提升多目路由的快速收敛特性,可以将路由的拓扑结构设计为层次式结构。

具体来说,改进的路由选择协议使用aRD协议来实现主动路由协议,利用Snmp协议来控制形成路由网络的拓扑结构和链路状态,利用容错网关进行内部域报文通信和通信信息路由计算,利用管理网关进行外部域通信信息路由计算和ip地址管理。

四、内网和外网网关通信协议

当某一计算机网络的网络类型较大时通常会将其分为多个小的、相对独立的自治网络每一个独立的自制系统内的路由相关协议是统一的。当路由通信协议将木雕定位于控制路由传播和确定最佳路由选择时,该协议属于外部网关通信协议。虽然该类协议同样存在自治系统,但是其自治系统的规模和复杂度通常会大于内网自治系统。这类路由通信协议被应用在域间信息通信中,处于自治系统的边缘,只要少量的信息交换即可提供数据路由服务。目前成熟的、应用广泛的外部网关路由协议有BGp和eGp等。

五、总结

总之,在需要使用多层通信结构的计算机网络中必须使用路由通信协议来对数据进行路由、对终端设备进行网络部署。好的动态路由算法不仅可以增强数据传输的有效性、降低数据路由所带来的资源损耗,还能够增强路由网络内的通信带宽,确保各设备处于最佳运行状态。

参考文献

[1]罗炎炎,柳清芬,祁耀斌.浅论网络通信中应用的动态路由选择协议[J].沿海企业与科技,2005(5)

[2]何丹,陈道蓄,谢立.主动层次多目通信路由模型[J].软件学报,2000,11(6)

路由协议篇5

论文摘要 无线网状网络是由adHoc网络发展而来的一种多点对多点的无线网络,目前无线网状网络的路由协议都从很大程度上参考adHocl~络的路由协议,其中经典型路由协议更是直接将adHoc路由协议应用于无线网状网络环境。对经典型无线网状网路由协议进行介绍,并对其中具有代表性的协议进行重点分析。

一、无线网状网的路由协议

传统的路由协议是专为有线网络设计的,并不适用于无线网状网环境。因为传统的路由协议不能够很好处理无线网状网环境中常见的拓扑结构和链接质的快速变化。无线网状网络都有一些显著的特性,例如:高动态性,智能性,端对端最佳路径选择,多跳性,通常带宽有限和计算能力不足。无线网状网络的高动态性的原因有两个:第一,路由器本身可能移动,并造成网络拓扑结构的快速变动。第二,即使路由器本身不移动,由于干扰、地理和环境等因素,无线电链路的质量仍可能发生快速变化。

从以上这些特性可以知道,完备的无线网状网路由协议必须需要具备以下特点:①分布式操作;②快速收敛(适应更快的移动);③可扩展性:④适用于大量的小型设备;⑤只占用有限的带宽和计算能力主动式操作(减少初始延迟):⑥在选择路由时考虑无线电链路的质量和容量;⑦避免环路:⑧安全性。

由于无线网状网是由adHoc网络发展而来的无线网络。adHoc网络和无线网状网络之间具有一定的相似性,因此现有的主流无线网状网路由协议也是从adHoc网络的路由协议发展而来的,主要包括三种类型的路由协--议:一种为先验式路由协议:一种为反应式路由协议;另外一种就是二者的混合,称为混合式路由协议。

二、先验式路由协议

(一)简介

先验式路由协议是一种基于表格的路由协议。在这种协议中,每个节点维护一张或多张表格,这些表格包含到达网络中其它所有节点的路由信息。当检测到网络拓扑结构发生变化时,节点在网络中发送路由更新信息。收到更新信息的节点更新自己的表格,以维护一致的、及时的、准确的路由信息。不同的先验式路由协议的区别在于拓扑更新信息在网络中传输的方式和需要存储的表的类型。先验式路由协议不断的检测网络拓扑和链路质量的变化,根据变化更新路由表,所以路由表可以准确地反映网络的拓扑结构。源节点一旦需要发送报文,可以立即得到到达目的节点的路由。

(二)典型先验式路由协议DSDV协议

DSDV的基本原理是:每一个节点维持一个到其它节点的路由表,表的内容为路由的“下一跳”节点。DSDV创新之处是为每一条路由设置一个序列号,序列号大的路由为优选路由,序列号相同时,跳数少的路由为优选路由。正常情况下,节点广播的序列号是单调递增的偶数,当节点B发现到节点D的路由(路由序列号为s)中断后,节点B就广播一个路由信息,告知该路由的序列号变为s+l,并把跳数设置为无穷大,这样,任何一个通过B发送信息的节点a的路由表中就包括一个无穷大的距离,这一过程直到a收到一个到达D的有效路由(路由序列号为s+1-1)为止。

在此方案中,网络内所有的移动终端都建立一个路由表,包括所有的目的节点到达各个目标节点的跳跃次数(或标识距离矢量的路径矩阵)。每个路由记录都有一个由目标节点设定的序列号。序列号使移动终端可以区分当前有效路由路径和已过时的路由路径。路由表周期性地做全网更新以维护全网的通信有效性。通常,为了减少由于路由表更新而产生的大量路由信息传递,减少网络路由开销,可以采用两种路由更新方式。第一种是全清除方式,即通过多个网络协议数据单元将路由更新信息在全网中传输。如果网络内终端出现移动,则产生的新路由分组信息不定期的传达至网络内所有终端。第二种是部分更新方式,或称为增量更新方式,即在最后一次全清除传输后,只传递那些涉及变化了的路由信息进行传输,这些信息通常被放置在一个标准的npDU里,从而减少路由信息的传递量。在增量更新方式中移动终端可以增加另外一个附加的表来存储路由更新信息。

新路由信息的广播信息包含目标节点的地址,到每个目标节点的跳数、接收信息的序列号,以及独有的广播序列号。新路由信息适用最新的序列号。如果两次更新具有相同的序列号,则具有较小的距离矢量阵的路由具有优先权。因为它代表路径最短(或跳数最少)。在通常情况下,从源节点到目的节点可能存在多条路径,在最佳路由路径的确定过程中,移动终端跟踪不同路由路径的时间,最佳路由路径就是时间最短的路径。在找到最佳路径之前,该时间呈收敛性涨落。一旦路径确定,这些信息就存放到每一个终端的路由表中,直到节点收到新的路由信息。

三、反应式硌由协议

反应式路由选择协议是一种当需要一条从源节点到目的节点的路径进行数据发送时才查找路由的路由选择方式。节点并不保存整个网络的及时准确的路由信息。当源节点要向目的节点发送报文时,源节点在网络中发起路由查找过程,找到相应的路由后,才开始发送报文。为了提高效率,节点可以将找到的路由保存在缓存中供后续发送使用。反应式路由协议按需路由的特点可以较好地适应节点移动较为频繁的无线网络环境,节点发生移动后,只需要更新需要发送数据的相关路径的路由信息即可。

四、混合式路由协议

混合式路由是将前面两种路由方式结合起来,在局部范围内使用先验式路由协议,维护准确的路由信息,并可以缩小路由控制消息传播的范围。当目标节点较远时,则使用反应式路由协议查找发现路由。ZRp协议就是混合式路由协议的代表。ZRp协议是一种专为多变的通信环境(如可重构无线网络,Rwn)设计的平铺式路由协议。在每个节点定义一个区域,此区域包含一些节点,这些节点的距离(也就是跳数)在一个限定的范围之内。这个距离被成为区域半径rzone。每一个节点只需要知道它的路由区域内的拓扑结构,而且其路由信息随着区域内的拓扑更新而更新。这样,尽管网络很大,但更新仅仅在局部区域进行。由于距离大于1,这样区域就有大量重叠。

若s要与D通信,则s发送query消息,并一级一级广播下去,直到到达D,D响应这个请求,表明路山为:S-H-B-D。

B知道路由路径的机制成为路由累积。累积过程如下:query消息每经过一个节点,则在query消息中加上该节点的信息。为了限定信息大小并能反应出路由发现过程,在query消息中加入跳数限制,并且每经过一个节点,跳数减l,若跳数域为0,则丢弃该消息。区域内部采用先验式路由协议。

可以看出ZRp仅需要一些相对小数量的query信息,这些信息只是发给周边节点的信息。由于区域半径相对于整个网络来说总是比较小,得知区域内部拓扑的开销只是整个网络很少的一部分。而且,每一个节点储蓄的信息也大为减小。另外,ZRp协议比全网的反应式路由发现机制要快得

路由协议篇6

【关键词】车联网路由协议aoDVDSDVDSR

[abstract]threetypicalroutingprotocolsofaoDV,DSDVandDSRinVanetsweresimulatedandanalyzed.Byadjustingthenumberofnodes,threeindicatorsofaverageend-to-enddelay,normalizedroutingoverheadanddeliveryratioofpacketswerecomparedfortheseroutingprotocols.networkenvironmentssuitableforthesethreeprotocolswereanalyzed.theirscalabilitieswereaddressed.SimulationresultsshowthatDSDVprotocolhasworsescalability,whileaoDVandDSRprotocolshavebetterscalabilities.

[Keywords]VanetSroutingprotocolaoDVDSDVDSR

1引言

Vanets(Vehicularadhocnetworks,车载自组织网络)作为移动自组网中的一种主流技术,具有无需基础电信设施、动态拓扑、有限带宽的特性,同时也具有能量不受限、移动速度快、移动轨迹可预测的特点[1]。驾驶者依靠车联网,可以实现相互间点对点式的通信,能随时掌握其他车辆部分信息和路况信息,并预先采取适当的措施,减少和避免交通事故的发生[2]。

2Vanets中的协议类型

当前,Vanets中的消息传播机制可分为三类[3]:基于拓扑(topologybased)、基于地理位置(positionbased)、基于广播(Broadcastbased)。

文章主要研究基于拓扑的消息传播机制,对其中的典型路由协议的可扩展性进行研究,即通过网络中的节点数增加时协议性能指标的变化情况来了解不同网络协议的可扩展性。

基于拓扑的消息传播机制主要是利用链路信息来选择从源节点至目的节点的消息传播路径,依据它们的驱动方式,可划分为先应式(proactive)[4]和反应式(Reactive)[5]两类,二者也分别称为表驱动路由和按需路由。

表驱动路由的工作机理为:网络中每个节点都事先建立其到网络内其他各节点的路由表,并且实时对路由表进行维护。当有数据传送请求时,只需查询事先建立的路由表来确定发送路由,从而降低数据传递时延,如DSDV(DestinationSequencedDistanceVector,目的序列距离矢量路由协议)[6]。

按需式路由协议无需预先建立路由表,只有当节点需要数据传输时,才启动路由发现工作,而且节点只需建立到其他部分节点的路由表,如aoDV(ad-hocondemandDistanceVector,按需距离向量路由协议)[7]、DSR(DynamicSourceRouting,动态源路由)[8]。

可扩展性是指网络在一定的条件下可以扩展到的规模。可扩展性受很多因素的影响,网络中节点的移动速度与网络负载的改变都会在很大程度上影响网络的可扩展性。因此需要一种较为公平的仿真方案,使得可扩展性尽量与网络的规模相关,而尽量与节点移动速度和网络负载无关。

3仿真环境及参数

移动模型采用Randomwaypoint(随机路点移动模型),针对三种常用的adHoc网络路由协议DSDV、DSR和aoDV,在预先设定网络基础场景之上,把节点数从50扩展到100、150、200,假设50个结点分布在一个d×d的区域内,则结点数为n的网络范围为,其中n为节点数。设d=1000m,则平均每个节点所占有的面积为2×104m2,保持该比例不变,在四种不同的网络规模下相应的面积可用表1来表示。然后设定仿真环境(以50个节点为例),50个网络节点,暂停时间(pausetimes)为0s、10s、20s、40s、100s,节点最大运行速度(maximumspeed)为20m/s,网络拓扑的范围为1000×l000m,移动模型为随机点模型,通信源模型为连续比特速率,分组发送速率为2packet/s,无线网传输速率为1mbps以及仿真时间为100s。

4仿真结果及分析

4.1分组平均递交率

分组平均递交率示意图如图1所示,该性能参数能反映网络所能支持的最大吞吐量,它可以直观地反映路由协议适应网络变化的能力以及路由协议的正确性和完整性。

如图1所示,三种路由协议在平均递交率方面随着网络节点数量的增加,都呈现出加速下降的趋势,这是由于表驱动型路由协议DSDV需要周期性地广播路由信息,占用了部分链路带宽,同时随着节点数量的增加,开销也快速增加,所以当节点数为50时,其平均递交率指标就出现明显下降。并且由于DSDV协议是先验式的路由协议,节点在高速的移动,链路很容易失效,一旦链路失效,无法快速地恢复链路建立,这就会导致分组的丢失。而两种反应式路由协议在50个节点时,仍能较好地运行,分组平均递交率接收率仍大于99%,这是由于按需路由只有在需要查找路由的时候才发送路由信息,避免了多余的路由信息。因此在相同场景中按需路由协议的分组传送率优于表驱动路由协议,而当网络中节点数达到100时,DSDV的递交率下降到了74%,两种按需路由虽有下降,但递交率仍然保持在94%~98%。当进一步增加网络中的节点数量,使之达到200个时,aoDV的分组接收率指标比其它两种协议要优异,这是由于aoDV协议采用广播方式进行路由回复,而DSR协议采用单播的路由回复方式,从而使aoDV协议中的maC层耗费低于DSR协议,所以aoDV协议较DSR协议有更高的报文接收率。

4.2路由开销

在网络负载方面,由于网络规模是递增的,所以不宜用路由负载来衡量,故用传送每个数据报文所需要的控制报文数量来衡量路由开销。这个性能参数是用来衡量协议效率以及可扩张性在低带宽情况以及拥塞时的性能和能耗效率。

每个节点传送的数据报文由节点本身作为源节点产生的数据报文和转发别的节点的数据报文两部分组成。如图2所示,DSDV的路由开销比aoDV、DSR要小。这是由于DSDV是表驱动,网络中的所有节点都要实时的维护一张路由表,并周期性地更新它,以保持路由的及时性和有效性,所以有较小的路由开销。两种按需路由协议在网络中节点数量小于100时性能相近,而当网络节点数量达到200时,aoDV的路由开销大于DSR,这是由于DSR的控制报文是记录源路由,而aoDV记录的是逐跳路由,当链路失效时,aoDV产生的ReRR(Routeerror,路由错误)要远远多于DSR造成的。

4.3端到端平均时延

在时延方面,三种路由协议的性能和分组递交率类似,如图3所示,当网络中节点数量小于100时,端到端平均时延小于0.1s,在正常范围之内。而当网络中的节点数量增大到200后,三种协议的相应时延均有很大程度的增加,已经到达了秒级,尤其是DSDV,其时延增大到6s级别。虽然aoDV相比较时延最小,但也达到了1s级别,这是因为maC层的负载会随着网络规模的扩展而增加,当maC层的负载增加到一定程度时就会影响数据包的正常发送。DSR协议由于采用单播包使得其平均端到端时延大于aoDV协议。从仿真数据来看,在网络规模较大时,DSDV不适宜实时性要求高的业务。

5结束语

对Vanets网络性能的影响是多方面的,路由协议只是诸多因素中的一种。本文对几种路由协议的性能做了分析比较:(1)aoDV协议的可扩展性优于DSR及DSDV协议,因此在拓扑变化频繁的Vanets网络环境中,应采用aoDV路由协议。(2)分析仿真结果后发现,现有的aoDV协议同样也不适合大规模网络,在节点数达到200时,其性能表现较差。(3)aoDV适于城市中的Vanets,当在高速公路上时,网络中各节点的高速运动所产生的动态拓扑会延缓aoDV的收敛速度,产生大量不可靠的路由,继而导致大量开销。(4)基于aoDV的改进有很多,如文献[9]提出的pGB(首选广播组,preferredGroupBroadcasting),它通过降低转发数量来提高路由的稳定性,降低因路由发现所产生的开销。文献[10]将DSR协议的路径收集机制引入aoDV协议,可在一次路由发现过程中建立更多的路由,从而提高网络的性能指标。文献[11]中通过修改aoDV中的一些报头,使其能支持延时约束,并对延时进行预测,有效提高了网络性能。当然,还有很多试图提高协议性能的相关研究,相信随着研究的不断深入,适于车联网应用的协议会不断出现。

参考文献:

[1]LeeKC,LeeU,Geralm.Geo-pportunistieroutingforve-hicularnetworks[J].ieeeCommunicationsmagazine,2010,48(6):164-171.

[2]李元振,廖建新,李彤红,等.城市场景车载adHoc网络竞争转发关键参数分析[J].电子学报,2011(5):1154-1158.

[3]吕代刚,王静蕾,李英豪.Vanets路由协议综述[J].电子技术应用,2015(4):16-19.

[4]孙宝林,李腊元.多跳无线移动adHoc网络路由协议的研究分析[J].小型微型计算机系统,2004(10):1737-1741.

[5]刘焕敏,朱培栋,汪思敏.adHoc网络按需路由协议实现技术研究[J].计算机工程与应用,2004,40(33):158-160.

[6]peRKinSC,BHaGwatp.Highlydynamicdestinationse-quenceddistancevectorrouting(dsdv)formobilecomputers[a].CompCommunRev[C].2010:234-244.

[7]Cperkins.RFC3561adhocon-DemandDistanceVector(aoDV)Routing[S].2003.

[8]DavidBJohnson,Davidamaltz,Yih-ChunHu.theDynamicSourceRoutingprotocolformobileadHocnetworks[Z].intenet-Draft,draft-ietfmanet-dsr-10,2004.

[9]任伟,董育宁,赵海涛.一种改进的基于地理位置的无线mesh网络路由协议[J].南京邮电大学学报:自然科学版,2012(1):75-83.

路由协议篇7

关键字:路由算法;协议仿真;manet;nS?3

中图分类号:tn711?34文献标识码:a文章编号:1004?373X(2013)08?0055?04

0引言

随着网络技术和通信技术的蓬勃发展,如何在硬件条件不具备的情况下研究大规模网络,如何快速设计、实现、分析新的协议和算法,如何比较新老系统和算法而不必花费巨资建立实际系统等问题日益成为网络研究者关注的焦点。近年来,盛行的方式是通过计算机软件对网络协议、网络拓扑、网络性能进行模拟分析。采用这种网络仿真的研究方法,降低了成本,研究方法灵活可靠,提高了研究效率。现在主流的网络仿真工具[1]主要有:opnet,Qualnet,nS?2。opnet是商业软件,软件所提供的模型库比较有限,而且主要集中于路由仿真。Qualnet也是一款商业软件,弱化了网络分层的概念。nS?2的内容比较庞杂,各模块间的协同及耦合不便于系统扩展。为此,在广泛汲取现有网络模拟器的成功经验基础上,美国华盛顿大学thmosR.Henderson教授及其小组研发了一款极具特色的新型网络仿真器――nS?3。相比其他网络仿真工具,nS?3是一款开源软件,在多网卡处理和ip寻址策略方面表现出更好特性,同时,nS?3的架构也相对更明了清晰,代码不需做很大修改就可直接移植到真实网络节点上,此外,研究者可根据自身需求进行任意拓展[2?3]。

1manet路由协议分析

移动无线自组织网络(manet)是一种无中心、自组织的分布式多跳网络,manet以其固有特点在某些特殊场景(如:救灾、战争等)中得到了广泛运用。路由协议的好坏直接影响到整个网络性能的优劣。这里简要介绍manet中应用比较广泛的3种平面路由协议[4]。DSDV(Destination?SequencedDistanceVector)是一种表驱动路由协议,它是在传统的距离矢量DV算法基础上改进设计的,同时也被称为消除环路的Bellman?Ford路由算法[5]。DSDV算法中每个节点都维护一张到达全网可达目的节点的路由表。相比DV算法,DSDV最大的区别是路由中增加了目的系列号(Sequencenumber)字段,通过序列号来区别新旧路由信息。节点将收到新路由信息和当前路由信息比较,选择序列号较大的路由记录来更新路由表。若两者序列号相同,则选择跳数较小者。此外,全网节点要求周期性广播路由包来进行路由维护。aoDV(adHocon?DemandDistanceVector)是一种源驱动的路由协议[5],是DSR[6]协议结合了DSDV中的按需路由机制设计出来的。节点在发送数据包时,首先查找自己路由表是否有到达目的节点的路由信息,若有,则直接按照路由信息发送;若没有,则执行路由发现过程。节点广播路由请求包RReQ给自己邻居,邻居收到RReQ包后查询自己路由表是否有到达目的节点路由信息,若有或本身就是目的节点,则将路由信息添加到路由应答包RRep,并将其反馈给源节点;若没有,再将RReQ转发给自己所有的邻居。依次类推,直到到达目的节点或中间节点存在到达目的节点的路由。aoDV协议通过定期广播Hello分组来进行路由维护,一旦发现了某条通信链路断开,节点就会在DeLete_peRioD时间之后从路由表中删除包含该断开链路的路由,并发送eRRoR(路由错误)报文来通知那些因为链路断开而不可达的节点删除相应的路由记录或者对已经存储的路由信息进行修复更新。

oLSR(optimizedLinkStateRouting)是一种优化的链路状态路由协议,类似其他表驱动路由协议,节点需要周期互网络路由信息[7]。被邻居节点选作中继节点(multipointtelay,mpR)的节点周期性向网络广播控制信息分组,分组中包括将它选作mpR的那些节点的信息,以告诉网络中其他节点与这些节点之间相连。而且,只有mpR节点才能够作为路由节点,其他非mpR节点不参与路由计算,也不需转播控制信息。oLSR协议中主要通过HeLLo和tC(topologicalControl)两种控制消息来感知广播拓扑。通过HeLLo消息实现链路侦测、邻居侦听,以此建立节点的本地链路信息表,同时用于向邻居节点通告本节点的多点中继mpR节点的选择;tC消息负责执行mpRSelector链路状态声明,使得每个节点都能够感知全网拓扑结构。最终,节点根据本地链路信息库和拓扑集合中的信息,采用Dijkstra算法根据路径最短的原则计算路由表。

2nS?3仿真平台搭建

2.1nS?3仿真架构

nS?3是一款离散型模拟器,nS?3的网络架构主要由模拟器内核和网络构件2部分组成,如图1所示。其中模拟器内核包括时间调度器和网络模拟支持系统,是nS?3最核心的部分。相比nS?2,nS?3仿真时间不仅支持DefaultScheduler,而且还支持RealtimeScheduler。nS?3的网络模拟支持系统包括:attribute系统、Logging系统和tracing系统。由于广泛汲取了其他网络仿真工具的经验和技术,nS?3的内核在可量测性、可扩展性、模块化、支持仿真与现实融合等方面具有极大优势[8]。nS?3的网络构件包括:节点(node)、应用(application)、协议栈(protocolStack)、网络设备(netDevice)、信道(Channel)、拓扑生成器(Helper)等。网络构件是对真实网络的各个部分的抽象,具有低耦合高内聚特点,nS?3通过低层次的抽象,使得仿真效果尽可能反映真实网络的性能。

2.2nS?3仿真流程

以下简单介绍nS?3代码编写的特点及如何在nS?3中搭建一个完整仿真场景的过程。nS?3运行在Linux环境下,对Linux系统版本有要求且依赖较多系统组件,安装过程较复杂。nS?3仿真器代码核心部分全部使用C++语言编写,外部配置、编译、执行使用了基于python的waf系统,方便使用者配置仿真场景。nS?3完全模拟了tCp/ip的协议栈,并且把每一层的功能模块化,在nS?3安装完成后,默认只是生成各个功能模块,自带的仿真例子没有生成,需要把这些例子复制到scrach文件夹下才能运行,并且nS?3中编写好的代码也都需要放到该文件夹下才能运行。在nS?3中搭建仿真场景遵循固定的流程,在编写C++代码时一般可以分为以下几个步骤:

(1)设置仿真场景的全局参数。比如采用Seed?manager::SetSeed(7)设置随机数种子,以保证产生相同的随机序列,设置随机平面移动模型(Randomwalk2dmobilitymodel)的参数Config::SetDefault("nS?3::Randomwalk?2dmobilitymodel::mode",StringValue("tim?e"))等,以上的全局设定使得仿真场景可以重现。

(2)定义仿真中使用的参数,比如数据包的大小,需要创建的节点个数,物理层使用的传输速率等,这些参数可以使用CommandLine类来实现并解析,方便在仿真过程中使用外部脚本动态改变这些参数。

(3)创建网络节点,然后按照tCp/ip协议,从下而上给网络节点安装协议栈。nS?3在实现中考虑到为了方便使用者,协议栈的每一层都实现了帮助类(XXXHelper),使用者可以方便地使用这些帮助类设定每一层参数。比如使用YanswifiphyHelper设定物理层协议,使用YanswifiChannelHelper来设置传输信道类型,使用nqoswifimacHelper来设置数据链路层协议等。最后通过帮助类给节点安装路由协议,分配ip地址,至此便搭建了tCp/ip的物理层、数据链路层和网络层,实现网络的通信功能。

(4)通信网络搭建好后,需要编写实验程序,即在节点之间的收发数据包的代码,以达到测试底层协议的目的。nS?3中为了减少使用者的编程工作量,同样提供了丰富易用的函数,一般都是先创建使用UDp协议套(Socket),同时把接收节点号、发送节点号作为参数传入,再给套接字指定ip地址,端口号,最后让发送节点连接到接收节点、为接收节点指定回调函数。

(5)完成节点之间如何发送数据包的代码后,需要编写接收节点的回调函数,即在接收节点收到数据包后调用的函数。可以在回调函数中对数据包的时延,投递率进行统计。

(6)使用Simulator::Schedule函数设定调度事件即设定源节点的发送数据的开始时间,发送间隔,发送数据包总数等。至此,整个场景部署完成。

3路由协议的仿真及性能比较

在Ubuntu10.04环境下使用nS?3.16对aoDV、DSDV和oLSR这三种路由协议进行仿真,并在相同的仿真场景下比较其性能指标。分别在静态场景和动态场景下,考察网络规模、网络拓扑变化对协议性能的影响。

3.1静态场景

仿真场景设置:模拟器的随机数种子设定为常数7,节点按网格分布,网格边长500m,节点的规模从2×2,3×3逐渐增大到18×18;设定节点的通信半径为656m,选取网格中对角线的一个节点向另一个节点发送UDp数据包,共发送500个数据包,包的大小为1000B,发送时间间隔为1s。这里节点的物理层传输延迟模型采用ConstantSpeedpropagationDelaymodel,衰落模型选用FriispropagationLossmodel,数据传输速率设置为1mb/s。增加网络节点数,考察3种协议的端到端平均时延和包投递率情况,如图2和图3所示。

由图2可以看出,3种路由协议的平均时延随节点规模的增大而增大,其中aoDV和oLSR协议受到的影响较小,而DSDV的平均时延随着节点规模的增大而急剧增大。图3中aoDV,oLSR的数据包投递率随节点数增大而不变,能保证百分百交付;而DSDV协议的投递率在节点数增大到一定的规模后开始下降。以上特性说明在节点规模增大时,aoDV和oLSR协议的性能要优于DSDV。

3.2动态场景

仿真场景设置:在静态场景的基础上,为节点添加Randomwalk2dmobilitymodel运动模型,该模型为每个节点随机选择一个方向,以设定的速度移动一段时间后再随机选择另一个方向继续移动,直接到仿真结束。设定相同的随机数种子以保证每次仿真中节点的运行轨迹一致。设定网格的边长为300m,节点的规模固定为7×7,即节点运动的区域限制在2100m×2100m的矩形内。仍考察对角线的一个节点向另一个节点发送UDp数据包,每次仿真发送3000个数据包。增加节点移动速度,考察三种协议的端到端平均时延和包投递率情况,如图4和图5所示。

从图4和图5可以看出,3种路由协议的平均时延与节点的移动速度相关性不大,在速度较小时,3种路由协议的平均时延较稳定,但在速度较大时,由于节点在矩形区域内做无规则的快速运动,数据包从源节点传输到目标节点的跳数不确定,所以平均时延变化具有一定随机性。

而由图5可以看出,随着节点移动速度的增大,数据包的投递率逐渐下降,aoDV协议因其属于按需路由而不需要频繁地维护路由信息,所以在速度较大时较其他2种协议表现更好。

4结语

论文通过nS?3搭建了manet路由仿真平台,从端到端平均时延和投递率角度分析比较了manet三种路由协议。静态场景中,节点数增加时,3种协议端到端平均时延均随之增加,但aoDV和oLSR增加不明显,并且两者的投递率也几乎不受网络规模影响,相比之下,DSDV端到端时延和投递率受网络规模影响较明显。动态场景中,节点移动速度增加,3种协议的投递率都降低,而且总体上平均时延较小者,表现出更好的投递率。

参考文献

[1]雷擎,王行刚.计算机网络模拟方法与工具[J].通信学报,2001,22(9):84?90.

[2]HenDeRSontR,LaCaGem,RiLeYGF.networksimulationswiththenS?3simulator[C]//proceedingsoftheaCmSiGComm.Seattle,washington:[s.n.],2008:1111?1121.

[3]nS?3developers.nS?3tutorial[eB/oL].[2012?11?13.http:///docs/release/3.15/manual/ns?3manual.

[4]王立平,崔智林,马力.基于opnet仿真平台的manet路由协议性能分析[J].现代电子技术,2011,34(14):71?74.

[5]peRKinSCe,BHaGwatp.Highlydynamicdestination?sequenceddistancevectorrouting(DSDV)formobilecomputer[C]//proc.ofaCmSiGComm’94.[S.l.]:aCm,1994,8:250?256.

[6]JoHnSomD,maLtZDa,BRoCHJ.thedynamicsourceroutingprotocolformobileaDhocnetworks(internet?draft)[m].[S.l.]:mbolead?hocnetwork(manet)workingGroup,ietF,1998.

[7]CLaUSent,JaCQUetp,aDJiHC,etal.optimizedlinkstateroutingprotocol[J].2003.

路由协议篇8

关键词:adHoc网络;多播路由;协议;网络拓扑结构

中图分类号:tp393文献标识码:a文章编号:1009-3044(2008)31-0841-05

multicastRoutingprotocolsinadHocnetworks

HUJia-qing

(anhuiarchitecturalDesign&Researchinstitute,Hefei230001,China)

abstract:adHocwirelessnetworkisamulti-hop,temporaryandnon-centralnetworkwithoutinfrastructuretosupportwhichconsistsofagroupofwirelessmobilenodes.multicastisagroup-orientedcommunicationtransmissionmode,anditusesasinglesourceaddresstosenddatatoagroupofhosts.Howtorealizeeffectivemulticastroutingalgorithmsisanurgentproblemwhichneedstobesolvedinthisresearchfield.inthispaper,currentseveraltypicalmulticastroutingprotocolsaredescribedandstudied,theirownworkingwaysareanalyzedandtheircharacteristicsarecompared.

Keywords:adHocnetworks;multicastrouting;protocol;networktopology

1引言

在典型的adHoc网络中,主机按组工作以共同完成一个特定任务,例如军事上对人员及装备的指挥与控制、在线游戏、交通管理等。因此,多播在adHoc网络中扮演着重要角色。

多播是一种一点对多点的分组传输方式。当有多台主机同时成为一个分组的接收者时,出于对带宽和CpU负担的考虑,多播成了一种最佳选择。在一个拥有多个主机的网络中,为了能让多个主机接收到相同的数据包,假如要采用单播传送的方式,那么源主机就必须不断地产生多个相同的数据包,然后发送给其他主机。但对于一些对于时延很敏感的数据,在源主机发送多个相同的数据包后再产生第二个数据包,显然是不可取的。而且,对于一台主机而言,不停的产生一个相同的数据包也是很大的负担。在这种情况下,如果采用多播发送,源主机只需发送一个数据包就可以到达每个需要数据的组成员主机上,提高了网络资源的利用率,同时降低了通信成本。

研究多播问题的关键是如何确定多播路径。当前,人们一般采用多播生成树来描述多播数据包在网络里经过的路径,多播路由算法主要就是建立一棵性能好的多播树。多播树的根为源主机,其节点为所有的多播组员,其优点在于信息以并行方式沿着树枝发送到不同多播成员,减低了信息传递的延迟,并且信息的复制只是在树杈上进行,网络中需要传送的复制信息最少,从而节省了网络带宽资源,减少了拥塞。一般而言,网络中的多播路由算法应提高自身的计算效率,降低多播服务本身的系统开销,还要为新的网络服务和网络资源的优化配置

提供有效的支持,这样才能使网络的运行效率得到进一步的提高。

2adHoc网络多播路由协议

多播路由协议是实现多播的基础,而固定网络中的多播路由协议,如距离适量多播路由协议DVmRp、开放的最短路径多播moSpe、基于核心的树CBt、协议独立的多播pim等,使不适合在adHoc网络中运行的,原因是由于adHoc网络的特殊性,包括以下几个方面:

1)网络拓扑的动态变化:导致频繁的组成员发现与维护过程、路由更新过程,大大增加了协议的附加开销。

2)无固定的基础设施:需要所有的节点参与路由信息的存储、更新。包括新成员的加入、成员的退出、成员的移动、多播路由参与节点的移动。

针对adHoc网络的特殊性,在设计移动adHoc网络的多播路由算法时,我们需要重点考虑以下几个问题:

1)算法应该有对网络拓扑变化的敏感性和良好的自适应能力。算法须通过协议消息的交互获得网络的拓扑信息,从而维护路由状态的有效性;对网络拓扑变化的处理机制需要考虑算法消息的效率,如在广播流量较轻时,由广播数据驱动建立和维护广播路由状态,可以有效地降低网络维护的开销。

2)数据转发的效率和可靠性,避免路由环路,降低重传率,避免路由状态失效导致大量的分组丢失。

3)建立和维护路由状态的效率,既要在动态的网络中保持路由状态的健壮性和保持转发结构的连通性,又要降低路由开销,这是一对矛盾。

迄今为止,adHoc网络的研究者已提出了一些多播路由协议,根据参与多播传送的节点的拓扑结构,可分为基于树的多播路由、基于格网的多播路由、混合的多播路由。另外,还提出可一些其它思想的多播路由,包括无状态的多播路由、似然的多播路由、基于位置的多播路由等等。

在adHoc网络中,多播路由协议主要工作在媒体访问层、路由层、应用层三个层次,其参考模型如图1所示:

1)maC层:maC层主要负责数据传输和分组接收,它提供删除节点、观察链路的特性和执行数据的传输和接收三种功能。与它所对应的三个服务模块式邻居表处理模块、传输模块和接收模块。邻居表处理模块主要是维护节点的邻居信息,可以通过信标或信道的数据分组来获取。传输模块主要是对信道传输方案进行仲裁,依赖于maC层的传输协议,maC协议通过信道的传输状态来维护多播状态信息。

2)路由层:大多数的多播路由协议都是在路由层工作的,如建立路由表,构成和维护单播或多播路由、路由生命周期和路由缓冲区等信息,维护多播成员的加入、删除和多播数据分组的传输和接收等。路由层主要是由单播路由信息处理模块、多播信息处理模块、多播转发模块、树/格网结构模块、路径缓冲区维护模块和多播表示维护模块等六大模块构成。

3)应用层:主要对多播应用需求提供服务,由数据分组传输/接收控制模块和多播表示者/终端模块组成。

3基于树的多播路由

在有线网络中,基于树的多播路由协议是性能非常好的协议,计算机网络中实现多对多通信的主要方式就是多播树算法,多播树是连接多有多播成员的最小代价生成树,研究人员结合adHoc网络自身的特性把基于树的多播路由协议引入到网络中,设计出了许多经典的路由协议。

基于树的多播路由主要有两种:独立树的多播路由和共享树的多播路由。独立树的多播路由是指为各个多播发送者分别建立多播路由,使用独立树寻径,相关节点必须为每个不同的多播发送者维护一个多播表项,其可扩展性不好且开销很大,典型的代表协议有aBam、aDmR等。共享树多播路由是指所有多播发送节点建立一个共享的路由树,使用共享树寻径,可扩展性好,存储开销也小,但是分组的传送路径大于发送节点到接收节点间的最短路径。典型的协议有maoDV、amRiS、Lam等。

基于树的多播路由有以下优点:

1)有效性高。在多播路由树中,两个节点之间提供一条路径,多播发送者能以最少的拷贝把分组分发到各个组接收者。对于包括n个节点的网络,只需要n-1条链路来传送相同的分组到所有的节点。对于单信道的无线网络,利用无线传输的广播特性,以各成员节点只需发送一次。

2)节点的路由决策简单。只需将分组转发到能到达的树接口上。

基于树的多播路由协议的路径是非优化的,所有的共享树需要一个核心节点来维护组的信息和创建多播树,增加了核心节点的通信量。另外,基于树的多播路由协议的鲁棒性也不好,路由树的任何一段链路有故障或因移动不可用将导致路由树的重构,从而会带来大量的控制开销。

其中amRiS协议和maoDV协议是典型的基于树的adHoc网络多播路由协议:

a)amRiS协议(adHocmulticastRoutingprotocolUtilizingincreasingiD-numbersprotocol)是新加坡国立大学C.w.wU等人提出的,98年11月成为ietF草案。它是按需路由协议,基于共享树的协议。网络中的每个节点分配一个多播成员iD号msm-id,并且指定一个称为会话节点(SiD)的特定节点,且该节点的iD最小。msm-id表明每个节点在共享树中的逻辑权重,以指导多播数据的流向。amRiS以SiD为根,基于表示号来创建多播传送树。

主要设计思想如下:

3.1多播树的初始化

SiD节点的选择:对于只有一个发送者的一次多播会话,SiD分配给这个发送者;对于有多个发送者、多个接收者的一次多播会话,需要先选举一个发送者,并把SiDF分配给它。

各节点iD的计算:SiD节点(会话节点)根据多播会话需要,广播一个new-SeSSion分组,通过该分组,建立一个从会话节点向外辐射状mSm-iD递增的分级逻辑结构。具体过程如下:new-SeSSion分组包含SiD的mSm-iD,邻居节点收到该分组后,就计算它们自己的mSm-iD,取值要大于分组中指定的那个mSm-iD。然后,节点将分组中的mSm-iD用它们自己的mSm-iD替换后继续转发new-SeSSion分组。

3.2多播成员的加入

节点a可以通过发送Join-ReQ来加入一个多播会话,并因此而形成一个新的或加入一个已经存在的共享树。

具体过程如下:

1)节点a在具有比自己小的mSm-iD的潜在父亲节点列表中选择一个节点,比如节点B,并向B发送一个单目标Join-ReQ分组。B在接收到Join-ReQ后,如果B已经加入可该多播会话,就送回一个JoinaCK分组;否则,B发送Join-ReQ给B潜在的父亲。该过程重复,直到寻找到一个成员父亲节点,并由它沿Join-ReQ的反向路径向a发送Join-aCK消息;

2)如果上述过程失败,a将进行一个本地广播来寻找成员父亲节点;

3)如果a不能发现任何父亲节点,它就执行“支路重构”过程,其作用就是在共享分发树发生变化的时候局部动态修复分发树。

3.3多播树的维护

多播树的维护过程保证多播传送过程节点的连续性,当两个节点间的连路不可用时,有iD号较大的节点执行支路重构BR,使节点能够重新加入。BR包括BR1和BR2两个过程。在节点具有潜在的邻居父亲节点时,执行BR1过程;在节点没有潜在的父亲节点时,执行BR2过程。

BR1工作过程与节点的加入过程是一样的。

BR2的工作过程不同于加入过程,节电a广播一个Join-ReQ消息,该消息指向一个范围字段R,使广播是一个受限的广播。接到Join-ReQ消息的节点如果是父亲节点,则沿反方向路径Join-aCK消息到该节点,a可能收到多个Join-aCK,它选择一个,Join-ConF消息到选择的父亲节点B,B接收到Join-ConF时,就建立一个到a的树分支。

B)maoDV协议(multicastadHocon-DemandDistanceVectorRoutingprotocol)是美国加州大学e.m.Royer等人于1999年提出的,2000年成为ietF草案,它是在单播路由协议aoDV基础上设计的按需多播路由协议,可以同时支持单播、广播、多播三种通信方式。其主要过程如下:

1)巡径表

主要是维护两个巡径表和一个多播请求表。

2)分组格式

RReQ分组格式是,其中,J_flag为加入标志;R_flag为路由修复标志;

RRep的分组格式是,其中R_flag和U_flag两个标志用于多播维护。

maCt的分组格式是,其中,

3)多播成员的加入

(1)RReQ分组的产生及处理

节点发送RReQ分组加入多播组,RReQ的信宿地址设置为多播地址,新宿序列号设为其所了解的该组多播的最大序列号,J_flag设为‘1’。RReQ的发送方式为两种,如果通过查询“多播请求表”可获得首领节点,并有到首领成员的有效路由,则单播RReQ到首领节点;否则,广播RReQ分组。

(2)RRep的产生和处理

多播成员发RRep响应RReQ,RRep沿反方向路径单播到加入节点。RRep分组包括多播序列号、首领地址、多播跳数。反向路径上的节点添加一个多播路由表项,用于建立向前路径。

(3)当加入节点广播RReQ时,它可能收到多个RRep。每个RRep都建立一个多播路由,加入节点选择一个具有最大序列号和最小跳数的路由,并向该路由的下一跳单播maCt分组,接收到maCt分组的下一跳,把(1)创建的多播路由表项的“路由使能”=有效。

如果下一跳时多播树的成员,则不传播maCt;否则,选择下一跳,单播maCt,其下一跳的多播路由表项的“路由使能”=有效;重复这个过程,直至到达一个多播树的成员节点。

4)多播路由的维护

首领成员通过周期性的广播“Grouphello”消息,来维护多播组的序列号,每广播一个“Grouphello”消息,其序列号加1。多播组成员自己决定退出某多播组。在一定时间内未收到邻居的任何分组,则链路不可用,多播树不可用链路的修复。当链路不可用时,由链路的下游节点负责修复。

下面介绍一些其它基于树的多播路由协议:

LGt协议是一个基于分组封装技术的小规模多播路由协议。其思想类似于DDm。LGt以单播路由协议为基础,在其上构建一个多播路由树。多播数据被封在单播分组中,分组中包括有信宿地址表。节点基于分组中的信宿列表,使用LGK(位置指示K排列树,location-guidedk-array)和(位置指示Steiner树,location-guidedSteiner)算法进行分组转发树。这两种算大不需要网络拓扑信息,利用了信宿节点的地理位置信息,并假设地理位置越远,到达信宿的跳数越大,启发式地进行树的构造。

aBam协议(associativity-BasedadHocmulticastprotocol):该协议采用源节点为根的转发树结构,其特点是在网络中维护每条链路的一个关联属性(ass-ociativity).其属性包括:链路的稳定度、链路发送的成功率、无线信号的接收强度、电源的寿命预期等等。源节点以广播方式发送寻路信息,在传递过程中收集所经路径的关联属性。接收节点从接收到的多个消息中根据关联属性选择一条路径,接入到转发树。aBam对转发树的连通性维护采取两步策略,首先尝试局部维护机制,如失败则启动全局的维护机制。链路通断检测采用与maoDV类似的机制,需要节点周期性地发送Hello消息。

aDmR协议(adaptiveDemand-DrivenmulticastRouting):该协议采用源节点为根的转发树,由源节点的数据驱动转发结构的建立和维护。路由算法描述如下:源节点启动的建树机制是数据驱动的,有数据发送到新的组时,节点在数据头部附带控制消息,在全网范围广播。节点处理消息的过程中,建立反向最短路径树,接收成员节点接收到源节点的控制消息后,选择最短路径连接到转发树。接收节点加入到新的组时,发送一个广播消息,该组源节点接收后,将选择一条路径建立到接收节点的转发树枝。

4基于格网的多播路由

基于格网的多播路由中,参与多播的节点的拓扑结构为格状网。基于树的多播路由源于固定格网的树多播路由协议的改造和扩展,并不太适合拓扑变化频繁的adHoc网络。基于格网的多播路由,由于多播发送者与接受者之间存在多条路径,这些冗余的路径提高了网络的动态适应能力,健壮性好,不需要因为少量链路的失效而重新配置多播网结构,路由维护开销少。

基于格网的多播路由协议主要有按需多播路由协议oDmRp(ondemandmulticastroutingprotocol)、核心辅助的格网协议Camp(coreassistedmeshprotocol)、向前转发多播路由协议(forwardinggroupmulticastprotocol)等。

以下是几种典型的基于格网的移动adHoc网络多播路由协议:

a)oDmRp协议是由美国加州大学洛杉矶分校wam实验室的Sung-JuLee等人提出的,它是使用“转发组”概念的格网多播路由协议,并使用“软状态”来维护多播成员关系,不需要显示的控制消息来退出多播组。在oDmRp中,组成员和路由的建立和更新由发送者按需进行。具体如下:

1)构造格网(形成组)

当源节点有多播数据要发送,但没有路径或成员消息时,就在全网广播一个Join-Query分组。当一个多播成员节点收到一个非重复的Join-Query分组,就保存上游节点的iD,并在Join-Query分组中记录该节点,以建立反方向路径;然后再广播新的Join-Query分组。如果这个节点同时是多播接收者,它就构造一个Join-Reply分组并广播给邻居节点。

Join-Reply分组包括了多播接收者到各个源节点的反向路径的下一跳节点的iD。当邻居节点收到Join-Reply分组时,如果它的iD和Join-Reply中的某个下一跳节点的iD匹配,该节点意识到自己是多播路由的一个节点,且是转发组的成员,然后它就设置FG-flag标志,把自己加入到多播格网中,构造并广播自己的Join-Reply。

这样Join-Reply就被每一个转发组成员转播,直到它通过最短路径到达源节点。这个过程构造或更新了从源节点到接收点的路径,并且建立了转发群组。多播发送者通过周期性发送Join-Query分组,来刷新组成员关系信息并更新路由信息。

2)多播数据转发

来自源节点的多播数据通过转发组到达各个接收者,即当传送多播数据时,如果当前节点是转发节点,并且收到的分组是不重复的,节电将转发这些数据。由于所有的转发节点都中继数据,当主路径由于节点移动而失效时,冗余路径有助于数据的递交。

3)移动性预测

oDmRp依靠周期性地洪泛Join-Reply分组来刷新路由和维护组成员的关系。因此,oDmRp的发送间隔必须随移动类型和速度自适应调整,以使泛洪带来的通信开销尽量小。

4)软状态

在oDmRp中,成员的退出不需要特殊的控制消息。当一个发送者退出时,不再发送Join-Query分组;接受者退出时,不再发Join-Reply分组;中间转发节点在一段时间内未收到Join-Reply分组时,将取消FG-flag标志,降级为非转发节点.

B)Camp协议是基于格网的协议,接收者发起的、通过创建一个共享的格网结构支持多播。它依赖于单播路由协议,格网包含从所有接收者到所有发送者的反向最短路径,不需要通过广播(泛洪)方式建立格网,而是通过若干个核心节点创建多播格网,每个格网可以有多个核心节点,核心节点可以不是格网组成员。Camp协议将节点分为双工、单工成员和非成员节点,双工成员是多播网的完全成员,负责转发接收的多有该多播组的数据包;单工成员用于创建两个成员之间的单向连接,负责转发唯一的上游节点送来的数据包,节电根据需要选择成为单工节点还是双工节点。

Camp协议基本思想是设置若干个“核心”节点,普通节点通过“核心”节点发送Join-Request来加入群组,这样能够起到限制Join-Request分组流量的作用,然后,目的节点再根据单播路由信息来优化。

Camp协议的优点是不需要通过广播方式建立格网,当发送者数量和群组成员数量增加时,Camp不会引起多播更新分组的指数增长,性能优于oDmRp,缺点是依赖于单播路由协议,各节点缓存有大量的路由信息,当节点移动时,需要更新大量的数据,不适合高移动的adHoc网络。

5混合的多播路由

基于树的多播路由协议可提供较高的分组转发有效性,但是鲁棒性较差:而基于格网的多播路由协议可提供较好的鲁棒性,但有较高的数据转发通信量和增加网络的负载。混合多播路由协议能较好地发挥基于树的多播路由协议和基于格网的多播路由协议的优点。

amRoute协议是主动路由协议,它基于用户多播树和动态核心,创建一个双向的共享分发树。在建立分发树之前先创立网络,利用虚拟网络链路建立多播树,这样当网络拓扑结构发生变化时,只要逻辑核心节点和多播树成员之间通过格网链路的路径依然存在,树就不需要调整。

amRoute协议主要包括两个过程:构造格网和形成共享分发树,这两个过程可同时进行。

1)构造格网

amRoute的组成员包含所有成员图,每个成员初始化时,先建立一个仅有自己的单节点格网,自己是核心节点,核心节点以不断递增的ttL发送Join-ReQ分组,用于发现其它成员。即当成员节点a收到B的Join-ReQ分组,a用Join-aCK分组回应,并将B视为邻节点,而B收到Join-aCK分组后,也将a作为它的同组邻居,然后a和B利用分布式的核心选举算法决定谁保留核心地位。这样不断进行下去,最终形成一个格网。

2)形成共享分发树

共享分发树是在成员格网的基础上建立的,核心节点周期性地向格网中的与之有关的连路发送tRee-CReate消息。当成员节点接收到一个非重复tRee-CReate的时候,将其转发到所有其它链路上,并将输入和输出链路标记为“树链路”。当节点收到的是一个重复的tRee-CReate分组时,丢弃该分组,并沿接收链路返回一个tRee-CReate-naK分组,将该链路标记为“格网链路”。

amRoute固然有其优点,但在有些时候是不实用的,比如某些临时环境,创建的树就是非理想的了。

6多播路由协议的比较

多播路由协议设计的基本思想是以最小的冗余创建成员之间的路径,前面叙述的各种协议都试图以不同的机制来达到这个目标。

有表1可看出,在移动环境下,基于格网的协议明显优于基于树状的多播协议,因为当节点移动导致链路断开时,格网中的冗余路径为传递数据提供了可选择的路径。一个自组网的路由协议除了支持移动性外,其健壮性和高效率也是重要指标。在网络结构上,基于树的多播路由具有最短路径的高效性,网状结构则提供较好的鲁棒性。

参考文献:

[1]Sung-JuLee,marioGerla,Ching-ChuanChiang.on-demandmulticastroutingprotocol[C].neworleans:proceedingsofieeewCnC’99,1999.1298-1302.

[2]LeeSJ.aperformancecomparisonstudyofadHocwirelessmulticastprotocols[C].newYork:proceedingsofieeeinFoCom,2000:565-574.

[3]JasonXie.amRoute:ad-Hocmulticastroutingprotocol[J].mobilenetworksandapplications,2002,(7):429-439.

路由协议篇9

关键词:aodv;能量感知;优化

中图分类号:tp393文献标识码:a文章编号:1674-7712(2012)16-0048-01

一、aodv简介

aodv协议是用于特定的网络的可移动节点。它可以在不同的动态对等网络确定一条到目的地的路由,并具有接入速度快,计算量小,内存占用率小,网络负载轻等特点。它使用的目标序列,保证在任何时候也不会出现回环(即使在路由控制信息的异常也不会),避免了传统距离数组协议中出现的许多问题(如无限计数问题)。

aoDV算法目的是对多个移动节点在建立和维持一个动态的,自启动,多跳路由网络。路由协议使移动节点可以迅速获得新的目的地节点和路由,节点只需要保持其信号到达的路由节点,更远的节点路由信息不需要维护。网络连接断开和变化将使网络拓扑结构发生变化,使移动节点可以及时应对这一变化。aoDV的操作是无自环的,由于解决了“无穷计数”问题,该算法在网络拓扑变化如在网络节点移动快速收敛。当一个路由协议连接断开,aoDV会通知所有受影响的节点,节点会让用到这个连接的路由失效。

aoDV路由协议的一个显著特点是它在每个路由表条目使用目标序列。目的节点创建目的序列,并包含在路由信息里面,接着路由信息将被发送到所有请求节点那里。通过使用目的序列号,我们确保了网络中没有回路,且易于编程。如果目的节点提供了两条路由,那么节点收到请求后将选择最大的序列号(由于目的地节点每收到一个新的请求,会将目的序列加1,从而使该路由保持最新最好)。

二、ns2网络模拟器简介

ns2是美国国防支持的项目(虚拟网络平台)开发通用多协议网络仿真网络软件,开发的源代码使研究人员更好地开展各类算法的实现及其改进。

ns是一个离散事件模拟器,事件提供了系统的状态变化,状态修改只有在事件发生时进行,典型的事件有分组到达、时钟超时等。同时,ns也有丰富的组件库,对一些通用的实体对象建模,对象易于组合,扩展。ns组件库支持网络类型:广域网,局域网,移动通信网络,卫星通信网络,支持的路由方式有:分层路由,动态路由,组播路由等,ns也提供跟踪和监控对象,可以把网络系统的状态和事件记录分析,如:tracefile,生成.tr文件记录仿真过程数据,从中可以提取有用信息。

三、aoDV分析以及改进

aoDV路由协议有很多缺陷,其中有一个缺陷是每个源节点只保持一特定目的节点的路由选择,如果此路由失败,将重新启动路由发现过程,这样会增加网络成本。在网络拓扑变化频繁,这一缺陷显得更加突出。

其次,在特设网络中,节点通常利用电池来提供能源,电池的能量在没有相关技术进行提高前,能量是一个尤其重要的问题。aoDV路由协议是一个比较成熟的路由协议,容易实现,但它没有过多考虑节点的能量状态。如果某一个节点是在一些交叉连接处,节点也可能参与了多个路径,节点能耗的急剧增加,过早耗尽自己的能量,由此导致路由链路发生故障,不得不重新建立路由,从而导致了较大的网络开销,而且还会增加能量的节点网络中的能量消耗。

针对上述缺点,也提出了一些改进的方法,如增加多径,距离的限制提高路由可靠性和提高路由维护机制。本文提出了一种改进的方法,是让源节点除了维护主要路由到目标节点,并维持一个目的地节点和备用路由。所以当主路由失败,将使用备份路由数据,不需要重新启动路由发现过程。在每个源节点到目的节点维护一个备份路由,并通过修改局部修复机制,这样,当主路由失败,将通过备用路由的数据包发送。只有当备用路线还没有开始,重新启动路由发现过程。

五、结束语

因为路由协议的路由表维护,只有指定的目标节点路由,路由失败时,需要重新启动路由发现过程。为了解决这一问题,本文提出了一种改进的方法,在每个源节点到目的节点保持一个指定的备用路由,当主路由失败,我们通过备用路由的发送数据包。只有当备用路线不能启动,我们才重新启动路由发现过程。在nS2平台的仿真结果表明,改进后的方法可以提高数据包的投递率,降低端到端的延迟,减少路由发现和路由开销。

参考文献:

路由协议篇10

关键词:分级能量平衡;成本系数;aoDV路由协议

中图分类号:tp393文献标识码:a文章编号:2095-1302(2014)08-0056-03

0引言

移动adHoc网络(mobileadHocnetwork,manet)[1]是一种特殊的通信网络,该网络中没有中心基站的控制。移动adHoc网络中的节点间以多跳的方式进行通信。也就是说,每个节点本身不仅可以充当路由器转发数据,同时也是一个终端节点,可以发送或接收数据包。由于网络中节点位置可以移动,其拓扑会不断地发生变化。在adHoc网络中,移动节点大多是小型便携式设备,这些节点通常由电池提供动力,所以整个网络是一个能量受限的系统。因此,在无线adHoc网络中,节能的路由协议是很重要的。

传统的无线自组网按需平面距离矢量路由协议(adhoconDemandDistanceVector,aoDV)[2]倾向于选择最小跳数的路径。如果最小跳数的路径总是包括相同的节点,那么这些节点的能量就会很快耗尽。当过多的节点能量被耗尽时,剩下的节点将无法有效地进行通信,然后整个网络就很可能是分散的。因此,在能量受限的网络中,如何平衡节点的能量消耗成为研究aoDV路由协议的一个重要课题。

现在已有许多论文提出了各种能量均衡的方法以解决上述问题。一些文章提出了采用整个链路的最小平均能量[3]或总能量[4]作为最佳路径选择时的指标。然而在这些论文中,作者并没有考虑到对低能量节点的保护问题。所以都不能很好地解决上述问题,一些节点的能量仍然会很快耗尽。

针对以上问题,本文提出了分级能量平衡aoDV路由协议(GradedenergyBalancingaoDV,GeB-aoDV)。即存在GeB-aoDV路由协议中,根据节点的剩余能量,将节点分为几个等级,不同的等级有不同的成本系数。低能量的节点成本系数较大,相应地,高能量的节点成本系数较小。目标节点将优先选择总成本系数最小的路径。采用GeB-aoDV路由协议,整个路径将包含更多的高能量节点和更少的低能量节点。通过此方式,整个网络的能量得以均衡,网络的生存周期得以延长。

1aoDV路由协议

aoDV路由协议是一种按需路由协议[5]。它包括路由发现和路由维护两个过程。尽管它是一个成熟的无线网络路由协议,但在能量受限的应用场合仍有缺陷。

当一个节点向目标节点发送数据包并进行路径选择时,它将向邻节点广播路由请求分组(RouteRequest,RReQ)。邻节点在收到RReQ请求后,将生成到源节点的反向路径。然后,邻节点将判断其是否是目的节点,或是它有到目标节点的新路径。如果它是目标节点,将以单播方式向源节点返回一个路由应答分组(RouteReply,RRep),否则它将继续转发RReQ。当源节点接收到该RRep时,源节点和目标节点间的路线就可以使用了。

路由维护是通过使用路由错误(Routeerror,ReRR)消息和Hello消息实现的[6]。活跃链路上的每个节点必须周期性地向其邻节点广播Hello消息,以此来检测活跃链路上相邻节点的连接状况。如果某节点在规定的最大时间内没有收到相邻节点的Hello消息,就认为链路连接失败。此时,该节点发起一次指向邻节点的局部路由修复过程,如果局部路由修复失效,则该节点向源节点和目的节点发送ReRR消息。当源节点接收ReRR包时,它将再次发起路由发现过程。

aoDV路由协议以最小跳数作为路径选择的指标,而不考虑节点的能量消耗问题。一些位于热区或中央区域的中继节点将被许多路线频繁使用,这些节点的能量将被很快耗尽,会使得网络生存期的减少[7],链接失败的概率提高,增加系统的开销以及源节点的发起频率,降低了分组递交率[8]。

2GeB-aoDV路由协议

在GeB-aoDV路由协议中,为使网络的能量平衡建立一个能量分级模型。从这个模型中,能得到一个总成本系数变量,然后将这个变量添加到修订的RReQ包结构中。当第一个RReQ数据包到达目标节点时,启动计时器(计时器的时间是事先给定的)。在此期间,可能有多个RReQ数据包从相同的源节点到达这个目标节点。然后目标节点就会从这些RReQ数据包中提取有用的信息,并将其保存到RReQ存储表(RReQ-St)中。当计时器计到给定的时间时,目标节点就会根据RReQ-St表格的信息,选择总成本系数值最小的路线。

2.1能量分级模型

假设网络中的每个节点具有相同的初始能量值e0,并设ei是节点ni的剩余能量。我们根据节点的剩余能量,把这些节点划分为4个等级。不同的等级有不同的成本系数(CostCoefficients,CC)。等级划分的方法如表1所列。

表1中,从等级1级到等级4共有四个等级。于此同时,有四个相应的能量范围和四个相应的成本系数。在这个模型中,a1>a2>a3并且b1

2.2GeB-aoDV中RReQ报文结构

GeB-aoDV中RReQ报文结构应进行修改。相对于aoDV协议,GeB-aoDV在RReQ报文的末尾增加了总成本系数(totalCostCoefficients,tCC)。当RReQ报文在网络中传输时,需要不断更新tCC字段的值,当一个节点接收到RReQ包,tCC进行更新的方法如下:。

上式中,tCCnew表示更新后的总成本系数值,tCCold表示之前的总成本系数值,CC表示当前收到RReQ包时的成本系数值。

2.3RReQ存储表

为了保存从目标节点中提取有用的信息,为每个源节点建立了RReQ存储表。RReQ存储表应该包含tCC的值,它可以用于路由选择。与此同时,它还应该包含根据所选的路线建立反向路径所需的信息。RReQ的存储表包括的信息包括:包计数器、源节点的地址、目标节点的序列号、源节点的序列号、时间戳、跳数、标记(用于标记该表是否有效)以及总成本系数。

应该注意RReQ存储表每时都在更新。如果一个RReQ包到达目标节点,就应该从这个包中提取有用的信息,并保存到RReQ存储表中。然后这个表的标记必须更新为无效的,如果一个存储表很长一段时间没有更新,那么,这个表就应该被删除。

2.4GeB-aoDV协议的路由查找过程

如果一个源节点没有通向目标节点的有效路由,它将通过发送RReQ消息发起路由查找过程。如果一个中间节点接收到了RReQ消息,它会在转发前更新tCC字段。这里更新和转发RReQ消息的过程与aoDV相同。然而中间节点即使有通向目标节点的有效路由,也不再回复RRep消息。目标节点负责所有路由应答任务。

同aoDV协议里的一样,目标节点应该首先根据该数据包是否由其本身生成的,来判断其是丢弃或是接收。然后目标节点把从RReQ消息中提取到的有用的信息保存到RReQ存储表中。假如这个消息是针对某个源节点的第一个RReQ消息(即包计数器为0的数据包),这时开启源节点的定时器。同时包计数器加1。如果它不是第一个数据包,则只把包计数器加1。

当定时器定时溢出后,目的节点将在RReQ存储表中根据tCC最小的原则找到一条最优的路由。假如有两条以上的路由有相同的tCC,则选择最先到达目的节点的路由为最佳路由。当最佳路由找到后,可以利用这条最佳路由更新反向路由并向源节点发送RRep消息。此时,存储表中关于该源节点备用路由变为无效,需要立即删除。

3仿真和分析

本文使用nS2仿真软件来仿真aoDV以及GeB-aoDV路由协议。在仿真中设置不同的移动速度;节点停留时间为5s;在最佳路径选择之前,目的节点定时器定时值为60ms;能量系数a1、a2、a3分别为0.75、0.5、0.25;代价系数b1、b2、b3、b4分别为1、2、4、8。通过这样配置参数,成本系数将随着剩余的能量的减少而呈指数增加,从而更好的保护剩余能量较小的节点,实现整个网络的能量均衡。部分参数的设置如表2所列。

本文主要对能量耗尽的节点数、第一个节点的生存期、分组投递率和平均端到端时延等性能指标进行了仿真分析。图1所示是在最大移动速率为30m/s的仿真条件下得到的随时间耗尽能量的节点数比较曲线。

随着时间的推移,GeB-aoDV路由协议会出现能量耗尽的节点数的增长速度较aoDV相对迟缓。原因就是aoDV路由协议是以最小跳数选择路径的,能量不均衡导致一些节点的能量过早地耗尽。而GeB-aoDV路由协议是根据最小的总成本系数值进行路径选择的,这种方法可以有效地保护低能量的节点,从而延长整个网络得到生存周期。图2所示是其分组投递率比较曲线。

从图2可以看到,GeB-aoDV路由协议在各种移动速度下的分组投递率都要高于aoDV,这意味着GeB-aoDV路由协议有更高的传输效率。一方面,该算法提高了路由连接的稳定性,减少了由链路失败造成的包丢失率。另一方面,由于能量均衡机制,很多的节点的生存期更长了,所以在仿真的后期,这些多余的节点能提供更可靠的数据传输。

图3所示是端到端平均时延的比较。图3表明:GeB-aoDV路由协议的端到端平均时延比aoDV更小。虽然GeB-aoDV路由协议并不是选择最小时延的路径,但它,选择的是最稳定的路径。这种方式可以减少链路失败时,路由维护过程带来的延时。另一方面,节点生存期的延长,进一步减少了由于路由查找失败带来的延时。

从仿真结果可以看出,在能量受限的系统中,GeB-aoDV路由协议能够延长网络的生存期,增大分组投递率,同时减少端到端平均延时。

4结语

本文基于aoDV路由协议,提出了分级能量平衡的路由协议。在这个协议中,能量成本系数用来平衡网络的能量。在GeB-aoDV路由发现过程中,中间节点计算总成本系数值,然后将其保存到修改的RReQ消息中并转发。目标节点从RReQ存储表中选择总成本系数值最小的路径。nS2仿真结果表明,在能量受限的系统中,改进算法较传统的aoDV路由协议有更好的性能。

参考文献

[1]D.B.JohnsonandD.a.maltz.Dynamicsourceroutinginadhocwirelessnetworks[R].technicalreport,pp.153-181,1996.

[2]S.Khelifa,Z.m.maaza,anenergymulti-pathaoDVroutingprotocolinadHocmobilenetworks[J].i/VCommunicationsandmobilenetwork,pp.1-4,oct.2010.

[3]J.Yuan,S.Ding,D.Zhang.anenergy-BalancingRoutingprotocolbasedonaoDV[J].wirelessCommunications,networkingandinformationSecurity,pp.588-592,June.2010

[4]X.mao,C.Feng,p.Zhang.improvementofaoDVRoutingprotocolBasedonenergyandLoadBalancing[J].modernelectronicstechnique,2010,33(11)::43-47.

[5]J.Singh,p.SinghandS.Rani.enhancedlocalrepairaoDV[a].internationalConferenceonadvancesinComputing,Control,andtelecommunicationtechnologies,pp.787-791,Dec.2009.

[6]mohammedtarique,Rumanaislam.minimumenergyDynamicSourceRoutingprotocolformobileadHocnetworks[J].2007,7(11):304-311.