期刊大全 杂志订阅 SCI期刊 投稿指导 期刊服务 文秘服务 出版社 登录/注册 购物车(0)

首页 > 精品范文 > 路由协议

路由协议精品(七篇)

时间:2022-10-30 11:03:08

序论:写作是一种深度的自我表达。它要求我们深入探索自己的思想和情感,挖掘那些隐藏在内心深处的真相,好投稿为您带来了七篇路由协议范文,愿它们成为您写作过程中的灵感催化剂,助力您的创作。

路由协议

篇(1)

关键词: Ad Hoc网络; AODV路由协议; 修复; 改进

中图分类号: TN915.04?34 文献标识码: A 文章编号: 1004?373X(2014)05?0055?03

0 引 言

Ad Hoc网络作为一种自组织网络,其具备节点可在主机与路由之间相互切换以及可移动等性能,且其具备的高度动态拓扑结构也对应用的路由协议提出了更多的要求。Ad Hoc网络和目前最常用的蜂窝技术不同,其与传统蜂窝技术最主要的区别在于它自身结构中的移动节点之间的相互通信和连通是建立在没有任何基础网络设施或者路由器的条件下开展或运行传递的,且该网络系统支持动态数据流控制和动态配置,运行中使用的所有路由协议都具备分布式特性。这就是说Ad Hoc网络的控制和自组性并不会过度依靠某些相对较为重要的节点,所有结构中的节点在功能上和网络组成中都是平等的,且任何一节点因故障或其他原因离开网络或加入网络都是被允许的。

Ad Hoc网络技术作为最近几年研究活动最为频繁的领域之一,其最常使用的路由协议AODV协议也成为目前研究的方向之一。下面通过对AODV路由协议的工作原理和存在的问题进行详细的描述,重点介绍了关于该协议的修复和改进,现阐述如下。

1 AODV路由协议及其原理

1.1 AODV路由协议

Ad Hoc网络是一种拥有动态化特性高的网络拓扑结构,也具备单向信道的特征,同时也有无线移动终端局限性和有限无线传输带宽等特征,Ad Hoc网络的上述特点对路由协议提出了很高的要求,一般路由协议难以在该网络中工作。

自组按需请求型距离向量协议简称AODV协议,该协议是建立在DSDV协议的条件上,通过借鉴DSR中相关路由协议机制,对上述两种协议进行改进后产生的一种协议,也就是说AODV协议糅合了DSDV和DSR两者的优点,如DSDV协议中设定的定期广播、序列号以及逐跳路由,DSR中设计的路由维护机制以及按需路由发现。这在一定程度使得AODV路由协议拥有了按需路由协议所具备的特性及功能。与此同时,在Ad Hoc网络拓扑结构运行的过程中发生变化或出现改变时,它会快速收敛,断路后也可凭借自身功能进行自我修复,保证链路畅通,使得节点能通过建立正向路由到达目的节点。在运行的过程中,还具备消耗的储存资源少,计算量小,网络带宽占用资源少等优点。

Ad Hoc网络在构建移动节点以及对移动节点进行维护时,需要借助AODV路由协议的计算功能,对网络结构中各移动节点之间多跳路由、自启动以及动态变化进行记录和计算。操作AODV路由协议过程中具有一定的开环性,而在Ad Hoc网络结构中拓扑出现改变时,即结构中节点开始在网络内移动,可以快速收敛,有效地避免了Bellman?Ford“无穷计算”产生问题的影响。若是链路出现中断,该协议会对相关受到累及的节点给予链路中断的信息通知,这就会使累及到的节点不会因路由中断而受到影响。

1.2 基本原理

AODV协议中,若结构中某个源节点在通向某个节点时会建立一个路径,此时就会使得一个路径发现程序被发起,这一时刻广播路径会自主向RREQ发出请求,并安排一个能与之处于对方无线电覆盖范畴内且相邻的节点,而该范围临近节点会依据请求转发RREQ,一直到源节点通过建立路由达到目的节点或者达到某个中间节点,同时这个中间节点必须具备能够达到目的节点的新的路径。而在RREQ被上述相邻节点转发的过程中,中间节点在与之相对性的路由表中会对第一个拷贝RREQ且转发给其他节点的相邻节点进行记录,这种记录同时也搭建了一条反向路径。当RREQ达到中间节点或者目的节点后,那么中间节点就会与目的节点借助反向路径单播一个RREP(路径响应分组),再转发给路径表上记录的相邻节点。在上述源节点移动并到目的节点的整个过程中,路径上的节点会依据路径表上的记录搭建一条源节点正确通向目的节点的路径。路由的建立如图1所示。

