基于Kademlia的P2P网络资源定位模型改进

合集下载

对等网络(P2P)总结整理解析

对等网络(P2P)总结整理解析

对等网络 (P2P一、概述(一定义对等网络 (P2P网络是分布式系统和计算机网络相结合的产物 ,在应用领域和学术界获得了广泛的重视和成功 ,被称为“改变 Internet 的新一代网络技术〞。

对等网络 (P2P:Peer to Peer。

peer指网络结点在 :1 行为上是自由的—任意参加、退出 ,不受其它结点限制 ,匿名 ;2 功能上是平等的—不管实际能力的差异 ;3 连接上是互联的—直接 /间接 ,任两结点可建立逻辑链接,对应物理网上的一条IP 路径。

(二 P2P网络的优势1、充分利用网络带宽P2P不通过效劳器进行信息交换 ,无效劳器瓶颈 ,无单点失效 ,充分利用网络带宽 , 如 BT 下载多个文件 ,可接近实际最大带宽 ,HTTP 及 FTP 很少有这样的效果2、提高网络工作效率结构化 P2P 有严格拓扑结构 ,基于 DHT, 将网络结点、数据对象高效均匀地映射到覆盖网中 ,路由效率高3、开发了每个网络结点的潜力结点资源是指计算能力及存储容量,个人计算机并非永久联网,是临时性的动态结点,称为“网络边缘结点〞。

P2P 使内容“位于中心〞转变为“位于边缘〞,计算模式由“效劳器集中计算〞转变为“分布式协同计算〞。

4、具有高可扩展性 (scalability当网络结点总数增加时 ,可进行可扩展性衡量。

P2P 网络中 ,结点间分摊通信开销 ,无需增加设备 ,路由跳数增量小。

5、良好的容错性主要表达在 :冗余方法、周期性检测、结点自适应状态维护。

二、第一代混合式P2P网络(一主要代表混合式 P2P 网络 ,它是 C/S 和 P2P 两种模式的混合 ;有两个主要代表 :1、Napster—— P2P网络的先驱2、BitTorrent——分片优化的新一代混合式P2P网络(二第一代 P2P网络的特点1、拓扑结构1 混合式 (C/S+P2P2 星型拓扑结构 ,以效劳器为核心2、查询与路由1 用户向效劳器发出查询请求,效劳器返回文件索引2用户根据索引与其它用户进行数据传输3路由跳数为 O(1,即常数跳3、容错性 :取决于效劳器的故障概率(实际网络中 ,由于本钱原因 ,可用性较低。

Kademlia的研究与实现

Kademlia的研究与实现
2 Kademlia 原理
在 Kademlia 网络中,每个节点都是以节点标识符(Node ID)来识别。Kademlia 算法是以两节点间的“距离”为基础。
每个 Kademlia 节点都有 160bit 的节点 ID。每台机器在加 入系统时选择 1 个随机的 160bit 值。节点发送的每条消息包含 它的节点 ID,同时允许接收者记录下发送者的存在信息。Key 也同样是 160bit 的标识符。为了发布和寻找<Key,Value>对, Kademlia 定义了两个标识符之间的距离:给定标识符 x 和 y,它 们之间的距离为标识符之间的位“异或”(XOR)的结果,d(x,y)= x������y。如图 1 所示为一个 4bit 空间中计算右起第八个节点与其他 节点距离的例子。由图 1 可见,在同一个子树上的节点距离近。
从图中可以看出,两种模型第二次之后的查找延迟基本相似, 这是与 DHT 的基本原理相类似。当 P2P 结构进行完第一次查 找之后,后面查找的延迟相对于第一次会大大减少。而第一次 查找延迟,Pastry 模型所耗费的时间大于 Kademlia 模型。从而 显示了 Kademlia 模型的查找优势。
图 4 查找成功率比较
Research and Implementation of Kademlia
XIE Jin1,NI Jin2 (1. Center of Computing and Experimenting, South-Central University for Nationalities, Wuhan 430074, China;
从表 1 和表 2 可以看出,Kademlia 整体性能相对较好。在 上述的算法中,Kademlia 的应用最为普遍,目前主流的 P2P 软

K网络节点标识符重复与别名现象测量

K网络节点标识符重复与别名现象测量

K网络节点标识符重复与别名现象测量刘祥涛;李文法;段洣毅;赵新昱;季统凯【摘要】为方便P2P网络的内容投递,Kademlia协议作为一个鲁棒性强的分布式Hash表协议,被BitTorrent和eMule等P2P文件共享应用部署.在此,将这些被部署的基于Kademlia协议的网络称为K网络.K网络中每个节点拥有唯一的IP地址(或ID)是至关重要的,因为K网络中的“节点查询”和“资源搜索”都依赖于此.然而,据分析发现,K网络中相当一部分节点存在IP重复与ID别名.为深入理解IP重复与ID别名的分布特征,提出了几个度量IP重复与ID别名的测度.基于这些测度和Rainbow 采集器,对K网络中的IP重复与ID别名进行了测量,发现了许多有助于P2P网络挖掘研究的IP重复与ID别名特征.%Kademlia, as a robust distributed Hash table (DHT) protocol, has been deployed by peer-to-peer (P2P) file sharing applications (e. G. BitTorrent and eMule) to facilitate the delivery of content. In this paper, these Kademlia-based networks deployed by BitTorrent and eMule are called K networks. It is essential for each peer in K networks to possess a unique IP address (or ID) , on which both "peer lookup" and "resource searching" rely. However, it is noticed that a significant portion of peers have IP repetition and ID aliasing, through our analysis. In this paper, we propose a couple of metrics to deeply understand the distribution characteristics of IP repetition and ID aliasing. Based on these metrics, we carry out a series of measurement using theP2P crawler named Rainbow. We identify many interesting characteristics of IP repetition and ID aliasing in K networks, which could help promoteP2P-network mining.【期刊名称】《计算机研究与发展》【年(卷),期】2012(049)004【总页数】12页(P679-690)【关键词】对等网络;Kademlia协议;网络测量;IP重复;ID别名【作者】刘祥涛;李文法;段洣毅;赵新昱;季统凯【作者单位】广东电子工业研究院广东东莞523808;中国科学院计算技术研究所北京100190;北京交通大学计算技术研究所北京 100029;中国科学院计算技术研究所北京100190;北京交通大学计算技术研究所北京 100029;广东电子工业研究院广东东莞523808【正文语种】中文【中图分类】TP393.02近年来,P2P文件共享应用已逐步成为因特网上的热门应用和主流的对等网络应用,其中最突出的代表是 BitTorrent[1]和eMule[2].德国知名流量分析公司Ipoque 2008—2009年度的流量分析报告[3]指出:依地域不同,P2P流量已占因特网总流量的43%~70%,其中BitTorrent占所有P2P流量的30%~81%,eMule占2%~47%.值得注意的是,BitTorrent和eMule应用都基于Kademlia协议[4]部署了各自的结构化网络以更快捷地发布资源.本文将BitTorrent和eMule部署的这两个基于Kademlia协议的结构化网络(简称K网络)分别称为BTDHT和KAD.本文的研究内容主要围绕BTDHT和KAD网络展开.2003年,Bhagwan等人[5]首次发现 Overnet网络中的IP别名现象,即一个节点可能具有多个IP地址.此后,P2P网络中的标识符重复与别名现象引起了P2P领域中大量研究者的兴趣,例如,2009年,Yu等人[6]观察到KAD中存在ID重复,即多个节点可能具有相同的KAD ID.标识符重复与别名是P2P网络中的不正常现象.给定标识符关系集合S={(id1,id2,…,idn)},idi 重复指idi 与(id1,id2,…,idi-1,idi+1,…,idn)(i=1,2,…,n)之间的一对多关系.反之,idi 别名指idi 与(id1,id2,…,idi-1,idi+1,…,idn)之间的多对一关系.例如,在BTDHT或 KAD 网络中,令S={(IP,ID,UDP port)},IP 重复指IP 与(ID,UDP port)对之间的一对多现象,ID重复和UDP port重复可被类似定义.反之,IP别名指多个IP地址与单个(ID,UDP port)对应,ID 别名和UDP port别名可被类似定义.在K网络中,节点查询和资源搜索都有一个重要的基石:每个节点应拥有独立的IP(或ID),即节点与IP(或ID)应是一一对应的.然而,本文观察到BTDHT 和KAD网络中存在较为严重的IP重复与ID 别名.例如,本文实验观察到BTDHT网络中,48.8%的节点有IP重复,1.2%的节点有ID别名;KAD网络中,26.2%的节点有IP 重复,10.9%的节点有ID别名.严重的IP重复与ID 别名会恶化K网络中的功能和性能,可能导致P2P网络的节点查询和资源搜索功能受损和性能下降.为了解决K网络中的标识符与别名现象的严重程度,并进一步确定最佳节点标识,促使本文进行标识符重复与别名现象的测量.1 相关工作多年来,网络测量一直深受许多研究者的关注[7-9].值得注意的是,K网络中的标识符重复与别名现象逐渐引起了一些研究者[5-6,10-11]的兴趣.Bhagwan等人5在测量Overnet的节点可用性时发现了IP别名现象.同时他们指出:IP别名可能导致低估节点可用性.2005年,Kutzner和Fuhrmann[10]也发现了Overnet中的IP别名现象.2009年,Steiner等人[11]发现KAD网络中也存在IP别名.同时他们建议在进行节点震荡测量时,为确保测量的准确率,使用ID而不是IP作为KAD中更好的节点标识符.2009年,Yu等人[6]对KAD中的ID重复进行了测量.他们观察到19.5%的节点(包括在线节点和离线节点)和4.5%的在线节点具有ID重复.由于Overnet已经停止使用,本文主要针对另外两个被使用广泛的K网络:BTDHT和KAD进行IP重复与ID别名测量.考虑到传统测量中没有对这一问题进行定量测量,本文提出了IP重复与ID别名测量的定量测度:IP重复度(degree of IP repetition,DIR)、ID别名度(degree of ID aliasing,DIDA)、UDP 端口别名度(degree of UDP port aliasing,DUPA)、IP 重复纯度(the purity of IP repetition,PIR),以方便对包括K网络在内的P2P网络的标识符重复与别名现象进行定量测量.目前流行的P2P网络测量的方式是主动测量,即开发P2P采集器,模拟一个正常节点加入P2P网络,对网络中的节点进行主动发包探测分析.当前典型的P2P采集器有测量KAD网络的Cruiser[12]和Blizzard[11];文献[13]设计的测量 BTDHT 网络的采集器;测量 Gnutella网络的 D-crawler[14]等.然而,因为当前P2P采集器没有公开可用的代码,以及现有P2P采集器不能满足我们的测量需求,促使我们设计实现了针对K网络的多功能采集器:Rainbow [15].本文利用 Rainbow 采集器,基于提出的定量测度,对真实K网络中的IP重复与ID别名进行了深入的定量测量分析.2 测度在K网络中,节点通常被三元组(IP,ID,UDP port)所标识.给定一个节点集合{(IP,ID,UDP port)},IPRT(IP)表示给定IP 的重复次数.注意到当IPRT(IP)≥2时,该IP将对应多个(ID,UDP port)对.对IPRT(IP)≥2的某IP,令IDAT(IP)表示对应该IP的ID 数量;类似地,令UPAT(IP)表示对应该IP的UDP port数量.例如,给定对应IP=(202.132.12.15)的节点集合:{(202.132.12.15,124,2356),(202.132.12.15,156,4078),(202.132.12.15,156,6798)}.我们有IPRT(IP)=3,IDAT(IP)=2和UPAT(IP)=3.由IPRT,IDAT 和UPAT 的定义可见,0≤IDAT,UPAT≤IPRT,从而易获得IPRT,IDAT和UPAT之间的相互关系如下:IP重复可能由ID别名和UDP port别名引起,通常情况下,我们有IPRT>>IDAT 和IPRT>>UPAT.然而,一个快照(即一次采集所收集的节点集合)中所有IP可能会满足如下关系:注意到这两种情形下的IP重复是由单因素造成的,即情形1的IP重复由ID 别名引起;情形2的IP重复由UDP port别名引起.在此,这两种情形的IP重复被称为“纯IP重复”.此外,将其他情形下的IP重复称为“正常IP重复”.定义1.IP重复度(DIR).式(2)中,s表示一个采集快照;m(m∈NN+)可视为松弛因子(m越大,施加在DIR上的限制越严格);nall(s)表示s中所有节点的数量,即s中三元组:(IP,ID,UDP port)的数量,nIP-rep(s,k)表示s中满足IPRT(IP)=k的节点数量.定义2.ID别名度(DIDA).式(3)中,nID-ali(s,k)表示快照s中满足IDAT(IP)=k的ID 数目.式(4)中,nUP-ali(s,k)表示快照s中满足UPAT(IP)=k的UDP port数目.例如,给定一个收集了7个节点的采集快照S={(202.132.12.15,124,2356),(202.132.12.15,156,4078),(202.132.12.15,156,6798),(202.132.12.16,124,2356),(202.132.12.16,156,4078),(202.132.12.16,156,6798),(202.132.12.17,188,7777)}.可得nall=7,nIP-rep(S,1)=1,nIP-rep(S,2)=0,定义3.UDP port别名度(DUPA).nIP-rep(S,3)=6,当k≥4时,nIP-rep(S,k)=0.据 DIR定义有DIR(S,1)=7/7=1,DIR(S,2)=DIR (S,3)=6/7,当m≥4时,DIR(S,m)=0.注意到有2个ID:124和156与IP:(202.132.12.15)相对应,同时有2个ID:124和156与IP:(202.132.12.16)相对应,1个ID:188与IP:(202.132.12.17)相对应.从而,我们有nID-ali(S,1)=1,nID-ali (S,2)=4,当k≥3时,nID-ali(S,k)=0.据DIDA定义有DIDA(S,1)=5/7,DIDA(S,2)=4/7,当m≥3时,DIDA(S,m)=0.与上类似,我们有nUP-ali(S,1)=1,nUP-ali(S,2)=0,nUP-ali(S,3)=6,当k≥4 时,nUP-ali(S,k)=0.据DUPA 定义有DUPA(S,1)=7/7,DUPA(S,2)=DUPA(S,3)=6/7,当m≥4时,DUPA(S,m)=0.由式(2)至式(4),易知IPRT,IDAT 和UPAT满足如下关系:1)当m∈NN+时,0≤DIDA,DUPA≤DIR≤1;2)通常情形下,我们有DIR(s,1)=1,DIDA(s,1)≤1和DUPA(s,1)≤1.特别地,当对快照s中所有IP,均满足IDAT(IP)=1(或UPAT(IP)=1)时,我们有DUPA(s,1)=1(或DIDA(s,1)=1).上面已经指出可能存在两种IP重复:“纯IP重复”和“正常IP重复”.在此,我们提出如下测度用于度量IP重复的纯度.定义4.IP 重复纯度(PIR1,PIR2).由定义可见,当m∈NN+时,0≤PIR1,PIR2≤1.此外,PIR1和PIR2可用于分析IP重复的主要原因,如表1所示.例如,对应PIR1→0+,PIR2→1-和PIR1→1-,PIR2→0+情形的IP重复都是“纯IP重复”.Table 1 The Main Causes of IP Repetition Corresponding to Various(PIR1,PIR2)Values表1 IP重复的各种(PIR1,PIR2)取值情形PIR1,PIR2 Main Cause of IPRepetition PIR1→0+,PIR2→0+Generally Impossibl e PIR1→0+,PIR2→1- UDPport aliasing(pure IPrepetition)PIR1→1-,PIR2→0+IDaliasing(pure IPrepetition)Other values Normal IPrepetition3 IP重复与ID别名测量本节基于P2P网络中IP重复与ID别名的测度:DIR,DIDA,DUPA,PIR1,PIR2,利用Rainbow采集器,对BTDHT/KAD网络中的IP重复与ID别名进行深入测量分析.3.1 实验配置实验基于Rainbow采集器进行,使用两种采集方式:完全采集(采集整个P2P网络的节点信息[11])和区域采集(只采集P2P网络前k位相同的节点空间的节点信息[11-12])和4台服务器来获得实验数据.服务器的配置如下:2.21GHz双核处理器/8GB内存/10Mbps网络.采集到的节点信息用(IP,ID,UDP port)标识.考虑到完全采集耗时过长的特点,实验数据集更多使用区域采集来获得,即完全采集和区域采集的频次分别为3次/天和144次/天.实验数据集在20d(9/16/2009~10/5/2009)的时间内获得(如表2所示),总共获得了24个完全采集快照和2880个区域采集快照.为方便数据集的分析,从快照总体中抽取了同一天(9/30/2009)收集到的4个快照作为分析样本集(如表3所示).Table 2 The Trace Data of IP Repetition and ID Aliasing表2 IP重复与ID别名的实验数据集Crawl Mode Date Total Snapshots Remark Zone Crawl 9/16/2009~10/5/2009 2880011001.Full Crawl 9/28/2009~10/4/2009 21 Crawl 3times a da Crawl a time every 10min.Zone of BTDHT is 8bzone:01111111;Zone of KAD is 6bzone:yTable 3 Four Representative Snapshots for Analyzing the IP Repetition and ID Aliasing表3 IP重复与ID别名分析样本集Snapshot Name Network Crawl Mode Taking Time(GMT)S1S2 BTDHT zone crawl 9/30/200913:57:00 full crawl 9/30/200913:58:21 S3S4 KAD zone crawl 9/30/200912:02:31 full crawl 9/30/200910:12:353.2 IPRT分布本节从两个方面来分析IPRT的分布:其一为rank-IPRT关系,在此,rank表示IPRT的排序,例如,给定IPRT 集{50,100,4,10,1},则对应的(IPRT,rank)集为{(50,2),(100,1),(4,4),(10,3),(1,5)}.测量发现IPRT 值随rank的增大而急剧减少;其二为CCDF-IPRT 关系,CCDF表示IPRT 的互补累积分布函数(complementary cumulative distribution function),即CCDF(x)=P(IPRT>x).测量发现CCDF亦随IPRT 的增大而急剧减少.进一步,为决定rank-IPRT 关系与IPRT-CCDF关系的分布模型,对此二关系基于快照S1,S2,S3,S4(见表3)进行了曲线拟合,在此,使用经典的拟合函数:幂律分布函数f(x)=a×xb+c和双指数分布函数f(x)=a×eb×x+c×ed×x进行拟合.拟合过程中,使用误差平方和SSE(the sum of squares error)和决定系数 R2(the coefficient of determination)①作为最佳拟合函数的测度.由rank-IPRT 曲线拟合结果可见(如图1所示),除快照S1外,BTDHT和KAD的rank-IPRT关系都符合幂律分布.表明K网络中只有少部分IP具有高的IPRT值,大部分节点都是IPRT=1的正常节点.例如,BTDHT网络完全采集快照S2中,只有2.5%IP的IPRT>50,而47.52%的节点为IPRT=1的正常节点;类似地,KAD网络完全采集快照S4中,只有4.03%IP的IPRT>50,而69.27%的节点为IPRT=1的正常节点.另一方面,由IPRT-CCDF曲线拟合结果(如图2所示)可见,除快照S2外,BTDHT和KAD的IPRT-CCDF关系都符合双指数分布.因IPRT-CCDF 关系反映了IPRT分布的更详细情形,双指数分布说明快照中大部分IP具有较低的IPRT值.,y=f(x),i=1,2,…,n表示观察值,y-表示所有观察值的平均值.i i3.3 DIR,DIDA 曲线样本快照s=Si(i=1,2,3,4)的DIR(s,m)曲线如图3所示.由图易见,DIR(s,1)=1.此外,BTDHT中(如图3(a)(b)所示),DIR 随m 的增大而快速递减为0;而 KAD中(如图3(c)(d)所示),DIR随m的变化较为平缓.上述事实意味着KAD较BTDHT有更多节点具有高IPRT值.例如,虽然BTDHT较KAD中节点更多,但BTDHT采集快照S1和S2中最大的IPRT值仅分别为132和5560;而KAD采集快照S3和S4中最大的IPRT值分别为753和18188.类似地,样本快照s=Si(i=1,2,3,4)的DIDA(s,m)曲线如图4所示.由图4(a)(b)可见,BTDHT中,DIDA亦随m 的增大而快速递减为0;由图4(c)(d)可见,KAD中,DIDA随m 的变化亦较为平缓.上述事实类似意味着KAD较BTDHT有更多节点具有高IDAT值.例如,虽然BTDHT较KAD中节点更多,但BTDHT采集快照S1和S2中最大的IDAT值仅分别为92和5560;而KAD采集快照S3和S4中最大的IDAT值类似分别为753和18188.这说明KAD中的ID别名节点较BTDHT习惯使用更多ID.我们进一步观察到区域采集快照和完全采集快照的DIR(s,m)值存在较大差异.例如,我们观察到对应BTDHT 区域采集快照S1,有 DIR(S1,2)=0.5248,DIR(S1,3)=0.4864,DIR(S1,4)=0.4671,DIR(S1,5)=0.4491,DIR(S1,10)=0.3739,DIR(S1,20)=0.2193,DIR(S1,50)=0.0254;而对应BTDHT完全采集快照S2,有DIR(S2,2)=0.3950,DIR(S2,3)=0.2813,DIR(S2,4)=0.2452,DIR(S2,5)=0.2216,DIR(S2,10)=0.1453,DIR(S2,20)=0.0757,DIR(S2,50)=0.0280.同时,对应KAD区域采集快照S3,有 DIR(S3,2)=0.1967,DIR(S3,3)=0.1419,DIR(S3,4)=0.1199,DIR(S3,5)=0.1057,DIR(S3,10)=0.0800,DIR(S3,20)=0.0683,DIR(S3,50)=0.0548;而对应 KAD完全采集快照S4,有 DIR(S4,2)=0.3073,DIR(S4,3)=0.1558,DIR(S4,4)=0.1211,DIR(S4,5)=0.1042,DIR(S4,10)=0.0720,DIR(S4,20)=0.0529,DIR(S4,50)=0.0404.类似地,我们也观察到区域采集快照和完全采集快照的DIDA(s,m)值存在较大差异.以BTDHT为例,我们观察到对应区域采集快照S1,有:DIDA(S1,2)=0.008995,DIDA(S1,3)=0.005769,DIDA(S1,4)=0.004619,DIDA(S1,5)=0.003718,DIDA(S1,10)=0.002491;而对应完全采集快照S,2有:DIDA(S2,2)=0.142981,DIDA(S2,3)=0.064195,DIDA(S2,4)=0.048803,DIDA(S2,5)=0.042795,DIDA(S2,10)=0.030806.区域采集与完全采集之间的显著差异促使我们在3.4节中对IP-rep节点(即有IP重复的节点)和ID-ali节点(即有ID别名的节点)的Hash分布(即完全采集快照中的IP-rep节点或ID-ali节点在ID空间的分布)进行分析.3.4 Hash分布通常情形下,完全采集较区域采集耗时多很多.例如,在我们的实验中,一次完全采集需耗时2h,而区域采集只耗时10min.值得注意的是,P2P网络中的节点震荡会导致采集数据的不一致性.例如,当前已经离开网络的节点信息也会被本次采集的快照错误地收集且被认为是当前在线的节点等等.所以,P2P领域的许多研究者[11-12]偏向于使用区域采集而不是完全采集数据进行相关测量分析.同时,3.3节观察到的DIR(S1,m)与DIR(S2,m)之间(或DIR(S3,m)与DIR(S4,m)之间)的显著差异也揭示了完全采集数据的不一致性.所以,我们也偏向于使用区域采集数据进行IP重复与ID别名的测量分析.为此,我们需要分析IP-rep节点或ID-ali节点在ID Hash空间的分布情况.Hash分布结果如图5、图6所示.由图5,6可见,BTDHT和KAD中的IP -rep节点或ID-ali节点在Hash空间近似均匀分布,即只有极少数异常区间(例如,KAD完全采集快照S4的6b区间000010有异常的35365(或15780)个IP-rep节点(或ID-ali节点)).上述事实说明在进行IP重复与ID别名测量时,区域采集快照能有更好的测量分析结果.3.5 地理分布3.4节已指出,利用区域采集数据能获得更好的测量分析结果.我们在本小节利用区域采集快照S1和S3分析IP-rep节点的地理分布.DIR(s,m)在不同国家和不同K网络中具有不同的分布(如图7所示).在此,我们使用最新IP-to-Country数据库[16]来确定IP的所属国家.由图7可见IP-rep节点的地理分布具有如下特点:1)BTDHT和KAD中都存在严重的IP重复.例如,取m=2,计算所有区域采集快照(表2中的所有2880个快照)的DIR(s,m)的中位值,得BTDHT中的DIRmedian=0.479,KAD中的DIRmedian=0.262.2)BTDHT中的IP重复较KAD更为严重.例如,由上述DIRmedian值可见,BTDHT中的DIRmedian值约为KAD中相应值的1.83倍.此外,比较图7(a)~(c)与图7(d)~(f),亦明显可见,BTDHT中各个国家中的IP重复较KAD更为严重,具体对快照S1(对应BTDHT)和S3(对应 KAD)而言,当m=2(或m=10,或m=20)时,BTDHT中DIR在所有国家中的平均值较KAD中的相应值大1.67(或14.61,或13.63)倍.类似地,DIDA(s,m)在不同国家和不同K网络中具有不同的分布(如图8所示).由图8可见ID-ali节点的地理分布具有如下特点:BTDHT中存在微量的ID别名,而KAD中存在较为严重的ID别名.例如,取m=2,计算所有区域采集快照的DIR(s,m)的中位值,得BTDHT中的DIDAmedian=0.012,KAD 中的 DIDAmedian=0.109,即KAD中的ID别名较BTDHT强约7.8倍.这一差异可归因于KAD中具有高DIDA值的国家的节点数量较多.例如,图8(d)~(f)中的靠近坐标原点的峰值是KAD中所有125个国家中节点数量排第5的美国,即约有6.1%的节点分布在美国,美国的DIDA 值高达0.812.该原因导致了KAD中的高DIDA值.我们进一步观察到,IP-rep节点在各个国家中的分布是不均匀的,即少数国家拥有大多数IP-rep节点.在此,我们用来度量IP-rep节点在各个国家的分布.表4显示了BTDHT(S1)和 KAD(S3)中具有最高RIP-rep的前5个国家的分布情形.可见BTDHT中,36.8%的IP-rep节点分布在美国、俄罗斯和加拿大;而KAD中,77.2%的IP-rep节点分布在中国、美国和西班牙.Table 4 The Top Five Countries with Highest RIP-repin BTDHT(S1)and KAD (S3)表4 BTDHT(S1)和 KAD(S3)中前5个具有最高RIP-rep的国家Network Country Rank of Peer No. RIP-rep/%BTDHT US 1 23.4 RU 2 7.9 CA 4 5.5 CN 3 4.8 GB 5 4.1 KAD CN 1 34.7 US 5 26.3 ES 2 16.2 IT 3 4.5 FR 4 2.8类似地,我们发现,ID-ali节点在各个国家中的分布也是不均匀的,即少数国家拥有大多数ID-ali节点.在此,我们用来度量ID-ali节点在各个国家的分布.表5显示了BTDHT(S1)和 KAD(S3)中具有最高RID-ali的前5个国家的分布情形.可见BTDHT中,41%的ID-ali节点分布在俄罗斯,乌克兰和中国;而KAD中,95.2%的ID-ali节点分布在美国和中国.Table 5 The Top Five Countries with Highest RID-aliin BTDHT(S1)andKAD (S3)表5 BTDHT(S1)和 KAD(S3)中前5个具有最高RID-ali的国家Network Country Rank of Peer No. RIP-rep/%BTDHT RU 2 18.1 UA 7 13.7 CN 3 9.2 Reserved IPs 79 6.3 US 1 5.1 KAD US 5 73.9 CN 1 21.3 FR 4 1.9 IT 3 0.9 ES 2 0.73.6 IP重复与ID别名变化DIR/DIDA/DUPA在9/16/2009~5/10/2009期间的变化如图9、图10所示.由图9可见:1)在BTDHT和 KAD中,DIR,DIDA 和DUPA的变化呈现“昼大夜小”的模式(diurnal pattern),即在P2P用户数量多时这些测度的测量值偏大,反之偏小.具体而言,在BTDHT中,DIR,DIDA和DUPA于上午2~5点之间(greenwich mean time,GMT)到达峰值,下午6~9点之间到达最低点;类似地,KAD中,DIR,DIDA和DUPA于上午2~4点之间到达峰值,下午2~4点之间到达最低点.2)BTDHT和KAD中的IP重复随m增大,趋向于为“纯IP重复”.具体而言,由表6可见,在BTDHT中,当m增大时,所有区域采集快照的PIR1,PIR2的中位值的变化满足PIR1→0+,PIR2→1-;在 KAD中,PIR1,PIR2的中位值的变化满足PIR1→1-,PIR2→0+.根据“纯IP重复”的定义和表1,BTDHT和KAD的IP重复随m增大,趋向于为“纯IP重复”,同时,由表1可知,BTDHT 中的IP重复主要由UDP port别名引起,而KAD中的IP重复主要由ID别名引起.根据文献[17],P2P网络中的ID别名可能由Sybil攻击① 文献[17]定义Sybil攻击为多个身份的伪造(Sybil attack is the forging of multiple identities).引起,故我们推断KAD中的Sybil攻击可能比BTDHT中的更严重,这可以归因于KAD较BTDHT被更广泛地使用,故更易受到攻击.例如,KAD能被用于发布和搜索关键字、文件和文件源;而BTDHT仅被用于发布和搜索文件源.3)正如3.5节指出一样,BTDHT中的IP重复较KAD更为严重.因为BTDHT中的IP重复主要由UDP port别名引起,故可推断BTDHT中的UDP port别名较KAD显著的多.这一现象可以归因于如下两个原因:①BTDHT中的节点在下载文件时,必须为每一个种子文件(torrent)建立一个新的会话,当文件下载完毕后,这个会话也就会随之而终止,故通常情况下,BTDHT中节点的会话时间(session time)较KAD中的短很多.而当同一节点在新UDP port上建立新的会话而加入BTDHT时,就会发生UDP port别名.②BTDHT中的路由表的刷新频率较KAD的低.例如,rTorrent(对应BTDHT)每间隔15min更新路由表,而eMule(对应KAD)每间隔2min即更新路由表.因此,采集器会采集到BTDHT中更多过时的UDP port信息,从而导致BTDHT中UDP port别名较KAD显著.Table 6 The Median Values of PIRi(s,m)of All Zone Crawl Snapshots for Different mValues表6 所有区域采集快照的PIRi(s,m)在不同m下的中位值m PIR 2 10 20 50 100 PIR1in BTDHT 0.02590.01680.01060 0PIR2in BTDHT 0.99830.99990.99990.99991 PIR1in KAD 0.41630.75130.83290.95111 PIR2in KAD 0.64710.29090.20510.06000.00063.7 “趋于安静”行为通常而言,具有IP重复或ID别名的节点与正常节点的行为存在较大差异.例如,具有IP重复或ID别名的节点经常会试图模拟更多节点(比如为发动Sybil攻击),而需要处理更多的UDP消息,因此,具有IP重复或ID别名的节点会趋向于不响应UDP查询包.文献[6]也指出:KAD中ID重复的节点趋向于不响应UDP包.为验证具有IP重复或ID别名的节点的“趋于安静”行为,本小节基于快照S1和S3,分析了各个国家中节点在线率(POR,Peer Online Ratio,即响应节点相对于所有节点的比率)与DIR(Si,2)(或 DIDA(Si,2),i=1,3)的关系.DIR-POR,DIDA-POR 关系如图11、图12所示,可见POR 与DIR (Si,2)(或 DIDA(Si,2))之间存在负相关关系,对应 POR 与DIR(Si,2)关系,BTDHT和KAD中的负相关系数分别为-0.2172和-0.333;对应POR 与DIDA(Si,2)关系,BTDHT和KAD中的负相关系数分别为-0.1963和-0.2153.总之,负相关关系验证了BTDHT和KAD中具有IP重复或ID别名的节点的“趋于安静”行为.4 结束语本文关注K网络的IP重复与ID别名现象的定量测量研究.首先提出了可应用于P2P网络中定量测量IP重复与ID别名的测度:DIR,DIDA,DUPA,PIR1,PIR2;随后基于提出的测度和Rainbow采集器,对BTDHT和KAD中的IP重复与ID别名现象,从DIR与DIDA曲线、地理分布和DIR与DIDA变化等方面进行了测量,获得如下主要发现:1)BTDHT和 KAD中,rank-IPRT关系主要服从幂律分布;IPRT-CCDF关系主要服从双指数分布;2)BTDHT和KAD中都存在严重的IP重复,且在BTDHT中尤为严重(BTDHT:47.9%,KAD:26.2%);BTDHT中存在微量的ID别名,KAD中存在较为严重的ID别名(BTDHT:1.2%,KAD:10.9%);3)具有IP重复或ID别名的节点在各个国家中非均匀分布;4)DIR,DIDA,DUPA都呈现“昼大夜小”模式;5)BTDHT和KAD中的IP重复随m增大,趋向于为“纯IP重复”;6)BTDHT中的IP重复主要由UDP port别名引起,而KAD中主要由ID别名引起;7)具有IP重复或ID别名的节点有“趋于安静”行为.综上所述,K网络中存在较为严重的IP重复与ID别名,故就K网络确定最佳节点标识是当前迫切需要解决的问题.同时,本文提出的IP重复与ID别名的测度以及基于K网络发现的IP重复与ID别名的特征将有助于P2P网络的挖掘研究.K网络中的IP重复与ID别名可能由多种因素引起,例如:节点临时更改ID,多个节点位于同一个NAT(network address translation)后,单个节点发动的Sybil攻击等等.对节点的IP重复与ID别名的原因进行细致的统计分析将是我们的下一步工作.参考文献[1] BitTorrent [EB/OL].2010.[2011-03-05].http://www.bittorrent.com[2] eMule[EB/OL].2010.[2011-03-05].http://www.emuleproject.net[3] Ipoque[EB/OL].2010.[2011-03-05].http://www.ipoque.com/resources/internet-studies[4] Maymounkov P, Mazieres D.Kademlia:A peer-to-peer information system based on the XOR metric[G]//LNCS 2429:Int Workshop on Peer-to-Peer Systems.Berlin:Springer,2002:53-65 [5] Bhagwan R,Savage S,Voelker G M.Understanding availability[G]//LNCS 2735:Int Workshop on Peer-to-Peer Systems.Berlin:Springer,2003:256-267[6] Yu J,Fang C F,Xu J,et al.ID repetition in Kad[C]//Proc of the 9th IEEE Int Conf on Peer-to-Peer Computing.Piscataway,NJ:IEEE,2009:111-120[7] Cheriton D R,Williamson C L.Network measurement of the VMTP request response protocol in the V distributed system[C]//Proc of ACM SIGMETRICS'87.New York:ACM,1987:216-225[8] Williamson C L.Internet traffic measurement[J].IEEE Internet Computing,2001,5(6):70-74[9] Savage S.Sting:A TCP-based network measurement tool[C]//Proc of the 2nd Conf on USENIX Symp on Internet Technologies and Systems.Berkeley:USENIX,1999[10] Kutzner K, Fuhrmann T. Measuring large overlay networks—The overnet example[C/OL].//Proc of the 14th KiVS.2005.[2011-03-05].http://i30www.ira.uka.de/research/documents/p2p/2005/kutzner05overnet .pdf[11] Steiner M,Ennajjary T,Biersack E W.Long term study of peer behavior in the KAD DHT [J].IEEE/ACM Trans on Networking,2009,17(5):1371-1384[12] Stutzbach D,Rejaie R.Understanding churn in peer-to-peer networks[C]//Proc of the 6th ACM SIGCOMM Conf on Internet Measurement.New York:ACM,2006:189-202[13] Sadafal V.Measurement and analysis of BitTorrent[D].College Station,TX:Texas A&M University,2008[14] Wang Yong,Yun Xiaochun,Li Yifei. Measuring and characterizing topologies of P2Pnetworks[J].Journal of Software,2008,19(4):981-992(in Chinese)(王勇,云晓春,李奕飞.对等网络拓扑测量与特性分析[J].软件学报,2008,19(4):981-992)[15] Liu X T,Meng T,Cai K,et al.Rainbow:A robust and versatile measurement tool for Kademlia-based DHT networks [C]//Proc of the Int Conf on Parallel and Distributed Computing, Applications and Technologies.Piscataway,NJ:IEEE,2010:222-228[16] IP-to-country database of webnet77.com[EB/OL].2010.[2011-03-05].http://webnet77.com/[17] Douceur J R.The Sybil attack [G]//LNCS 2429:Int Workshop on Peer-to-Peer Systems.Berlin:Springer,2002:251-260。

