文档介绍:P2P构架分析
Jack 公布于: -02-06 03:38
闲来无事, 对P2P文件结构和系统构架找了一番, 做一个资料搜集。
网络拓扑结构:
1. 中心化拓扑(Centralized Topology)
2. 全分布式非结构化拓扑(Decentralized Unstructured Topology)
3. 全分布式结构化拓扑(Decentralized Structured Topology, 也称作DHT网络)
4. 半分布式拓扑(Partially Decentralized Topology)。
Structure 1
--------------------------------------------------------------------
中心化拓扑最大优点是维护简单发觉效率高。 因为资源发觉依靠中心化目录系统, 发觉算法灵活高效并能够实现复杂查询。 最大问题和传统用户机/服务器结构类似, 轻易造成单点故障, 访问“热点”现象和法律等相关问题, 这是第一代P2P网络采取结构模式, 经典案例就是著名MP3共享软件Napster。  
    Napster是最早出现P2P系统之一, 并在短期内快速成长起来。 Napster实质上并非是纯粹P2P系统, 它经过一个中央服务器保留全部Napster用户上传音乐文件索引和存放位置信息。 当某个用户需要某个音乐文件时, 首先连接到Napster服务器, 在服务器进行检索, 并由服务器返回存有该文件用户信息; 再由请求者直接连到文件全部者传输文件。
    Napster首先实现了文件查询和文件传输分离, 有效地节省了中央服务器带宽消耗, 降低了系统文件传输延时。 这种方法最大隐患在中央服务器上, 假如该服务器失效, 整个系统全部会瘫痪。 当用户数量增加到105或更高时, Napster系统性能会大大下降。 另一个问题在于安全性上, Napster并没有提供有效安全机制。  
    在Napster模型中, 一群高性能中央服务器保留着网络中全部活动对等计算机共享资源目录信息。 当需要查询某个文件时, 对等机会向一台中央服务器发出文件查询请求。 中央服务器进行对应检索和查询后, 会返回符合查询要求对等机地址信息列表。 查询提议对等机接收到应答后, 会依据网络流量和延迟等信息进行选择, 和适宜对等机建立连接, 并开始文件传输。
  这种对等网络模型存在很多问题, 关键表现为:
    (1)中央服务器瘫痪轻易造成整个网络崩馈, 可靠性和安全性较低。
    (2)伴随网络规模扩大, 对中央索引服务器进行维护和更新费用将急剧增加, 所需成本过高。
    (3)中央服务器存在引发共享资源在版权问题上纠纷, 并所以被攻击为非纯粹意义上
P2P网络模型。 对小型网络而言, 集中目录式模型在管理和控制方面占一定优势。 但鉴于其存在种种缺点, 该模型并不适合大型网络应用。
------------------------------------------------------------------------------------
Structure 2
------------------------------------------------------------------------------------
   Pastry是微软研究院提出可扩展分布式对象定位和路由协议, 可用于构建大规模P2P系统。 在Pastry中, 每个结点分配一个128位结点标识符号(nodeID) , 全部结点标识符形成了一个环形nodeID空间, 范围从0到2128 - 1 , 结点加入系统时经过散列结点IP地址在128位nodeID空间中随机分配。
   在MIT, 开展了多个和P2P相关研究项目: Chord, GRID和RON。 Chord项目标目标是提供一个适合于P2P环境分布式资源发觉服务, 它经过使用DHT技术使得发觉指定对象只需要维护O(logN)长度路由表。
在DHT技术中, 网络结点根据一定方法分配一个唯一结点标识符(Node ID) , 资源对象经过散列运算产生一个唯一资源标识符(Object ID) , 且该资源将存放在结点ID和之相等或相近结点上。 需要查找该资源时, 采取一样方法可定位到存放该资源结点。 所以, Chord关键贡献是提出了一个分布式查找协议, 该协议可将指定关键字(Key) 映射到对应结点(Node) 。 从算法来看, Chord是相容散列算法变体。 MIT GRID和RON项目则提出了在分布式广域网中实施查找资源系统框架。
    T&T