路由表项构建完成后,路由中任何一个节点都必须达到依据路由维持和管理路由表中各自设定的目标,即任何一个路由表项都在路由表中保持或拥有一个与之对应的目的地址,这是为了完成逐条转发而设定的。同样,在对路由表维护的时间段,与节点相对应项会被从路径表中被抹除掉,前提是路由没有被使用。这时,节点会对下一跳节点进行监视,若是在活动路由的过程中发生了链路断开,这时就会对其他节点发出相关的修复消息对路由链路断开处进行修复。

2 Ad Hoc路由修复与改进

Ad Hoc网络在运行的过程中,节点的拓扑结构在一定程度上具备很强的可移动性,也就是说路由节点会依据这种移动特性在网络中有目的移动,同时无线自组网络中构建各个节点也应节点的移动而成为中继路由器的替补,而在这一阶段链路就会因节点早网络中的移动而断路。因此,对AODV路由协议运行时因节点移动而导致路由断路进行修复对于保证通信的正常进行就显得非常重要。目前,对于断链问题修复主要有三种处理方法:

(1) 断路被发现后,广播RERREP报文会从路由中断链处的下游节点处主动发起,而节点在收到该报文后就会通过已经搭建好的正确通向目的节点的路径实现节点转移,一旦断链上游节点在收到该报文后,上游节点也会搭建正确通向目的节点路径,这样就完成了路由的修复。

(2) 断链时充分发挥本地修复功能,并通过上游节点实现对RREQ报文的传播控制,在控制范围内完成本地修复。

(3) 将源修复与本地修复相结合,依据设计者对断链做出的实际判断来选择使用何种方式进行修复。

2.1 由下游节点发广播报文

当在活动路由进行的过程中,某条中间链路正在使用,因故障原因或者其他出现了断链情况,这时出现断链位置的下游节点会对路由表进行检查,会明确位于自己上游的节点属于哪一条路由,并依据该节点到达的目的节点发起一个RERRER广播消息。任何一个节点在收到该广播消息后,都会对自身路由表进行检查,查看是否存在通往该目的节点的正确路径及可用路由,若是并不存在与之相关的路由表项,则会创建并转发;若是存在与之相关表项,而目的状态无法到达,则会根据广播消息对路由表进行更新;若存在能到达相应目标的节点,同时路由信息处于可以占用状态,那么该广播消息会不被理会或丢弃。然而,在广播消息通过链路到达断链位置的上游节点处时,就能立即建立正向的路由,完成修复。

然而,该修复方法也存在一定的问题。在广播报文被下游节点发起的过程中,路由表除了会对路由中某一下跳节点进行保存或记录时,还对上一跳点相关信息进行保存,这与AODV协议中到达目的节点的思想存在一定的冲突性。同时,下游节点发起对断链的修复过程中,它们都会对上一节点信息进行缓存,下游节点是不可预见的;因此,下游节点发起对断链处路由的修复是没有区别性的,也就是即使不存在数据传输,不存在该条路由,修复还是会被发起,这使得广播报文的传播量大大增加,加大了无线信道的负荷。

2.2 本地修复与源修复

AODV在运行的过程中,若是发现断路,传统的修复方法为源节点修复法,这就是说RERR会被传递到源节点处,并通知其路由出现断链时,而这时源节点会重新对路由进行发现,进而完成修复。这种修复方法比较可靠,但修复延时较长,因此对AODV提出了本地修复法:由于节点在网络中的移动而导致断链,而导致断链的节点极有可能就在断链处的附近或周边,借助这种方式对断链上游位置节点的TTL(生存时间)相对较小的RREQ广播报文来对断链的路由进行修复。然而,本地修复法受到路由使用效率的限制,特别适用于网络运行时,节点不会出现范围移动的可能情形中。使用OPNET软件对上述两种修复方法的仿真结果图如图2,图3所示。

