非结构化P2P网络
内容 介绍 集中模型: Napster 分散模型: Gnutella 层次化模型 混合模型
介绍 集中模型(Napster) 分散模型Gnutella) 层次化模型(MBone) 混合模型(EDonkey)
集中模型: Napster User User Directory Server User User
集中模型的优点和缺点 优点: 结构简单 便于管理 资源检索响应比较快(不同情况不一定) 管理维护整个网络消耗的网络带宽较低
集中模型的优点和缺点 缺点: 服务器承担所有的检索工作,负载过重 不完全符合P2P的原则 服务器上的索引不能及时更新,检索结果不精确 服务器受到攻击时,对服务影响较大 容易受版权限制 穿透防火墙能力差
分散模型:Gnutella 完全分散式P2P文件共享系统:
分散式P2P路由 技术: Flooding Replication & Caching Time To Live (TTL) Epidemics & Gossiping protocols Random Walkers & Probabilistic algorithms
Request/Receive a set of Active Peers 分散式P2P路由 H Gnutella Network N Request/Receive a set of Active Peers 1 Servent p 2 Connect to network
完全分散式模型的优点和缺点 优点: 所有的节点都参与服务,不存在中央服务器,避免了服务器性能瓶颈 部分节点受攻击不影响服务 搜索结果比较及时,有效性比较强。
完全分散式模型的优点和缺点 缺点: 采用flooding方式传播搜索请求,造成网络额外开销比较大,随P2P网络规模的扩大,网络开销成指数级增长。TTL =4, 5, 6, 7 , 8时,cache(20),msglen(100B), (每条请求)16MB, 320MB, 6.4GB, 128GB, 2.56TB (每秒 请求数随网络规模的扩大,是很可观的) 搜索请求遍历整个P2P网络需要经过很多跳,完整的获得搜索结果延迟比较大。 防火墙穿透能力差
Random Walk 采用newscast协议(gossip的一种)得到的最大深度
Random Walk 覆盖率 newscast协议使用不同TTL的覆盖率
层次化模型(MBone) 在层次化模型中,把参与服务的部分性能较好的节点选出作为超级节点,超级节点管理普通节点,超级节点再由更高级一级的超级节点管理,构成层次化的结构。超级节点保存子节点的文件索引信息。
层次化模型的优点和缺点 优点:相对于集中模型,索引信息不是保存在中央服务器上,不会产生服务器瓶颈,索引信息同步较快,相对于完全分散式模型,信息检索不会给网络造成较大流量。 缺点:层次化模型对于非结构化网络,维护整个网络比较困难,特别是处于结构的顶层的节点在离开网络后,对网络的影响比较大,重构网络比较复杂。
混合模型 在完全分散式模型中,TTL=5时,网络的规模不超过20000,网络覆盖率是相当高的
混合模型 层次化模型中,处于底层的超级节点是比较容易维护的,某个这种超级节点的离开对网络的影响不大。 混合模型的思想是,把整个P2P网络建成一个二层结构,由普通节点和超级节点组成,一个超级节点管理多个普通节点,超级节点直接使用gossip协议构成完全分散式模型。
混合模型 混合模型可以利用完全分散式模型在节点数不多时实现的高分散性,鲁棒性和高覆盖率。也利用层次模型对大规模网络提供可扩展性。 在完全分散式模型中,TTL=5时,网络的规模不超过20000,性能是较好的,如果每个超级节点管理50-200个普通节点,整个网络规模是可观的。
混合模型研究的重点 混合模型同时吸取了完全分散式模型和层次模型的优点,构建高效的混合拓扑结构需要同时涉及这两种模型的问题。 对于超级节点组成的完全分散式网络,更好的gossip协议和智能的TTL选择方法可以改善网络负载和搜索覆盖率的平衡性。 超级节点的选取算法也影响混合P2P网络的服务质量。
P2P相关其他问题 安全性 数据传输控制 分散节点管理 P2P网络的测量和统计 P2P网络模拟 移动P2P