Libp2p学习(一)

Libp2p学习(一)

Libp2p学习(⼀)Libp2p学习持续更新ing1. 介绍Libp2p的实现⽬标是:⽀持各种各样的传输⽅式:传输:TCP,UDP,SCTP,UDP,uTP,QUIC,SSH,etc.安全传输:TLS,DTLS,CurveCP,SSH有效使⽤sockets(连接重⽤)允许端点之间的交流可以在⼀个socket上复⽤(避免过多的握⼿)允许端点之间通过⼀个协商过程使⽤多协议以及各⾃的版本向后兼容在现在的系统中可以运⾏充分使⽤当前⽹络技术的能⼒实现NAT转换实现连接中继实现加密通道充分使⽤基础传输(例如原⽣的流复⽤等)传统的7层OSI模型表征不适合libp2p。

Libp2p根据协议的⾓⾊(功能)进⾏划分。

不同的lip2p协议可以具有相同的功能,例如,bootstrap lists,mDNS,DHT discovery,PEX都进⾏节点发现,但他们可以同时存在甚⾄协同⼯作。

⽽在OSI中,每⼀层通常都只有⼀个协议。

2. 基础libp2p使⽤了multiaddr,⼀个⾃描述的地址形式,可以理解为不同协议不同地址类型的⼀个封装。