本地小范围修复同样存在问题,若是位于断链处上游位置的相关节点周边临近节点较少,那么寻找下两跳节点而发起修复必将失败,这时上游节点也不可能寻到合适的总计节点,那么在此发起本地小范围修复,也必然会是失败。也就是说,由同样一个节点引发的两次寻找修复,都会因为周边临近节点不足且没有合适的中继节点而出现修复失败的问题,这样会转而寻求源节点修复,而在整个过程中会使得端到端延时、路由开销以及丢包率增加。

2.3 路由断链修复方法的改进

对上面描述进行分析,可以知道不同的修复方法其优势不相同,所面临的缺陷也具有差异性,因此,在断链发生时最好配合使用各种修复方法,这便于提升修复性能。目前,对上述修复方法的改进主要如下:

(1) 当某条路由出现断链且被某中间节点发现时,在断链上游节点发现后,可以发出具有限制跳数作用的Local RREQ,这样可以将路由重建或者断链修复的整个过程限制在因拓扑改变节点移动周边范围。若是在一段时间未能获取RREP,可以通过上游节点向上发出Route Notfication,并对上一节点进行要求,发起RREQ;若是整个向上过程直至源节点和目的节点的中点都未能获取RREP或路由重建不成功时,应该停止继续在该节点继续发送RREQ,而是通知源节点重新建立一条通向目的节点的路径,实现路由的重建。

(2) 链路中断后,首先对链路中断位置的上一处节点位于的位置进行判断,在根据其特点采取相应的修复方法。若是该节点位置距离源节点相对较近,则选择源节点修复;若是距离目的节点相对较近,则选择本地修复。判断方法:当某条活动路由出现断链的情况后,假定路由表中中断位置的上一个节点有效的反向路由与之相对应的跳数为hopl,而在程序录入中的代码“DestinationIP address”有效的路由表项与之相对应的跳数为hopl2,若是(hopl+hopl2)/2≥hopl,这表明断链路由位置的上一节点到目的节点的距离远于到源节点的距离,这时就应采取源节点修复,这便于源节点重建新的到达目的节点的路径,有效地避免了因重建路由而产生的引入时延,且相对本地修复法节省了因需要重建路由而开销的费用。若是hopl>(hopl+hopl2)/2,那么则相反,应选取本地修复,这有助于减少时延。

3 结 语

Ad Hoc网络是一种具备无线移动、自组织的网络,该网络结构并不需要在某种特定的结构环境下工作,其工作环境是可多变化的。因此,Ad Hoc网络非常适用于一些特殊场合或军事场合。在缺乏相关基础网络设施构建网络环境的条件下,Ad Hoc网络通过凭借自身具备的特性及功能完成快速组网,而且构建组网结构中任何一个节点都具备可移动的特性,这就是说每个节点除了可以作为主机外,还具备路由器的功能,而这种优秀特性也使该网络具备非常广的应用前景。而AODV路由协议作为Ad Hoc网络最常使用的路由协议,其重要性不言而喻,因此,开展相关AODV路由协议的修复研究和改进是非常有意义的,这对于提升路由协议的高效工作有着极为明显的促进作用。

参考文献

[1] 胡曦,李喆,刘军.移动Ad Hoc网络中基于链路稳定性预测的按需路由协议[J].电子与信息学报,2010(2):284?289.

[2] 叶亮,沙学军,徐玉.Ad Hoc网络路由抖动与路由维护[J].吉林大学学报:工学版,2010(5):1397?1403.

[3] 王琦进,侯.一种节点低能量避免的AODV改进协议[J].合肥工业大学学报:自然科学版,2013(4):431?434.

[4] 周杰.基于AODV的Ad Hoc网络多路径路由协议[J].长春工业大学学报:自然科学版,2012(4):451?455.

[5] 谢佳,徐山峰.AODV、AOMDV和AODV?UU路由协议性能仿真与分析[J].中国电子科学研究院学报,2011(6):592?594.

[6] 王莎莎,朱国晖,王鑫.Ad Hoc网络负载均衡路由协议研究[J].现代电子技术,2013,36(3):40?42.

