作者简介:刘衍珩(1958-),男,教授,博士生导师.研究方向:无线传感网与物联网.E-mail:yhliu@jlu.edu.cn
针对BitTorrent网络中free-riding行为导致文件分享速率降低、上行带宽浪费的问题,提出一种基于声望值的信任管理模型。模型使用“上传信任值”与“评价可信值”两种评价标准迭代计算的方式对节点在网络中的表现予以评价,结合节点的下载行为和上传行为,避免节点针对单一评价标准做出相应欺骗行为,通过多个指标识别不诚实节点,降低free-riding节点获得资源的机会。PeerSim仿真实验结果表明:该模型可以有效屏蔽free-riding行为,提高BitTorrent网络的文件分享速率,对女巫攻击和勾结攻击具有较好的屏蔽效果。
To solve the problem of file-sharing rate reduction and waste of upstream bandwidth caused by free-riding behavior in BitTorrent (BT) network, a new model of reputation-based trust management is proposed. This model iterated "Upload Trust" and "Evaluation Trust" to estimate the performance of each code, which combined the behaviors of upload and download together. It avoids the nodes cheating in one estimate standard and uses more parameters to identify dishonest nodes. So the nodes with free-riding behavior have an only a poor chance to get the resource. Through experiments over PeerSim, the results show that this model can effectively prevent the free-riding behavior and improve the file-sharing rate in BT network. It also has positive effect on dealing with Sybil attack and Collusion attack.
BitTorrent(BT)作为一种文件分发协议, 解决了在传统FTP、HTTP协议中占用过多服务器带宽资源、下载者上行带宽资源却几乎全部浪费的问题, 使同一资源的下载者之间可以进行文件共享, 极大地缓解了服务器的压力。BT网络中每一个节点都扮演两个角色:服务端、客户端[1]。BT下载与传统的Client-Server结构相比, 具有以下几个优势:自扩展性、可靠性、公平性以及成本低、效率高的特性[2]。随着BT网络的发展, 越来越多的人在使用BT网络下载资源时限制上传带宽, 不愿上传资源, 这种行为就叫做free-riding行为。该行为占用其他节点的上传带宽, 自己不提供或提供极少的上传带宽[3]。同时, 还有各种有害节点利用BT协议的这一缺陷, 对BT网络进行攻击[4, 5]。激励机制作为BT网络中的重要组成部分, 可以在一定程度上鼓励用户上传资源。但研究证明[6, 7, 8], 基本的BT协议不足以抵制free-riding行为。实现激励机制还可以采用信任管理的方式, 激励机制下表现越好的节点拥有越高的信任度。在一定时间内, 对节点i进行资源上传越多的节点, i就越信任该节点。该信任仅仅表达了节点i对其的看法, 不能正确体现该节点在BT网络中的表现情况, 文献[9]提出局部信任值和全局信任值的概念。
针对free-riding行为, Ge等[10]提出通过给予每个新加入的节点足够的启动时间, 关闭optimistic unchoke机制。缺点是当非新节点更新邻居列表后, 由于没有启动时间, 与新邻居之间发生死锁。Manoharan[11]提出“ 缺点策略” :资源上传节点期待资源接受节点以一定的速率回馈资源, 如果接受者没有回馈足够的资源, 上传节点将永远拒绝向其发送数据, 这就存在如果某一节点在一段时间内出现网络不稳定的情况, 即使之后网络通畅, 仍不能从已经将其屏蔽了的节点处获得资源的问题。陈绵书等[12]提出了改进的基于推荐证据的P2P网络信任模型, 基于概率Gossip算法的证据搜索策略可以以较小的搜索成本获得推荐证据。Bhakuni等[13]提出一种快速检测具有free-riding行为节点的方法:如果节点在下载一定数据量α 之后仍没有任何数据上传, 则被认为是有害节点, 不足之处在于如果该节点以极小速率上传资源, 则不会被识别, 且不足以鼓励节点分享资源。
本文采用经过迭代计算的声望值来表示某节点的全局信任值, 对节点行为进行评价, 鼓励节点主动上传资源。
如果将BT网络中的资源传输行为看作是一种交易, 那么现有的信任管理机制多是根据节点历史交易行为对节点信任值进行评估的, 而对交易行为进行统计和计算则成为信任机制中获得节点信任值的主要方式。这些模型普遍过度依赖节点评价的真实性。但是存在这样一种不诚实的有害节点i, 它像正常节点一样, 为所有节点提供上传服务, 但是在从特定free-riding节点处获得极少的资源后, 对其给出过高的、不真实的信任评价, 使得这些free-riding节点的信任值虚高, 不易被其他节点识别出来, 影响BT网络的效率和稳定性。所以, 关注节点与哪些节点进行了交易行为以及这些节点的信任值有多高是十分必要的。例如, 一个节点经常从信任值较低的节点处下载资源, 并给出较高的评价, 有理由相信该节点很有可能是不诚实节点。该方法可以暴露那些隐藏着的、不诚实的有害节点, 如果不想使这些隐藏节点暴露, free-riding节点必须做出有效上传, 保证拥有一个可靠的信任值。
该方法的重要意义在于将free-riding节点和不诚实节点关联在一起, 如果其中一部分没有正常进行资源上传或提供真实评价, 则会使其他非正常节点暴露, 从而达到将其与正常节点区分开的目的。
此外, 即使节点做出同样的资源上传, 获得的信任评价也不应完全相同。当为一个声望值较高的节点做出同样流量的资源上传时, 与为其他节点上传相比, 认为该节点的这次上传更有利于BT网络资源的分享, 这是现有其他模型对交易量进行计算时所忽略的地方。
在BT网络中, 当节点经过一定数量的交易后, 可以用带权有向图G=(V, E, W)来表示节点间的信任关系。其中, V表示当前网络中的所有节点; E={(i, j)|对于V中的任意两个不同节点i和j, i和j有过交易行为}, 表示节点间存在信任关系; W={w|w=Rij}, 表示节点i对j的信任值。显然, Rij的计算直接影响该模型的质量。
每当节点i从节点j下载一个piece, 则认为i和j产生了一次交易行为。如果i的下载是成功的并且获得了需要的piece, 那么这次交易就是成功的, 否则就是失败的。如果把所有成功和失败的交易次数分别加在一起, 记作s(i, j)和f(i, j), 可以得到i对j的直接信任值d(i, j)=s(i, j)-f(i, j)。通过统计直接信任值可以得出节点j对于节点i的信任值比重b(i, j):
令Rij=b(i, j)或Rij=d(i, j), 该方法可以对部分free-riding节点起到屏蔽作用, 但仅体现了节点i对节点j的“ 个人” 看法, 不能体现节点j在整个网络中的关键程度(本文认为能够提高整个BT网络下载速率的节点为关键节点), 对不诚实节点的欺骗行为很难做到较好的屏蔽。
如图1所示, 设节点1、2、3、4、7为正常节点, 节点6为隐藏的不诚实节点, 即与正常节点一样下载和上传资源, 节点5、8、9为free-riding节点, 在这里只为节点6上传少量资源换取虚高的评价, 不为整个网络服务。节点5、8、9可以通过optimistic unchoke机制从正常节点处获得资源, 然后发送给节点6, 再从节点6那里获得虚假的信任评价, 继续从正常节点处下载资源。这显然不利于BT网络的公平性, 不能保证资源以最快速度在网络中传播。
节点的交易行为并不局限于为其他节点进行资源上传以得到相应的信任值, 同时还下载其所需的资源并对其他节点做出信任评价。所以, 在关注节点资源上传的同时, 也需要关注该节点从哪些节点处获得资源下载, 这关系到该节点给出的评价是否可信。为了防止出现图1中free-riding节点与不诚实节点通过发送极少的资源来实现合伙欺骗的情况, 本文将信任值比重b(i, j)加入到信任管理模型当中。
模型采用Ts(i)和Tf(i)分别代表节点i的“ 上传信任值” 以及“ 评价信任值” 。对Ts(i)和Tf(i)递归定义如下:
由定义可以看出, 当j的评价信任值Tf(j)越高且j从i下载的资源占其总下载量的比例b(j, i)越高时, Ts(i)的值越高, 从而说明i提供相同的资源时, 评价可信度高的节点可以更多地影响Ts(i); 当j的上传信任值Ts(j)越高且i从j下载的资源占其总下载量的比例b(i, j)越高时, Tf(i)就越高, 从而说明节点i与重要节点的交易行为更为密切, 其评价可信度更高。Ts(j)和Tf(j)的值随着时间在不断地变化, 逐步趋于稳定。
为了模型稳定, 本文在Ts(i)和Tf(i)每次迭代运算之前对Ts(i)和Tf(i)进行标准化处理, 保证其收敛性, 必要的初始化操作使刚加入网络的新节点能够更公平地与其他节点竞争资源。算法伪代码如下所示:
1. for i from 1 to n do
2. initialize(Tf(i))
3. initialize(Ts(i))
4. initialize(Rij)
5. end for
6. while(BT running correctly) do
7. for i from 1 to n do
8. for j from 1 to n do
9. Ts(i) = b(j, i)* Tf(j)
10.end for
11.end for
12.normalize(Ts(i))
13.for i from 1 to n do
14.for j from 1 to n do
15.Tf(i) = b(i, j)* Ts(j)
16.end for
17.end for
18.normalize(Tf(i))
19.Rij=α * b(i, j)+(1-α )* Ts(i)
20.end while
在屏蔽free-riding节点的同时, 还必须鼓励正常节点更多地上传自己拥有的资源, 利用Rij=α b(i, j)+(1-α )Ts(i)的值作为在tit-for-tat中对节点排序的依据(这里, 节点i为资源请求者), 替代原算法中使用类似b(i, j)等简单依据, 其中α 为属于(0, 1)的常量。在现有模型中, 如果仅使用类似b(i, j)的值作为排序依据, 则没有考虑到节点i对整体网络中的贡献度。本文加入Ts(i)变量, 将节点i对整个网络的贡献值纳入考虑范围, 同时兼顾了节点i对当前节点的“ 个人” 看法。如果节点的“ 上传信任值” 或“ 评价信任值” 有一个过低, 则该节点为free-riding节点或不诚实节点的可能性大大增加, 所以应在执行optimistic unchoke机制时, 将这些节点排除在外, 使其没有继续获得资源、占用带宽的资格。
该模型能够有效使有害节点和正常节点分离, 逐步形成分级。由于分级边界的模糊性, 使那些因与上传信任值较低的节点有过交易而被误认为是不诚实节点的节点, 或因从不诚实节点处获得较高评价而被误认为是free-riding节点的正常节点在离开这些有害节点后, 可以继续获得下载资源的机会。
针对上述提出的模型, 本文基于PeerSim模拟器对该模型进行仿真模拟。仿真环境参数设置如表1所示。
在实验中, 设置有500个初始节点, 对一个500 MB文件进行分享, 模拟现实中2个小时的下载, 在分别拥有20%、40%以及60%的free-riding节点情况下, 对是否使用该模型进行对比, 结果如图2所示。
从图2中不难发现, 对于free-riding节点比例越低的情况, 使用该模型对下载速率的提高越大。因为该模型能够将有害节点与正常节点隔离, 当free-riding节点比例过高时, 网络中可上传带宽减小, 即使将正常节点与有害节点隔离, 由于正常节点数量过少, 有害节点不断占用与正常节点的连接, 导致文件分享效率提高不大。3种情况下平均用时分别减少17%、15%和2%。
如图3所示, 使用本模型后, free-riding节点的下载完成比例明显降低, 其中在拥有20%free-riding节点的情况下, 有害节点的屏蔽效果不明显是由于正常节点下载完成后将空闲的上传带宽分配给了free-riding节点。而图2中使用本模型处理拥有20% free-riding节点的情况下, 在5500 s左右时正常节点基本全部完成下载, 有足够的剩余带宽为free-riding节点提供资源, 使图3中free-riding节点的完成比例上升。实验证明, 该模型能够有效防止在正常节点没有完成下载时free-riding节点占用正常节点的下载带宽, 提高文件分享速率。
如图4所示, 在拥有20%free-riding节点的情况下, 当不存在不诚实节点时, 仅拥有上传信任值的模型可以大幅提高文件分享的速率; 当存在不诚实节点时, 仅拥有上传信任值的模型对文件分享速率的提高十分有限, 但本文提出的模型受不诚实节点的影响较小, 可以屏蔽掉不诚实节点对BT网络的影响。
经实验模拟分析可知, 该模型对女巫攻击、勾结攻击以及部分欺骗攻击同样具有一定的屏蔽效果。在保证500个正常节点的同时, 分别加入上述3种有害节点, 使用该模型后, 分别可以减少7%、12%以及5%的性能降低。
本文提出的模型能够在一定范围内有效提高BT网络中的文件分享速度, 减少节点的平均下载时间。在鼓励用户主动上传数据的同时, 有效屏蔽free-riding行为在内的多种针对BT网络的攻击, 提升BT网络的稳定性。但当有害节点数量明显多于正常节点时, 该模型虽然对BT网络性能提升不大, 但对有害节点仍具有一定的屏蔽效果。
下一步研究工作将以本文成果为基础, 提升有害节点多于正常节点情况下的系统性能, 并实现对包括Lying-piece攻击、Chatty-peer攻击以及内容污染攻击在内的多种现有针对BT网络的攻击进行屏蔽, 进一步提高BT网络的稳定性与可用性, 为用户提供一个更好、更公平的资源分享平台。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|