这使得libp2p可以不透明的处理系统中的所有地址,⽀持⽹络层中的各种传输协议。

libp2p的协议是多个协议的集合。

为了节约资源并使连接更容易,libp2p可以通过⼀个端⼝执⾏所有操作,它可以通过点对点连接复⽤其众多协议。

这种多路复⽤适⽤于可信赖的流连接或者不可信赖的数据报。

libp2p的⽬标是变得更加模块化和灵活,以适应于各种应⽤场景。

libp2p中的交流可以是加密、签名或者是明⽂。

它使⽤了TLS这样的加密模型,但并不是整个TLS。

它只使⽤了TLS模型中⽤于加密的最⼩的⼀部分。

由于对称NAT,容器以及虚拟机NAT和其他的不能绕过的NAT,libp2p必须使⽤中继通信来建⽴⼀个全连接图。

中继应该是可选的,能够被⽤户关闭。

连接中继应该作为transport实现,以对上层透明。

libp2p中⽀持结构化、⾮结构化、混合以及中⼼化的⽹络拓扑结构。

区块链介绍PPT 区块链存储介绍

区块链介绍PPT 区块链存储介绍
70% 15% 10% 5%
IPFS/Filecoin
区块链存储
Filecoin涉及到的证明概念
数据持有 性证明 复制证 明? 可检索证 明
时空证明
证明
概念
存储证明
空间证明 工作量证 明
复制证明
IPFS/Filecoin
区块链存储
Filecoin涉及到的证明概念 数据持有性证明 (Provable Data Possession ,PDP) 可检索证明(Proofof-Retrievability, PoRet) 存储证明(Proof-ofStorage ,PoS) 复制证明(Proof-ofReplication, PoRep)
原理
更 快 安 全 健 壮 持 久
用基于内容的地址替代基于域名的地址,也就是用户寻找的不是 某个地址而是储存在某个地方的内容,不需要验证发送者的身份, 而只需要验证内容的哈希,通过这样可以让网页的速度更快、更 安全、更健壮、更持久。
IPFS/Filecoin
区块链存储
IPFS在其他项目上面的应用
akasha:基于以太坊和IPFS的社交网络 Alexandria:去中心化的内容发布平台 Arbore:朋友之间的文件共享系统--相信很快就可以抛弃某度的云盘了 dtube:利用IPFS作为存储的视频分享网站 git-ipfs-rehost:可以把github上的项目存储到IPFS上 Interplanetary Wiki:建立在IPFS上的wiki(土耳其封锁了wiki,借助于IPFS,现在已经恢复了访问) ipfs-search:基于IFPS的搜索引擎 ipfs-share:基于IFPS的文件分享 ipfs.pics:基于IFPS的图片分享网站 Orbit:基于IFPS的分布式聊天工具 Partyshare:一个简单的文件共享系统 computes.io:基于IPFS的分布式计算机(这个牛,把世界上的计算资源收集起来,构建一个巨大的分 布式计算机) OpenBazaar:openbazaar是一个去中心化的淘宝,口号是“买卖自由/Buy and Sell Freely”,问题 是一旦用户停止运行软件,商店就下线了,借助于IPFS,openbazaar2.0 打造一个离线商店。 Ubuntu:著名的linux发行版本Ubuntu正在计算把发行版本转移到IPFS上来,目前正在讨论方案。 火狐浏览器:支持ipfs在内的分布式