篇(2)

关键词: 路由协议;RIP协议;路由环路;配置

中图分类号:TP39 文献标识码:A 文章编号:1671-7597(2012)0720016-02

1 RIP协议概述

动态路由协议有距离向量路由协议和链路状态路由协议两种,RIP(Routing Information Protocol,路由信息协议)就是最典型的距离向量路由协议,它被广泛应用于小型的同类网络。

RIP是由Xerox在20世纪70年代开发的,最初定义在RFC1058中。RIP用两种数据包进行传输更新:更新和请求,每个有RIP功能的路由器在默认的情况下,每间隔30秒利用UDP 520端口向与它直连的网络邻居广播(RIPv1)或者组播(RIPv2)路由更新。

RIP协议分为版本1和版本2,但不论版本1还是版本2,它们都具备下面的特征:

1)都是距离向量路由协议;

2)使用跳数(Hop Count)作为度量值;

3)默认路由更新周期为30秒时间;

4)管理距离(AD)为120;

5)支持触发更新;

6)最大跳数为15跳;

7)支持等价路径,默认4条,最大16条;

8)使用UDP 520端口进行路由更新。

RIPv1和RIPv2的主要差异如下:

表1 RIPv1和RIPv2的区别

2 RIP协议的工作原理

2.1 RIP路由表

RIP协议路由表中包含了一系列的信息:目的地的地址;到目的地路径的下一跳及距离计算值,距离是指到达目的地的网络所要经过路由器的个数;除了这些最主要的信息外,路由表还包括了其他的一些信息:比如时钟(计时器)、状态信息(标志位)。下面就是一个典型的RIP路由表:

表2 RIP路由表

2.2 RIP工作原理

RIP协议的整个运行都是与RIP路由表密切相关的,简单来说其工作原理就是路由器之间进行RIP路由表的交换的过程。

1)RIP路由表的更新维护

路由器每30秒通过UDP报文发送路由交换信息,以此确定邻居是否存在。如果180秒内未收到相邻节点的路由信息反馈,则标识该条路径不可达;再经过120秒还是未收到路由信息反馈,就删除这条路由。一旦网络发送变换,路由器就必须更新RIP路由表,这个过程可以称之为收敛(Convergence),RIP协议要确定一条路径是否可达需要3分钟,所以整个收敛过程是比较慢的。

路由表是存放在路由器的内存中,路由器启动后会初始化路由表,对每个直连网络生成一条路由信息,然后复制相邻路由器上的路由表,每复制一次“跳数”就加1,并且把下一跳地址指向该路由器。例如达到某个网络下一跳地址是指向R1,可是R1上没有到达该网络的路由信息,则删除该条路由。“跳数”是直到达目的网络所必须经过路由器的个数,直连网络的跳数为0,优先级也是最高。

2)路由环路

由于RIP是距离向量路由协议,因而也就有了该类协议的弱点:可能会产生路由环路。一般来说,产生路由环路常见原因有二:一是有可能静态路由的设置不合理,二是动态路由的定时广播产生了误会。

情况一,静态路由设置不合理:假设有两个路由器R1和R2,它们的路由表中都有一条到达同一目标网络的静态路由信息,并且下一跳地址彼此指向对方,这样就产生了环路。

情况二,动态路由产生的:假设路由器R1有条通过路由器R2到达网络A的路由信息,但是由于网络变化,路由器R2到网络A不可达,并且路由器R2的路由广播先于路由器R1。由于路由器R1路由表中有到达网络A的路由,且下一跳地址就是R2,所以路由器R2就会学习到路由器R1的这条路由信息,并且将下一跳的地址设置为R1,如此一来,路由器R1和R2都把下一跳地址彼此指向对方了,从而形成环路。

3)环路的解决

由于环路的产生,不利用网络的正常高效运行,所以针对此种情况有如下解决方法:

① 设置最大跳数:RIP协议规定了最大跳数为16,跳数达到16就标识该条路由不通,并且会阻止环跳继续进行,如上文中描述的环路产生情况二,就可以通过这种方法来解决环路的产生。

② 水平分割:水平分割就是把路由信息中发送给原发者的信息过滤掉,路由信息采用单向发送。

