机会网路典型路由算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1机会网路典型路由算法研究
机会网络是一种节点分布稀疏、网络拓扑结构不断发生变化的间歇性通信网络。数据以多跳方式,采用“接收-携带-转发”的机制传输给目的节点,如果中间节点没有合适的可供传输的路径或节点,则无法立刻将数据转发出去,而是保存在节点缓存中,等到出现合适的传输机会之后,再将消息转发出去。而现有的有线网络和无线自组织网络中基于TCP/IP 协议的端到端路由协议已经不再适用于机会网络。因此,如何在机会网络中寻找一条时延尽可能低、消耗尽可能小、传输成功率尽可能高的路径,将消息准确传递到目的节点,是机会网络中一个极具挑战性的问题。从不同角度出发,机会网络的路由策略有不同的分类方式[27]。按照消息传输方式可分为洪泛路由策略和转发路由策略;按照路由所使用报文的份数可分为单报文路由策略和多报文路由策略;按照节点所掌握的网络拓扑信息还可分为确定性路由策略和随机性路由策略。本文按照消息传输方式不同将目前的路由协议分为如下几类:直接传输路由策略(Direct Transmission)、基于泛洪的路由策略(Flooding Based)、基于情景感知的路由策略(Context Based)、基于社区的路由策略(Community Based)、基于编码的路由策略(Coding Based)、基于预测的路由策略(Predicted Based)。
1.1.1基于副本或泛洪的路由策略
直接传输(Direct Transmission,DT)路由在运行过程中,不产生消息副本,消息一直保存在源节点缓存中,直到源节点在运动过程中遇到目的节点,才将消息转发给目的节点。DT 路由协议由于没有进行路由优化处理,也没有产生任何副本消息,因此传输时延很大。为了减少网络中消息的传输时延,研究人员提出了基于泛洪的路由协议,通过消息携带节点产生大量的消息副本,转发给每一个相遇的节点,完成消息的投递。根据网络中消息副本数量的多少,还可以将基于泛洪的路由分为两大系列:泛洪路由和限制性泛洪路由。
最简单的泛洪路由为传染病路由或称为流行性路由(Epidemic Routing)[13]。顾名思义,传染病路由中消息的分发类似于传染病病毒散发,当消息携带节点在移动过程中碰到没有携带该消息的节点时,便产生消息副本并传递给对方,然后该节点将消息存储在自身缓存中,继续转发给所遇到的其他节点,直到消息传递到目的节点或者消息的TTL 等于零。
实际的网络中,节点的缓存和能量都有限,不可能保证足够的带宽资源,Epidemic 路由的性能将急剧下降,另外大量的冗余信息将过多地消耗节点能量,
甚至导致网络拥塞。为了改进Epidemic 路由的不足,研究人员提出了限制性泛洪路由,通过控制源节点中的副本数量,来平衡资源消耗与网络的性能。其中Spray And Wait 路由算法包含Spray 和Wait 两个阶段,在Spray 阶段,源节点通过控制消息Message的副本数量N,从一定程度上避免了Epidemic 算法中冗余信息过多的弊端,源节点将产生的N 个副本分别转发给其最先遇到的中间节点。
1.1.2基于预测信息的路由策略
泛洪路由策略利用源节点产生的多副本转发,网络节点中信息冗余度大,对网络资源的依赖度高。为了更大程度上降低对网络资源的消耗,基于预测的路由策略通过网络中不同节点的相遇历史或者运动路径等信息来预测某个节点的传输概率(Delivery Probability),并决定是否将消息转发给该节点。此类路由策略的核心思想在于消息携带节点利用网络拓扑信息或者节点间的相遇历史信息对每一条潜在的路径进行评估和预测,将数据包在一个最恰当的时机选择最恰当的节点进行转发,从而有效地减少了信息复制的盲目性,避免在网络中生成低效的消息副本,提高了网络资源利用率。
Lindgren 等提出的PROPHET(Probabilistic Routing Protocol using History of Encounters and Transitivity)路由算法,是一种基于节点历史信息的概率转发路由协议,该算法首先假设网络中节点的移动并非完全是随机的,也就是说节点的移动趋势是可以预测的,如果一个节点在过去的某一段时间经常与某个节点相遇,则该节点未来将有更大概率再次访问该地区,这与人类活动的重复性、可预测性等特点更加接近,有效的减少了对网络缓存及带宽资源等网络资源的消耗。PROPHET 协议分为两个部分:相遇概率的计算和转发策略。
(1)相遇概率计算
PROPHET协议通过定义传输概率P(a,b)表示节点a与节点b相遇的概率,与Epidemic 类似,当两节点相遇时,彼此交换各自的SV 信息,与Epidemic 不同的是,SV 信息中包含了节点缓存中的消息列表以及消息的传输概率。PROPHET 协议中节点相遇概率的计算分三个部分。
当任意两个节点相遇的时候,将更新各自的传输预期值,如果两个节点之间经常相遇,则他们之间的传输概率也就更高。如公式2-1所示:
P(a,b)P(a,b)(1P(a,b))*P
=+-(0.1)
old old init
式中P(a,b)表示节点a与节点b之间的传输概率,P(a,b)
表示在过去某
old
∈是一个初始常量值,用以一时刻节点a和节点b之间的传输概率,P[0,1]
init
保证经常相遇的两节点之间有一个更高的传输概率值。由公式2.1可以看出,如果两个节点之间频繁相遇,传输概率将逐渐增大。
当两个节点经过一段时间没有相遇,则他们之间传输消息的可能性就会降低,传输概率也会随着时间的增长而逐渐衰弱。其公式如下所示:
P(a,b)P(a,b)*k old
γ= (0.2) 式中[0,1)γ∈ 称为衰减因子,指数k 为从上一次计算传输概率开始所经历的时间单元个数,时间单元的长短可以根据实际应用情况或者目标网络的期望时延定义。
同样,在PROPHET 路由算法中,节点之间信息的传输概率具有传递的特性。如果节点A 与节点B 经常相遇,而节点B 与节点C 也经常相遇,则相对于节点A 来说,节点C 也是一个潜在的消息传输节点。公式2.3很好的显示了这个传递特性是如何影响节点之间的传输概率的。
P(a,c)P(a,c)(1P(a,c))*P(a,b)*P(b,c)*old old β=+- (0.3) 式中β∈[0,1]是一个常量,用来控制传递特性对传输概率的影响程度。
(2)转发策略
与传统的网络不同,机会网络无法计算节点之间的最短路径。PROPHET 路由算法通过计算相遇节点与目的节点的传输概率,从而选择是否转发消息。PROPHET 路由分为两种具体的转发策略:第一种是如果相遇节点的传输概率比自己大,则转发消息,否则等待其他的节点。第二种是提前设置一个传输概率阀值,当相遇节点到目的节点的传输概率高于该阀值时,转发消息,否则继续等待其他节点,PROPHET 算法一定程度上反映了人类的社会活动特征,性能上比Epidemic 路由算法有一定的提高,但是由于需要等待传输概率更高的节点出现,网络时延相应的有增加,其次为了避免在等待过程中缓存中消息的丢弃,中间节点需要足够的缓存空间和高效的消息管理策略。
1.1.3 基于情景感知的路由策略
基于副本的路由策略通过在网络中产生大量的消息副本,提高目的节点接收消息的成功率,并不需要任何网络拓扑结构的相关知识。而这种盲目的消息复制,对于网络资源的要求很高,并且导致大量副本消息的浪费,在网络中产生大量的冗余。而基于情景感知的路由策略,通过中间节点获取的情景感知参数来选择最优的传输路径,可以极大地提高网络的性能。当前主要研究的情景感知参数包括:节点的位置信息,节点的移动信息,节点的链路信息,网络拓扑结构信息等。
Context-Aware Routing(CAR)路由算法基于节点的逻辑链接信息设计,算法综合考虑节点移动速度,剩余能量以及网络拓扑结构等情景感知信息,通过效用