Kademlia介绍

Kademlia介绍

00…00
0 0 1
1 0 1 0
0
图3:节点0011 通过连续查询来找到节点1110 只有第一步查询的节点101,是节点0011已经知道的,后面各步 查询的节点,都是由上一步查询返回的更接近目标的节点,这是 一个递归操作的过程。
7/16
K桶介绍
对每一个0≦i≦160,每个节点都保存有一些和自己距离范围在区 间[ 2 i , 2 i 1]内的一些节点信息,这些信息由一些(IP address,UDPport,Node ID)数据列表构成(Kad 网络是靠UDP 协议 交换信息的)。 每一个这样的列表都称之为一个K 桶,并且每个K 桶内部信息存放 位置是根据上次看到的时间顺序排列,最近( least-recently)看到 的放在头部,最后( most-recently)看到的放在尾部。每个桶都有 不超过k 个的数据项。 k 是为平衡系统性能和网络负载而设置的一个常数,但必须是偶数, 比如k=20
15/16
谢谢!
16/16
FIND_VALUE操作
只需要返回一个节点的(IPaddress,UDP port,Node ID)信息。如 果收到同一个key的STORE 操作,则会直接返回存储的value 值。
10/16
路由查询机制
假如节点x要查找ID值为t 的节点: 1、计算到t 的距离:d(x,y) = x⊕y 2、从 x 的第[㏒ d]个K 桶中取出α 个节点的信息,同时进行 FIND_NODE 操作。如果这个K 桶中的信息少于α 个,则从附近多 个桶中选择距离最接近d 的总共α个节点。 3、对接受到查询操作的每个节点,如果发现自己就是t,则回答自己 是最接近t 的;否则测量自己和t 的距离,并从自己对应的K 桶中 选择α 个节点的信息给x。 4、X 对新接受到的每个节点都再次执行FIND_NODE 操作,此过程不 断重复执行,直到每一个分支都有节点响应自己是最接近t 的。

