P2P 网络技术:架构、路由与优化探索
1. P2P 网络基础架构
1.1 CAN 网络结构与路由
在 P2P 网络中,CAN(Content Addressable Network)网络是一种重要的结构化网络。在 CAN 网络里,节点的邻居关系有明确界定。如图 8.15(a)所示,节点 B 和节点 C 是节点 A 的邻居,而节点 D 不是。通过均匀哈希函数,键被映射到坐标空间,每个键关联一个 d 维向量,代表其在坐标空间中的位置。若键在坐标空间中的位置落在节点 i 所拥有的区域内,节点 i 会存储与该键相关对象的指针,或者直接存储该对象。
在 d 维坐标空间中,每个节点平均维护 2d 个邻居,路由复杂度为 O((d/4)(n^(1/d)))。新节点 X 加入时,会联系通过 DNS 服务定位到的引导节点。引导节点会提供覆盖网络中一些随机选择的对等节点的地址信息。新节点在坐标空间中随机选择一个点 P 作为自己的位置,并请求一个已存在的节点将加入消息路由到其区域包含 P 的节点 Y。节点 Y 会将自己的区域等分为两部分,并将其中一个子区域交给新加入的节点。
CAN 网络采用贪心路由算法,节点会贪婪地将消息转发给坐标最接近目标的邻居。如图 8.15(b)展示了一个二维 CAN 覆盖网络以及从节点 C 到节点 H 的路由路径。在具有 d 维坐标的 CAN 覆盖网络中,平均每个维度有 n^(1/d)个节点,在环面上,任意两个节点之间平均有 1/4n^(1/d)个节点。由于消息到达目标需要遍历所有 d 个维度,所以得出上述路由复杂度。
1.2 混合 P2P 覆盖网络
混合 P2P 覆盖网络同时具备非结构化和结构化覆盖网络的特
超级会员免费看
订阅专栏 解锁全文
2089

被折叠的 条评论
为什么被折叠?