③ 毒性反转:毒性反转是水平分割的改进版本,如果路由器收到的路由信息是自己原来发送的信息,就马上将此路由信息的跳数设置为16,这个过程称之为毒化。

④ 触发方式:这种方法主要是避免网络收敛速度慢而形成环路,只要网络发生了变化,路由器马上发送更新路由信息,迅速通知相邻的路由器,避免信息误传。

⑤ 抑制时间:这是指路由器在收到路由变化信息时,马上开启抑制时间,在这段时间内,有变化的项目被冻结,用以防止信息被错误覆盖。

3 RIP协议的优缺点

RIP协议最大的优点就是实现起来简单,开销比较小,很适合小型网络,但其也存在一些缺陷:

1)当网络出现故障时,需要比较长的时间才能将此消息传递到所有的路由器上,通俗的说就是坏消息传播的慢。

2)由于RIP协议规定最大的“跳数”是15,也就是路由器个数,因此限制了网络规模。

3)路由器彼此之间交换的信息是路由器上的完整路由表,随着网络的不断扩大,所花费的开销也随之增加。

4 RIP配置简述

实验拓扑图如下,以思科路由器为例。

图1 RIP基本配置

4.1 实验步骤

篇(3)

关键字: 路由算法; 协议仿真; MANET; NS?3

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

0 引 言

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

1 MANET路由协议分析

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

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

2 NS?3仿真平台搭建

2.1 NS?3仿真架构

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

2.2 NS?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 路由协议的仿真及性能比较

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

3.1 静态场景

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

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

3.2 动态场景

仿真场景设置:在静态场景的基础上,为节点添加RandomWalk2dMobilityModel运动模型,该模型为每个节点随机选择一个方向,以设定的速度移动一段时间后再随机选择另一个方向继续移动,直接到仿真结束。设定相同的随机数种子以保证每次仿真中节点的运行轨迹一致。设定网格的边长为300 m,节点的规模固定为7×7,即节点运动的区域限制在2 100 m×2 100 m的矩形内。仍考察对角线的一个节点向另一个节点发送UDP数据包,每次仿真发送3 000个数据包。增加节点移动速度,考察三种协议的端到端平均时延和包投递率情况,如图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] HENDERSON T R, LACAGE M, RILEY G F. Network simulations with the NS?3 simulator [C]// Proceedings of the ACM SIGCOMM. Seattle, Washington: [s.n.], 2008: 1111?1121.