改进的DK算法在网络信息聚类中的应用

第2 9卷 第 8期
21 0 2年 8月
计 算机 应 用与软 件
Co u e p i ainsa d S fwa e mp t rAp lc to n ot r
Vo. 9 No. 12 8
Au g.2 2 01
改进 的 D 算 法在 网络 信 息 聚 类 中的应 用 K
D —- KIS算法; I 二是通过对选择样本点计算密度与已 选择聚类中心最小距离的加权, 使得该点被选择为初始中心点的概率与这 加
权 成正 比, 动态地选择初始聚类 中心 , 称为 D — - K I D算法。在一个实 际文本数据集上进行 实验计 算, I 证实算法改进的效果 良好。 关键词
聚类 中心 ;
5 )重复 4 , 到获得 个起始 聚类 中心 ; )直 6 )同原 D K算法 。
km as - en算法 中, 起始点是随机选取 的。用 随机的方式并不总 能
选得最佳 的起始点 。已经有很多 的研
本 文所做的修正主要在两个方面 : 一是令 =卢× 卢根据 R,
密度 的方法 , 例如 , 文献 [ ,] 23 采用 了 km as - en 方法 , 它属 于平面
划分 的方法 ; 文献 [ ] 用 O TC 5采 P IS方法 聚类 , 属于基 于 密度 它 的方法 。平 面划分 法和基于密度 的方法各有特 色。平 面划分法
估计 。实 际发现这个特性 并不适 合所有 的数据集 , 详见后 面的
文献 [ ] 2 提出 了一种利 用样本 的邻 域密 度来 确定 km as - en
算 法 起 始 中心 的 方 法 。 它 的 方 法 可 以 概 括 为 :
1 )计算样本之间的平均欧氏距离 R;

