严 志,万烂军,蒋国清
(1.长沙民政职业技术学院,湖南 长沙 410004;2. 湖南工业大学,湖南 长沙 410005)
由于能处理无线网络内间歇性连接和长时延问题,时延容忍网络(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算法能够提高数据包传递率,并降低了传输时延。
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直接信任
利用两节点(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)
稀疏连接是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)
(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)分别代表之前和当前的信任值的权重因子。
提出DTM-DF算法的目的就是在紧急通信网络,确认消息有效地传输至目的节点。假定节点a、b相遇,且节点a需向目的节点d传输消息。
首先,节点a先获取邻居节点的信任值,并计算邻居节点b的信任值。然后,从邻居节点中选择信任值最高的节点作为转发节点。
为了更好地分析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算法采用信誉模型,并依据转发行为对节点分类。
首先分析数据包传递率随恶意节点百分比的变化情况,其中数据包传递率等于已成功传输的消息数与总的消息数之比。
从图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只通过转发证据检测恶意节点。
开销反映了传输消息成本。从图4可知,开销随恶意节点数的增加而下降,原因在于:恶意节点数越多,丢失的消息数越多。而开销率是依据已成功传输至目的节点的消息数进行计算。相比于DTM-DF算法,RBTM和CWS算法具有高的开销。例如,在40%恶意节点环境下, DTM-DF算法的开销为300,而RBTM和CWS算法的开销分别达到约375和325。这主要是因为:CWS和RBTM方案并没有解决信任更新。RBTM方案花费了太多时间计算信任值。
图4 开销
时延定义为:一条消息从源节点传输至目的节点的平均时间。图5显示了各算法的时延。
图5 时延
从图5可知,时延随恶意节点的增加而下降。原因在于:网络内恶意节点越多,将消息传输至目的节点的时间越长。然而,需长时延传输的消息很可能被丢弃。而这些被丢弃的消息并不在计算消息时延的范围内。相比于CWS算法和RBTM算法,DTM-DF算法的时延得到有效控制。DTM-DF算法的时延低于500 ms,而CWS算法的时延高于2500 ms。RBTM算法的时延高于2750 ms。DTM-DF的时延来自于重传和消息队列。
信任模型是消除路由不正当行为的重要手段。多数恶意节点是通过丢弃数据,表现出路由的不正当行为。而有效的检测机制能够消除路由的不正当行为。为此,本文提出基于分布式信任管理的数据转发算法DTM-DF。DTM-DF算法结合节点的转发行为以及它们的能量消耗信息,计算直接信任。同时,通过邻居推荐的信息计算 推荐信任。推荐信任结合了间接信任、推荐信誉。
仿真结果表明,DTM-DF算法能够有效消除路由不正当行。后期,将利用DTN网关减少在计算直接和间接信任阶段的能量消耗,这将是后期的研究工作的方向。