微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 容断网络中的组播路由算法研究

容断网络中的组播路由算法研究

时间:08-13 来源:数据通信 点击:

  OS-multicast(On-demandSituation-awareMulticasting)是在DTBR的基础上发展起来的。该算法包括5个部分: (1)成员管理:若节点欲加入组播组群,可以通过广播带有成员生存时间的组群参加消息(Group Join Message/GJM)向网络注册。例如,节点i欲在时间段[tsi,tei]参加组播服务,组播源接收到其发出的GJM后,将该节点添加到Lm中。 (2)束存储:每个DTN节点都有一个有限大小的缓存。接收到的束暂时保存在缓冲器中,然后根据接收策略,对束进行转发或剔除处理。如果缓冲器有溢出,当一个束到达时,缓冲器将删除队列中头一个缓存的束;如果所有目的接收节点都接收到该束的拷贝时,DTN节点将删除其缓存的束;否则对其缓存。 (3)转发状态维护:每个束都具有自己的转发状态,包含-个上游链表Lu(记录束转发经过的所有节点)和一个未解决的列表Lp(包含当前组播树的目的接收节点)。初始化后,Lp中包含所有的目的接收节点,Lu标记为空。组播会话过程中,Lp通过复制Lm中的相关目的接收节点信息来更新。 (4)消息转发:当一个束产生后,组播源通过寻访知识库反馈得到通往有效接受节点的所有路径。这些路径形成一个静态网格,源节点将根据当前的网络的状况,删掉一些不可利用的链路,或增加一些有效的链路,更新静态网格,得到一个动态的网格。组播源将根据该动态网格建立组播树。 (5)束传输:DTN节点周期性地查看缓存,检查是否能够对缓存束实现进一步转发,如果通往Lp中接收节点的路径存在则转发束,并更新相应的Lp信息。

  OS-multicast是针对DTBR的不能很好地动态利用当前可行路径的缺陷而提出的改进算法。但OS-multicast采用了类似于DSR的路由决策算法,假定诸如链路状态、网络拓扑等能很好地被获知,而这种假定存在一定的局限性;而且,DTNs网络环境下的节点密度比较稀疏,这种基于网格建立组播树的路由创建方法,适用性不强。

  CAMR(Context-Aware Multicast Routing)是基于节点密度的自适应的组播路由算法,它主要利用了网络一些额外的信息,如节点的位置、节点的速度等来进行路由选择。该协议包括5个组成部分: (1)节点密度估计:DTN节点使用常规的传输能量周期性地广播邻居发现消息,当另-个DTN节点监听到该消息并满足一定的延时条件下,反馈一个邻居应答消息,应答消息包括该节点的一些信息(如节点身份、节点位置、节点速率等)以及一跳邻居节点的信息(身份、接触概率、位置、速率等)。因此每个DTN节点可估计其相邻节点的数目,用nd来表示。当nd小于门限k时,节点将设立一个稀疏接触标志。 (2)两跳邻居接触概率估计:只要DTN节点ni能够接收到来自邻居节点nj的相邻应答消息,两跳接触概率就被设置为1,若ni不能接收到nj的相邻应答消息,则将接触概率降低到一个因子,β(因为相邻发现消息已经进行了周期性广播,因此总存在一个合适的β因子)。(3)路由发现:当不存在任何通向目的接收节点的路径,源节点将启动路由发现过程,在广播路由请求消息之前,节点会检查是否存在任何稀疏接触标志存在。若存在有稀疏接触标志,则启用高功率传输机制,否则使用常规功率的消息传输机制。 (4)路由维护:CAMR采用保管传输的一些特性进行路由维护,当DTN节点ni收到下游节点nj的保管确认(custodian acknowledgment)后,节点ni将删除其缓存保管束。若由于节点的移动,组播分支中断,则DTN节点通过广播路由请求或通过自身节点移动,进行路由修复。 (5)数据传输:每个传输的束都包含一些额外的头文件(如接收节点的身份),它决定了束传输的目的接收节点。如果支持CAMR机制的中间转发节点为一分支节点,则其要对束进行拷贝;如果中间转发节点采用了高功率的路由发现机制,则其将充当一个摆渡(ferry)节点,进行数据转发。

  CAMR突破了传统网络的路由发现机制,采用的路径发现过程具有很好的性能,更适合DTNs网络的特性,因此组播路由性能较为理想。但它假定节点的移动可以被控制,需要一定的应用技术来支持。另外,CAMR结合利用了高功率的组播传输和消息摆渡(message ferrying)机制,提高了组播分组传输比率。但CAMR仍然需要依赖一定的网络知识进行路由发现过程和对网络节点移动的控制。

  EMR(Epidemic Multicast Routing)将Vahdat和Becker的Epidemic算法的设计思想引入到容断网络的组播路由中。每-个节点的缓存中保存要传送的数据(束),并为数据的集合建立名为SV(summary vector)的索引(该索引指明了数据传送的目的节点),当两个节点"接触" (彼此进入对方的无线通信范围)时交换彼此的SV。节点根据对方的SV遍历自己的SV,并借此判断自己的缓存中是否保存有对方的数据,而后节点向对方发送数据请求信息。随着节点之间的不断"接触",数据会从源节点开始像病毒(epidemic)那样传播到网络中的其他节点,从而实现源节点到目的接收节点之间的数据通信。

  这种组播方法实现简单,由于支持多条路径,所以可靠性较高。但由于数据交换频繁,对节点的缓存要求较高且网络开销较大,只有在少量数据包的情况下,路由的效率高。

  EBMR(Encounter Based Multicast Routing)是在Prophet基础上发展而来的。Prophet算法充分利用相遇或投递转移的历史信息,为每个节点估算将数据成功转发到目的节点的概率,即到达概率,节点只会将数据转发给比自己到达概率高的节点;在数据转发过程中,节点之间还要交换彼此的SV及节点中缓存的到达概率信息,用来更新下一节点的到达概率。EBMR对Prophet作了一些改进: (1)如果下一节点的到达概率(delivery predictability)大于设定的门限值(Pthresh),上游节点就会向该下游节点转发束;如果没有找到合适的下一跳节点,该节点缓存束信息,直到等待时间(wait timer),到达极限值。 (2)在边界溅的节点,首先启动定向天线进行邻居节点发现,若发现失败,则启动另一个全方位天线。 (3)允许组播源节点选择多个下一跳节点执行发往同一个接收节点的数据传输。

  EBMR不依赖于任何路由发现过程,属于一种基于概率的组播路由算法。这种组播路由算法,有比较广的适用范围。但是在邻居节点发现过程中,使用的天线装置会消耗一定的能量(一般为电池能量),在DTNs这种资源受限网络中,该算法显得不可取。

  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top