基于分布式信任管理的数据转发算法

2019-12-23 10:45万烂军蒋国清
中国电子科学研究院学报 2019年9期
关键词:能量消耗数据包路由

严 志,万烂军,蒋国清

(1.长沙民政职业技术学院,湖南 长沙 410004;2. 湖南工业大学,湖南 长沙 410005)

0 引 言

由于能处理无线网络内间歇性连接和长时延问题,时延容忍网络(Delay Tolerant Networks, DTNs)受到广泛关注。与传统网络不同,DTNs使用存储-转发策略克服缺乏端到端路径问题[1]。DTNs由受限资源的节点组成,如缓存空间、节点功率。这些资源的受限,加上节点移动,缩短了节点的连通时间。

DTNs广泛应用于多个领域,包括水下网络、车联网(Vehicular Ad Hoc Networks, VANETs)、军事应用和灾难救援[2-3]。这些应用均要求网络能有效地传递数据。

目前,研究人员对DTNs进行了较深入研究[4]。然而,研究人员并没有对路由的不正当行为进行深度关注。例如,节点故意将需要转发的数据包进行丢弃。这些自私或恶意行为诱导了路由的不正当行为。尽管针对移动自组织网络(Mobile Ad hoc Network, MANET)和无线传感网络(Wireless Sensor Networks, WSNs)内的路由不正当行为,研究人员提出不同的方案,但是这方案并不适合DTNs[6]。

针对DTNs的路由不正当行为的研究表明,恶意节点降低了消息传递成功率。然而,多数方案是依据节点转发数据的过程检测节点的恶意行为。这些方案并不能有效地滤除恶意节点不诚实的推荐。例如,Chen等[7]依据自信因子计算间接信任。该方案产生了高的推荐信任值,但容易形成共谋攻击。此外,仅依据转发行为评估节点的信任值,可能会产生不准确的信任估计。

此外,DTNs也常采用基于相遇路由(Encounter-based Routing, EBR),但EBR路由并不能防御共谋攻击。尽管研究人员提出采用信任管理机制[7-8]解决自私行为和共谋攻击。然而,该方案并不能有效地解决路由的不正当行为。

为此,提出基于分布式信任管理的数据转发算法(Distributed Trust Management-based Data Forwarding, DTM-DF)。DTM-DF算法采用分布式信任管理估计节点的直接信任和间接信任,并依据节点信任值选择数据转发节点。仿真数据表明,提出的DTM-DF算法能够提高数据包传递率,并降低了传输时延。

1 DTM-DF算法

DTM-DF算法依据相遇记录(Encounter Record, ER)估计节点信任值。假定节点a与节点b相遇。节点a对节点b的ER可表示为:

(1)

在DTM-DF算法中,节点的信任值由直接信任和来自ER的推荐信任两部分组成。同时,DTM-DF算法引用统计模型表述信任关系。具体而言,引用Beta分布表述信任关系。Beta分布引用了有两个参数α、β。

当节点与邻居节点接触后,就能依据ER计算Beta分布,如式(2)所示:

(2)

其中0≤p≤1、α≥0、β≥0。

1.1 总体直接信任值

1.1.1直接信任

利用两节点(a、b)的ERab表述直接信任关系。此信任关系可通过αab、βab表示,其中αab表示节点a对节点b的积极观察。而βab表示节点a对节点b的消极观察。若节点a与节点b没有接触过,则令节点a对节点b的初始信任值设为0.5。这符合事实逻辑。过往没有接触过,对“陌生”节点保持半信半疑态度。

令s、f分别表示节点a与节点b间接触的积极接触和消极接触累加的证据。因此,αab和βab可用式(3)表示:

αab=s+1,βab=f+1

(3)

(4)

由于节点移动,需要动态更新ER表。为此,DTM-DF算法引入因子λ,减少历史观察对节点a、节点b的影响。如果节点a在ERab内观察了一个额外事件,则对s和f进行更新:

s=sold×λ+snew,f=fold×λ+fnew

(5)