[3] NS?3 developers. NS?3 Tutorial [EB/OL]. [2012?11?13. http:///docs/release/3.15/manual/ns?3manual.

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

[5] PERKINS C E, BHAGWAT P. Highly dynamic destination?sequenced distance vector routing(DSDV) for mobile computer [C]// Proc. of ACMSIGCOMM’94. [S.l.]: ACM, 1994, 8: 250?256.

[6] JOHNSOM D, MALTZ D A, BROCH J. The dynamic source routing protocol for mobile AD hoc networks (Internet?draft) [M]. [S.l.]: Mbole Ad?hoc Network(MANET) Working Group,IETF, 1998.

[7] CLAUSEN T, JACQUET P, ADJIH C, et al. Optimized link state routing protocol [J]. 2003.

篇(4)

关键词 城市巡逻 移动自组网 路由协议

中图分类号:TF393 文献标识码:A

1 移动自组网

移动自组织网络(MANET)是由一组依靠无线链路通信的独立移动节点组成的一个临时性自治系统。由于MANET具有无中心、自组织、部署迅速等优点,非常适合多个移动点之间传输信息,是巡逻过程传输视频首选的组网方式。

2路由协议

在MANET中,源节点在向目的节点发送数据时,通常需要其它中间节点的中继转发,因此路由协议是MANET中极其重要的部分。目前应用较为广泛的是OLSR、DSR、AODV三种路由协议。OLSR协议是一种先应式的链路状态路由协议,采用优化的洪泛机制来广播链路状态信息。DSR协议是按需路由协议,每个数据分组携带有整条路由信息。AODV协议也是按需路由协议,采用逐跳转发分组方式。

3场景建立

基于OPNET软件模拟城市巡逻场景,设定哨兵的移动速度为5km/h,巡逻车辆的移动速度为20km/h。巡逻人员之间进行视频信息交互。

4路由性能分析

模型建立后,设置OLSR、DSR、AODV三种路由协议进行仿真,选择吞吐量、时延、路由开销三个统计量作为评价路由性能的参数。仿真结果如图1、图2、图3。

由仿真结果可以看出,OLSR 的吞吐量一直在2000kbits/s以上,网络可靠性最高。时延方面,OLSR为100ms左右,满足实时通信需求。OLSR在网络初始化阶段路由开销较高,但随后迅速降低,协议效率较好。

5结论

本文分析了移动自组网的特点,提出了在城市巡逻过程中通过建立移动自组网实现现场视频的实时传输。同时,基于OPNET软件比较分析了OLSR、DSR、AODV三种路由协议性能。由仿真结果可以看出,在城市巡逻场景中,OLSR协议的吞吐量、时延、路由开销性能均为最优。

参考文献

[1] 孙宝林,桂超,李媛,等.移动Ad Hoc网络路由技术研究[M].武汉:湖北人民出版社,2008:2-3.

[2] 郑少仁,王海涛,赵志峰,等.Ad Hoc网络技术[M].北京:人民邮电出版社,2005:1-4.

篇(5)

关键词:无线传感器网络(WSN);LEACH协议;拓扑结构;带状网络

中图分类号:TN929.5 文献标识码:A 文章编号:1674-7712 (2012) 14-0052-02

一、概述

路由协议一直以来是无线传感器网络中的一个重要研究方向。无线传感器网络的路由协议将数据从源节点发送到基站或者汇聚节点,其主要目标是在满足应用需求的情况下尽可能地降低网络的能耗,通过有效地能量管理技术避免网络连通性的恶化,提高网络的整体性能。但是由于WSN中节点的处理能力和能量有限的局限性,传统的路由协议无法满足它的要求,很大程度的影响了路由协议的研究,因此本文的目标是针对带状网络研究一种改进的路由协议L-P。该协议以LEACH为基础进行改进,更适应带状网络应用。

二、路由协议分析

LEACH协议通过随机选举簇头避免了簇头过分消耗能量;通过簇头的数据融合有效减少了通信量,从而提高了网络生存时间。但该协议采用单跳通信,扩展性差,虽然传输时延较小,但要求节点具有较大通信功率,不适合大规模应用;即使在小规模网络中,离汇聚节点较远的节点由于采用大功率通信会消耗大量能量,导致生存时间较短;而且频繁的动态拓扑结构变化和大量额外的广播也会耗费很多能量。

(三)LEACH协议的不足

LEACH协议虽然是分簇类协议有着不可替代的优势,但仍有一些地方有待商榷,直接应用于长带状状网络还是有很多不适应的地方,仍需要根据具体的应用环境进行相应的改进。

(1)簇头的选择只遵循等概率,而没有考虑节点的剩余能量,如果一个能量较低的节点被选作簇头,就很容易因大工作量耗尽能量而失效,因而缩短了网络的生命周期。

(2)簇头是选取随机的,无法保证簇头节点的合理分布,如果某区域附近没有簇头节点时,该区域内的节点就要选择加入距离较远的簇,这样就增加簇头和簇内节点的通信距离,使得能量消耗增大。

(3)所有的簇头都是直接与汇聚节点通信,那么离汇聚节点越远的簇头能量就消耗得越快,生存时间就越短,整个网络也因此受到影响。工作面环境复杂,通信距离经过实测也就30m左右,每个节点都直接与汇聚节点通信是不可能的。如果只是简单的其之间采用多跳路由,那么离汇聚节点较近的节点因为多轮多次转发其他簇头的数据,能量消耗的更多。而且网络规模越大,节点数目越多,死亡越快,从而影响网络的生命周期。同时,由于数据向一个方向传输,会形成一头大一头小的“棒槌”式结构,这必然造成能量的不均衡分布。

(4)传感器节点在加入簇时仅考虑通信能耗最小,不考虑簇的负载程度,这会导致各个簇中的节点数严重不均衡,不利于簇首能量的均衡消耗和网络生命周期的延长。

四、改进的路由协议研究

(一)网络拓扑结构

(二)算法设计

L-P协议也是基于分簇的路由协议,但不同于LEACH,由于网络呈长带状分布,若采用单跳路由形式,距离汇聚节点远的节点能量很容易耗尽。故该协议采用簇间单跳的动态方式传递信息。簇头一旦确定,簇便随机建立,每簇的簇头就成为中继节点。这样就由簇头节点组成了多条能够遍历整个区域的簇头链,但路径质量和通信代价良莠不齐,而不同的无线传感器网络对于传输路径的能耗或可靠性的要求各有高低。因此通过对每条候选路径的能耗或丢包率的比较,最终确定一条符合要求的簇头链。如果数据融合量很小,数据流就会呈“棒槌”状,越靠近汇聚节点数据量越大,造成的“热区”问题。故本文利用非均匀分簇的思想,越靠近汇聚节点簇的规模越小,来解决“热区”问题,平衡整个网络的负载,提高网络的生存时间达到增加网络寿命的目的。

五、仿真与分析

本文通过对LEACH协议和改进的L-P协议进行了仿真和比较。主要从丢包率和生存节点个数这两个方面分析,说明该进的协议的优势。

六、结论

丢包率和存活节点数是衡量无线传感器网络可靠性和网络生命周期的重要指标。L-P协议在这两方面都要优越于LEACH协议,改进后的簇首选择机制,非均匀成簇方式和簇间通信机制的确提高了网络和协议可靠性,延长了网络生命周期。由此可见,改进后的L-P协议更适应带状网络的无线通信应用。

参考文献:

[1]任丰源,黄海宁,林闯,无线传感器网络[J].软件学报,2003,14(7):1278-1291.

篇(6)

针对无线传感器网络数据传输可靠性的问题,本文提出了一种可靠性路由协议RANC,在GAINZ实验平台上实现RANC拓扑搭建,给出了节点组网具体过程,实现可靠路由的最佳通信路径选择。

【关键词】无线传感器网络RANC GAINZ可靠性

1 引言

无线传感器网络(Wireless Sensor Networks,WSNs)是由多个微型传感器节点面向任务以自组织方式构成的网络,WSNs由多个微型传感器节点通过自组织方式构成,其自组织性和容错能力使它非常适合在特殊时刻和环境中应用。WSNs一般部署在面积广阔且复杂恶劣的环境中,传感器节点资源受限,自然环境损毁和能量耗尽将导致节点失效,对实际应用产生巨大隐患。这些隐患决定了路由协议在WSNs研究中的重要性。为了保证WSNs能够正常通信,必须保证路由在全连通的基础上进行数据传输信息。本文首先介绍了一种可靠性路由协议RANC算法(Routing Algorithm Based on Node Credibility),在此算法基础上,在GAINZ平台实验环境实现WSNs真实的网络拓扑。

2 RANC协议简介

本节介绍的RANC路由协议综合了链路质量、传感器节点能量、储存空间等对路由可靠性的影响,通过可信度数学模型的构建实现网络路径的调整,达到延长网络生命期的目的。

WSNs中节点可信度(Node Credibility,NC)的数学模型表示为:

(1)

式(1)中,Ere(j)为j的剩余能量,d(j,sink)为节点j到基站的距离,LQ(i,j)为(i,j)的链路质量,TC(j)为节点j的转发能力。节点的转发能力与节点缓存占用率BO和拥塞因子CF有关,转发能力的数学表达式可表示为:

(2)

通过式(1)、(2)可以得出节点可靠性数学模型:

(3)

式(3)可以看出节点可靠性与传感节点剩余能量Ere(j)、节点缓存占用率BO(j)、链路质量LQ(i,j)、拥塞因子CF(j)正相关,与节点到基站的距离负相关。因此,在实验过程中可以选择节点剩余能量多的、节点缓存占用率高的、链路质量优并且与目的节点距离小的节点作为通信节点,使路由数据传输工作更为可靠。

3 RANC协议在GAINZ平台实现方案

GAINZ平台硬件由微处理器,射频芯片以及设备组成,是一款WSNs硬件开发平台,传感器节点在AVR单片机基础上进行设计。基于GAINZ实验平台上,实现RANC路由协议搭建的网络结构。

3.1 拓扑搭建过程

协调器节点组网过程的具体伪码如下所示:

协调器节点组网算法

确定网络环境,设定自身网络ID

令N=0;

whlie收到节点请求

if N

N+1,将该节点IP、能量信息等加入邻居列表,并向请求节点发送加入回复信息

else if N>Nmax

将加入请求信息删除

end if

end

3.2 RANC拓扑实现

在实验环境,硬件环境由20个GAINZ节点,USB电子狗和PC机组成。软件环境分为两部分,一部分为由C语言编写的测试程序;另一部分是在运行的Zigbee分析仪。

图1为 GAINZ平台上的原始拓扑图,通过RANC算法,通过择优选择路由,选择最佳通信路径,提升路由数据传输的可靠性,如图2所示。

4 结语

本文针对WSNs网络中路由选择问题,介绍了RANC路由协议优化网络的通信路径。给出了RANC协议的网络拓扑搭建过程,并且在GAINZ平台上的实现RANC拓扑。通过优化网络通信路径,达到延长网络生命期。

参考文献

[1]李凌晶.能量有效的无线传感器网络路由协议研究[D].南京:南京邮电大学学位论文,2012:6-9.

[2]韩旭,刘迎新,文正江.无线传感器网络路由协议研究[J].中国仪器仪表,2012,9:27-31.

[3]孙佩刚,赵海,罗玎玎等.无线传感器网络链路通信质量测量研究[J].通信学报,2007,28(10):14-22.

[4]于海滨,曾鹏,王忠峰等.分布式无线传感器网络通信协议研究[J].通信学报,2004,25(10):102-110.

篇(7)

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

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

Multicast Routing Protocols in Ad Hoc Networks

HU Jia-qing

(Anhui Architectural Design & Research Institute, Hefei 230001, China)

Abstract: Ad Hoc wireless network is a multi-hop, temporary and non-central network without infrastructure to support which consists of a group of wireless mobile nodes. Multicast is a group-oriented communication transmission mode, and it uses a single source address to send data to a group of hosts. How to realize effective multicast routing algorithms is an urgent problem which needs to be solvedin this research field. In this paper, current several typical multicast routing protocols are described and studied, their own working ways are analyzed and their characteristics are compared.

Key words: Ad Hoc networks; multicast routing; protocol; network topology

1 引言

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

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

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

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

2 Ad Hoc网络多播路由协议

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

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

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

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

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

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

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

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

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

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

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

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

3 基于树的多播路由

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

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

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

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

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

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

其中AMRIS协议和MAODV协议是典型的基于树的Ad Hoc网络多播路由协议:

A)AMRIS协议(Ad Hoc Multicast Routing Protocol Utilizing Increasing ID-Numbers Protocol)是新加坡国立大学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协议(Multicast Ad Hoc On-Demand Distance Vector Routing Protocol)是美国加州大学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) 多播路由的维护

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

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

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

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

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

4 基于格网的多播路由

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

基于格网的多播路由协议主要有按需多播路由协议ODMRP(on demand multicast routing protocol)、核心辅助的格网协议CAMP(core assisted mesh protocol)、向前转发多播路由协议(forwarding group multicast protocol)等。

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

A) ODMRP协议是由美国加州大学洛杉矶分校WAM实验室的Sung-Ju Lee等人提出的,它是使用“转发组”概念的格网多播路由协议,并使用“软状态”来维护多播成员关系,不需要显示的控制消息来退出多播组。在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,缺点是依赖于单播路由协议,各节点缓存有大量的路由信息,当节点移动时,需要更新大量的数据,不适合高移动的Ad Hoc网络。

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-Ju Lee, Mario Gerla, Ching-Chuan Chiang. On-demand multicast routing protocol[C]. New Orleans: Proceedings of IEEE WCNC’99, 1999. 1298-1302.

[2] Lee S J. A performance comparison study of Ad Hoc wireless multicast protocols[C]. New York: Proceedings of IEEE INFOCOM, 2000:565-574.

[3] Jason Xie. AMRoute: Ad-Hoc multicast routing protocol[J]. Mobile Networks and Applications, 2002,(7):429-439.

相关文章