基于节点有效通信率
的P2P网络拓扑优
化
摘要:分析了
P2P 网络中产生大量冗余通信开销的原因,根据不同节点对查询表现出
不同的性能,定义了节点有效通信率,让具有更高有效通信率的节点具有更大的连接度。采
用了基于流言的闲谈机制来获取整个网络的平均有效通信率和平均节点连接度,提出节点
度优化模型及连接策略。实验结果显示文中的拓扑优化方法大幅提高了资源搜索的整体性能。
关键词:对等网;
拓扑优化; 流言机制
P2P(peertopeer)系统是现今 Internet 上最流行的应用之一,它是建立在应用层之上的
覆盖网络
[1]。网络中拥有大量的节点,节点间可以直接建立连接进行文件共享。系统中各节
点既是服务器,也是客户机,避免了
C/S 模式下网络依靠中心服务器的限制,因而大量用
于文件共享系统,如
Gnutella[2]、KazAa[3]、Chord[4]等。当前主要有结构化和非结构化两种
结构的
P2P 文件共享系统,主要区别在于对节点的组织和资源位置的约束上[5]。结构化的
P2P 系统通过分布式哈希表(distributed hash table, DHT)严格控制网络拓扑结构和资源的放
置位置;而非结构化
P2P 系统中资源的放置位置与网络拓扑结构无关,随机分布在整个系
统中,因而节点可以随意加入或退出网络,基本无须对网络进行管理。节点在进行资源查询
时却往往是盲目的,尽管泛洪
(flooding)的查询方法能通过遍历系统中的所有节点实现查询,
且对查询有较好的响应结果,但是会产生大量的冗余查询消息,带来巨大的网络流量开销,
而且搜索效率较低。
改善非结构化
P2P 系统的搜索性能主要是要减少搜索消息转发的盲目性和提高查询消
息命中率。针对前者主要是增加节点对网络拓扑结构和资源位置信息的了解,使查询消息在
进行转发时具有更多路由信息;提高查询消息命中率的一种方法是增加网络中资源的副本
数量
[6],通过对网络中查询频率较高的资源进行动态复制来提高资源的查询命中率。但是
在进行数据复制时将增加网络的流量开销,特别是
P2P 网络中热点资源多为多媒体文件
[7],对其进行复制会带来更大的网络开销。
本文则从另外的角度出发,通过分析节点对查询消息的响应率,定义节点的有效通信
率,通过节点的有效通信率优化节点的连接度,使具有更高有效通信率的节点具有更高的
连接度,使查询消息更多指向具有高命中率的节点,从而减少整个网络的通信开销。
1 相关工作
1.1 非结构化 P2P 系统的路由策略
Gnutella 是典型的非结构化 P2P 文件共享系统,最初的 Gnutella 协议[8]对资源的查询
采用基于
flooding 的方法。查询源节点向所有邻居节点发送查询消息,如果某邻居节点含有
目标文件,则返回应答消息给源节点;如果没有,该邻居节点向自己的邻居节点转发搜索
消息,直到查询到目标文件
,并通过设置 TTL(timetolive)来限制转发的次数,并防止出现循
环。由于这种搜索策略是首先遍历自己的邻居节点,然后再向下传播,又称为宽度优先搜索
方法(
breadthfirst search,BFS),查询通信开销将随 TTL 呈指数规模增长。
找通信资料上一览通信文库!