其中0≤λ≤1。而sold、fold分别节点a对节点b的历史的积极接触证据和消极接触证据。

若节点a与节点b直接接触,就依据式(6)更新:

s=sold×λ,f=fold×λ

(6)

1.1.2能量信任

现存的信任管理并没有考虑能量信任。能量消耗是资源受限的网络基本问题。在资源耗尽攻击中,恶意节点能够向邻居节点泛洪消息,进而达到消耗相遇节点的能量的目的。相反,自私节点因不转发数据包,就降低了能量消耗。

为此,DTM-DF算法将能量作为一个因子,评估节点的行为。引用能量预测模型评估节点的可靠性。Rodrigues等[9]分析了DTNs的能量消耗模型。DTM-DF算法也引用该能耗模型。

节点的剩余能量ER等于初始能量EI减去消耗的能量EC,即ER=EI-EC。其中EC:

EC=Es+Et+Er

(7)

其中Es、Et、Er分别表示扫描(监听)、传输和接收数据所消耗的能量。通过归一化处理,使EC满足:EC∈[0,1]。

最终,能量信任值TE可表示为:

TE=1-EC

(8)

值得注意的是,TE必须大于能量阈值。此外,DTM-DF算法引用惩罚因子。如果Et/Er小于0.6,则就给TE引入惩罚的权重因子[10]。当Et/Er小于0.6,意味着节点每接收10个数据包,最多只转发6个数据,节点表现出不转发数据的行为。这也折射出节点的自私行为。

(9)

1.2 推荐信任

稀疏连接是DTNs的重要特性。由于缺乏端到端的连接,DTNs采用存储-转发消息的方式。一条消息通过中间节点转发,直到它达到目的节点。在这种情况下,节点能够通过邻居节点获取推荐信任,进而评估相遇节点的信任值。

1.2.1间接信任

假定节点a和c有过历史接触,即节点a具有ERac。而节点a没有与节点b接触过,但是节点c与节点b有过接触,如图1所示。

图1 直接和间接信任

(10)

其中αcb、βcb表示来自ERac的积极、消除事件。而Eac是从ERcb计算的。然而,来自邻居节点的推荐信任可能形成共谋攻击,为此,引用推荐信誉值。

1.2.2推荐信誉值

引用推荐信誉值的目的在于消除错误推荐。通过评估节点和被评估节点的共同邻居[11],计算推荐信誉值,如图2所示。

图2 推荐信任示意图

节点a和b有共同邻居节点c1,c2,…,cn。对推荐进行滤除,再获取节点b的推荐信任值:

(11)

(12)

1.3 节点信任值及更新

(13)

由于DTNs内连接频繁中断,需周期地更新节点的信任值。然而,若更新太过频繁,就导致过高的能量消耗。而信任记录窗口太长,也容易形成共谋攻击 。引用信任记录窗口更新总体的信任值。信任记录窗口由多个时隙组成。

在时隙i节点a评估节点b的信任值表示为Tab(i),其中i=1,…,ts代表时隙。依据式(14),在下一个信任记录窗口更新信任值:

Tab(i+1)new=Tab(i)ωab(i)+Tab(i+1)ωab(i+1)

(14)

其中ωab(i)+ωab(i+1)=1。ωab(i)、ωab(i+1)分别代表之前和当前的信任值的权重因子。

1.4 数据转发策略

提出DTM-DF算法的目的就是在紧急通信网络,确认消息有效地传输至目的节点。假定节点a、b相遇,且节点a需向目的节点d传输消息。

首先,节点a先获取邻居节点的信任值,并计算邻居节点b的信任值。然后,从邻居节点中选择信任值最高的节点作为转发节点。

2 性能分析

2.1 仿真场景

为了更好地分析DTM-DF算法性能,选择机会网络环境(Opportunistic Network Environment, ONE)仿真软件[12]。引用灾后模型(Post-Disaster Model, PDM)[3]。仿真场景:5个邻居节点、4个中心、10个救援-疏散营、100个救援工作人员、10辆供给车、10辆紧急车辆、10艘公安巡逻艇,仿真时间48 h。