基于 BP 模型的 KAD 网络核心节点识别算法研究

基于 BP 模型的 KAD 网络核心节点识别算法研究王建;冯伟森;邱兴超;刘继;卢林【摘要】In view of the core node recognition in the KAD(Kademlia), a model based on BP is presented to determine whether a node is core node in real time. According to the result of the measurement for KAD, some attribute characteristics extraction and normalization processing is implemented to obtain an attribute set with higher separable degree. An algorithm in MatLab is designed to train the BP network until the results limit in a predetermined error range. In addition, the trained BP model is adapt to test prepared data, the results of the experiment show that the method can judge a node degrees of importance, and the recog-nition accuracy rate is up to about 70%.% 针对在 KAD 网络中核心节点的识别问题,提出了一种基于 BP 模型对节点重要程度进行实时判定的方法。

结合KAD 网络测量的结果,对网络中核心节点的属性特征进行提取和归一化处理,获得了一组可分离度较高特征集合。

TMK:一种解决拓扑匹配的DHT模型

TMK:一种解决拓扑匹配的DHT模型马志新,潘伟国,田中彬,蔡军卫,杨金霞兰州大学信息科学与工程学院,甘肃兰州(730000)摘要:在结构化P2P系统中,由于使用DHT技术构建逻辑覆盖图时没有考虑实际物理层的拓扑结构,从而导致覆盖网与物理网络的严重失配,使得逻辑上相邻节点的延迟远远大于其物理上的延迟。