此外,仿真场景大小为4500 m×3400 m。在场景中,行人移动速度在0.5~1.5 km/h范围内;车辆移动速度在2.7~13.9 km/h范围内。场景内有100位行人,50辆车。每10 min产生一条消息。消息尺寸在50KB~5MB范围内。

选择RBTM[6]、CWS[13]和SPRAY[14]作为参照,并对比分析它们的性能。RBTM算法采用贝叶斯滤波摒除不真实的推荐值;CWS算法采用信誉模型,并依据转发行为对节点分类。

2.2 数据包传递率

首先分析数据包传递率随恶意节点百分比的变化情况,其中数据包传递率等于已成功传输的消息数与总的消息数之比。

从图3可知,数据包传递率随恶意节点百分比的增加而降低。原因在于:恶意节点丢弃数据包。恶意节点百分比越高,丢弃的数据包数越多。相比于DTM-DF和CWS,SPRAY和RBTM随恶意节点数的增加而下降得更快。SPRAY算法未能采用机制弃除恶意节点,而RBTM算法通过Beta分布和自信因子估计直接和间接信任,但RBTM算法是针对MANETs设计的。相比于CWS和DTM-DF算法,RBTM算法的数据包传递率随恶意节点的增加而下降得更快。

图3 数据包传递率

相比于CWS,DTM-DF算法具有高的数据包传递率。即使在50%的恶意节点环境下,DTM-DF算法仍具有好的数据包传递率。DTM-DF算法通过推荐信任检测恶意节点,并利用推荐信誉对推荐信任进行评估。而RBTM和CWS只通过转发证据检测恶意节点。

2.3 开销

开销反映了传输消息成本。从图4可知,开销随恶意节点数的增加而下降,原因在于:恶意节点数越多,丢失的消息数越多。而开销率是依据已成功传输至目的节点的消息数进行计算。相比于DTM-DF算法,RBTM和CWS算法具有高的开销。例如,在40%恶意节点环境下, DTM-DF算法的开销为300,而RBTM和CWS算法的开销分别达到约375和325。这主要是因为:CWS和RBTM方案并没有解决信任更新。RBTM方案花费了太多时间计算信任值。

图4 开销

2.4 时延

时延定义为:一条消息从源节点传输至目的节点的平均时间。图5显示了各算法的时延。

图5 时延

从图5可知,时延随恶意节点的增加而下降。原因在于:网络内恶意节点越多,将消息传输至目的节点的时间越长。然而,需长时延传输的消息很可能被丢弃。而这些被丢弃的消息并不在计算消息时延的范围内。相比于CWS算法和RBTM算法,DTM-DF算法的时延得到有效控制。DTM-DF算法的时延低于500 ms,而CWS算法的时延高于2500 ms。RBTM算法的时延高于2750 ms。DTM-DF的时延来自于重传和消息队列。

3 结 语

信任模型是消除路由不正当行为的重要手段。多数恶意节点是通过丢弃数据,表现出路由的不正当行为。而有效的检测机制能够消除路由的不正当行为。为此,本文提出基于分布式信任管理的数据转发算法DTM-DF。DTM-DF算法结合节点的转发行为以及它们的能量消耗信息,计算直接信任。同时,通过邻居推荐的信息计算 推荐信任。推荐信任结合了间接信任、推荐信誉。

仿真结果表明,DTM-DF算法能够有效消除路由不正当行。后期,将利用DTN网关减少在计算直接和间接信任阶段的能量消耗,这将是后期的研究工作的方向。

猜你喜欢
能量消耗数据包路由
太极拳连续“云手”运动强度及其能量消耗探究
中年女性间歇习练太极拳的强度、能量消耗与间歇恢复探究分析
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
没别的可吃
铁路数据网路由汇聚引发的路由迭代问题研究
多点双向路由重发布潜在问题研究
一种基于虚拟分扇的簇间多跳路由算法
路由重分发时需要考虑的问题
C#串口高效可靠的接收方案设计