本文针对DHT的拓扑失配问题,提出了一个解决拓扑匹配的DHT 模型:TMK。

分析认为,该模型能很好的解决了拓扑失配问题、缩小节点路由表空间、提高了路由查询效率。

关键词:P2P;IPv6;Kademlia;分布式哈希表;拓扑匹配中图法分类号:TP393 文献标识码: A1. 引言P2P系统[1]第一代采用基于中央索引服务器(如Napster)进行查询和定位,具有极好的查询效率和易实现等优点,其路由跳数为O(1),但是却存在服务器瓶颈、单点失效以及可扩展性差等问题。

而后第二代P2P系统(如Gnutella)去除了中央服务器,而改用泛洪机制进行查询定位,虽然解决了单点失效问题,但其泛洪机制也造成了网络流量失控、路由效率低和无法准确定位等缺点。

为了解决前面P2P系统出现的各种问题,第三代P2P系统采用基于分布式哈希表(Distributed hash table,DHT)结构化的分布式路由算法来进行查找和定位,有效地减少了查询定位时网络带宽的消耗,加快了查询定位速度(其路由效率为O(logN)),并且具有负载均衡、高可扩展性等优点。

建立在DHT逻辑覆盖网之上的结构化P2P系统,将P2P网络中的节点通过一致哈希函数转换成唯一标识ID号,以实现其负载均衡和匿名安全性。

然而,由于在构建DHT覆盖网时,没有考虑底层的物理拓扑结构,从而导致网络拓扑失配问题,即逻辑上邻近的节点在物理上可能并不邻近。

如图1(a)显示了一个由4个节点构成的物理网络,其中,节点间连线上的数字表示其时延;对应的覆盖网络如图1(b)所示,圆周代表了整个标号空间,连线表示节点之间的逻辑连接。

基于小世界理论的区块链Kademlia网络改进方法

基于小世界理论的区块链Kademlia网络改进方法
赵越;赵赫;谭海波;余斌;俞望年;马志宇
【期刊名称】《浙江大学学报(工学版)》
【年(卷),期】2024(58)1
【摘要】针对当前区块链Kademlia网络研究中通常以牺牲安全性为代价提升可扩展性的问题,提出基于小世界理论的区块链Kademlia网络改进方法.该方法遵循小世界理论的思想,提出置换扩容节点的概率公式,概率与节点间距离呈反比,节点置换次数和额外增加的节点数量可以根据实际情况灵活调整.通过理论分析和实验验证,证明了采用该方法改造的网络能够达到最终的稳定状态.实验结果显示,利用该方法将全网广播交易消息时须经历的传输层级减少了15.0%~30.8%,加快了定位节点的速率.与其他改变网络结构的优化算法相比,该方法降低了网络的结构化程度,增强了网络的安全性.
【总页数】9页(P1-9)
【作者】赵越;赵赫;谭海波;余斌;俞望年;马志宇
【作者单位】中国科学院合肥物质科学研究院;中国科学技术大学;安徽中科晶格技术有限公司
【正文语种】中文
【中图分类】TP311
【相关文献】
1.一种基于Kademlia的网络语音安全多路通信方法
2.基于Kademlia的P2P网络资源定位模型改进
3.基于熵值理论的区块链网络去中心化程度量化评估方法
4.基于层次化可导航小世界网络改进的SeqSLAM算法
5.区块链+企业网络:交互融合前因探源——基于扎根理论和FCM方法
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

—111—基于Kademlia 的P2P 网络资源定位模型改进林关成1,2(1. 西北工业大学航海学院,西安 710072;2. 渭南师范学院传媒工程系,渭南 714000)摘 要:根据基于分布式散列表(DHT)的P2P 网络资源定位方法,将虚拟节点引入结构化P2P 系统,在拓扑形成时充分利用网络访问的区域性和物理网络中节点的邻近性来降低访问延迟并优化路由选择。

构建一种改进的基于Kademlia 的P2P 网络资源定位模型,提高了网络可扩展性和可管理性及网络运行效率和资源利用率。

仿真结果表明,改进后的模型继承了DHT 和Kademlia 的优点,在路由选择、查找成功率和平均逻辑路径长度等方面的性能均优于原Kademlia 模型。

关键词:Kademlia 模型;P2P 网络;资源定位;分布式散列表;虚拟节点Improvement of Kademlia-based P2P NetworkResource Locating ModelLIN Guan-cheng 1,2(1. School of Marine Engineering, Northwestern Polytechnical University, Xi’an 710072; 2. Department of Media and Communications Engineering, Weinan Teacher College, Weinan 714000)【Abstract 】According to Distributed Hash Table(DHT)-based P2P network resource locating methods, this paper introduces virtual node into structured P2P system and makes the most use of regionalization of network access and contiguity of physical nodes to reduce access latency and routing length, and to optimize the routing location when the topology forms. It presents an improved Kademlia-based P2P network resource locating model. The improved model is helpful to solve the problems of expandability and manageability in P2P network. It improves the efficiencies and effectiveness of network resource. Simulation tests indicate that the improved model inherits the merits of DHT and Kademlia, and it is superior to original Kademlia model in routing location, searching success ratio and average logic path length.【Key words 】Kademlia model; P2P network; resource locating; Distributed Hash Table(DHT); virtual node计 算 机 工 程Computer Engineering 第34卷 第18期Vol.34 No.18 2008年9月September 2008·网络与通信· 文章编号:1000—3428(2008)18—0111—02文献标识码:A中图分类号:TP393.011 概述P2P [1]网络是一种自组织系统,可以为协同工作、对等计算和搜索引擎等网络应用提供较好的技术支持[2]。

典型P2P 系统需要设计一个非集中式拓扑结构,从而确定如何命名并组织系统中包含的大量节点,以及节点的加入和离开方式、出错恢复等问题[3]。

P2P 系统的分布式和强动态特性导致对等点之间的快速定位难度较大。

决定一个P2P 网络资源定位模型成败的关键是如何高效地发现网络中的节点,并快速定位到所需资源。

2 现有P2P 网络技术的性能根据拓扑结构可将P2P 系统分为集中式拓扑、全分布式非结构化拓扑、全分布式结构化拓扑和半分布式拓扑4种形式。

Napster 是典型的集中式拓扑结构,它通过中心服务器保存网络中所有节点用户共享资源的目录信息,实现文件查询与文件传输的分离。

Gnutella 系统[4]是典型的全分布式非结构化拓扑应用,它是一个纯P2P 系统,没有中心索引服务器,采用基于完全随机图的泛洪发现和随机转发机制。

全分布式结构化拓扑的P2P 系统又称为分布式散列表(Distributed Hash Table, DHT)网络,它解决了非结构化模型没有确定的拓扑结构支持、无法保证资源发现效率等问题,以DHT 为基础构建的分布式网络能自适应节点的加入和离开,具有良好的安全性、可扩展性、健壮性、负载平衡能力和自组织能力,代表了目前P2P 系统的发展趋势。

半分布式拓扑综合了集中式拓扑和全分布式非结构化拓扑的特点,引入超级节点的概念,在各个超级节点上存储系统中部分其他节点的信息,发现算法仅在超级节点之间转发,超级节点再将查询请求转发给适当的普通节点。

4种拓扑结构的性能比较如表1所示。

表1 4种拓扑结构的性能比较性能指标集中式拓扑全分布式 非结构化拓扑全分布式 结构化拓扑半分布式拓扑可靠性 差 好 好 中 可扩展性差 差 好 中 可维护性最好 最好 好 中 发现效率最高中高中基于DHT 的全分布式结构化拓扑网络代表了P2P 研究的最新方向,较成熟的应用方案有CAN [5], Chord, Pastry, Tapestry 和Kademlia 等系统。

它们的性能参数如表2所示,其中,路径长度是定位目标的请求在P2P 网络中经历的平均跳数;路由表长度是每个节点需要维护的路由表项数;N 表示P2P 网络中的节点数量;d 表示网络拓扑的维数;b 表示ID 空间的基。

在上述系统中,Kademlia 的应用最普遍,目前主流的P2P 软件如eMule, BitTorrent, BitComet 和BitSpirit 等基金项目:渭南师范学院科研基金资助项目(08YKZ012)作者简介:林关成(1974-),男,讲师、博士研究生,主研方向:信号与信息处理收稿日期:2008-07-20 E-mail :wngchlin312@—112— 均采用它作为辅助检索协议。

表2 5种DHT 方案的性能比较路由表长度()O d(lg )O N(log )b O N(log )b O N(lg )O N3 基于Kademlia 的改进模型3.1 Kademlia 模型Kademlia 是一种典型的结构化P2P 覆盖网络,其所有信息均以散列表条目的形式分散存储在网络的各个节点上,以全网方式构成一张巨大的分布式散列表,在应用层分布式地进行整个P2P 网络信息的存储和检索。

Kademlia 网络存储并维护着2个分布式散列表,即关键词字典和文件索引字典。

关键词字典用于根据关键词查询其对应的文件名称和相关文件信息,其中,用于查询的Key 值是通过对关键词字符串进行SHA1[6]散列运算得到的160位比特值,对应的Value 信息用一个三元组表示,即(文件名,文件长度,文件的SHA1校验值)。

文件索引字典用于根据给出的文件信息来查询文件的所有者节点,其中,Key 值等于该文件的SHA1校验值,对应的Value 列表条目信息也用一个三元组表示,即(所有者节点的IP 地址,所有者的下载侦听端口,所有者节点ID)。

根据上述信息,Kademlia 网络实现了对文件的定位。

Kademlia 网络中的每个节点均拥有一个专属ID ,由节点随机生成。

ID 取值与SHA1散列值类似,2个节点之间的距离定义为两者ID 值的异或运算结果。

根据条目的Key 值,该条目将被复制并存放在节点ID 距离Key 值最近的k 个节点上。

k 是一个估计值,决定其取值的准则如下:在当前规模的网络中任意选择至少k 个节点,使它们在任意时刻同时不在线的几率接近0。

每个节点负责维护160个列表,即k -bucket ,如图1所示。

第i 个列表记录当前节点已知的、与自身距离为2i ~2i +1的节点的网络信息,即(节点的IP 地址,节点的下载侦听端口,节点ID),每个列表中最多存放k 个节点信息。

k -bucket[0] 距离:[1,2k -bucket[1] 距离:[2,4k -bucket[2] 距离:[4,8k 距离:[2^159,2^160图1 k -bucket 结构3.2 基于Kademlia 的P2P 网络资源定位模型存在的问题基于Kademlia 的P2P 模型存在如下问题:(1)网络节点经过散列后,物理位置信息被破坏,来自同一个子网的多个节点的节点号逻辑距离可能很远,路由过程要跨越多个广域网节点,导致应用系统响应时间长,降低了网络速度;(2)没有考虑网络节点实际能力的差异,无QoS 保证,网络效率低;(3)网络不可控制,可管理性差,无法自适应节点规模,性能随着网络规模的增大而下降,给实际应用带来了一定困难。

3.3 改进后的模型针对上述问题,笔者提出一种基于Kademlia 协议进行改进的新P2P 网络资源定位模型。

其设计思路是对P2P 网络节点进行筛选以提高网络运行效率,在应用层形成金字塔式的层次式结构以便实现对节点的管理,并使之能自适应地调整网络规模,在拓扑形成时充分利用网络访问的区域性和物理网络中节点的邻近特性降低访问延迟和路由长度。

改进后模图2 改进后模型的网络拓扑3.4 具体计算策略与改进措施综合网络接入带宽、节点稳定程度、在线时间、计算能力、存储能力等各种度量因子,笔者构造了一个启发性的、可选择的计算策略。

根据节点能力的不同将Kademlia 网络节点分为2种,即一般能力的普通节点和能力强大的虚拟超级节点。

超级节点请求其他超级节点的服务,并向虚拟节点内的普通节点和其他超级节点提供服务,它仅在本地查找、请求和回复,不转发其他节点的消息。

具体实现时,采用自适应策略,即一个普通节点若不能在规定时间内连接到超级节点,它就自组织成一个超级节点。

相关文档
最新文档