为什么Pastry DHT具有高效的路由选择

时间:2017-11-26 05:14:29

标签: p2p dht pastry

最近我读了一些关于Pastry DHT的文章。文章说Pastry DHT有一个有效的路由。在Pastry的路由中,每个步骤的节点ID与目标节点有一个更长的公共前缀,但节点ID是随机分配的,所以它是可能该消息在到达目的地之前行进非常长的距离,因此路由效率不高。

例如,Pastry路由,目的节点ID是d467c4,起始节点ID是65a1fc,路由过程是65a1fc-> d13da3-> d4213f-> d462ba-> d46702-> d467c4。这个路由上的节点可能遍布全世界(ID是随机分配的。)消息将在到达最终节点之前在世界各地传播。因此这种路由效率不高。

那么为什么Pastry DHT有一个高效的路由?

2 个答案:

答案 0 :(得分:0)

这取决于你的效率概念。在设计覆盖网络时,首先要考虑的是限制相对于网络大小的总跳数。换句话说,如果有 n 个节点你不想要 O(n)路由, O(log n)是通常的目标,因为它可以在没有全面网络意识的情况下实现。

沿着链路的延迟,路径成本或最小带宽的路由长度是第二级问题。这通常是通过在优化跳跃长度之后添加某种位置感知或聚类来实现的。

Pastry对于跃点指标很有效。

答案 1 :(得分:0)

在选择要添加到路由表每一行记录中的节点ID时,Pastry偏爱拓扑在拓扑上更接近它的节点。行号越低(例如i),因为只有第一个i前缀需要匹配,所以有更多选择可用于选择最近的节点。随着路由表中行数的增加,可用的近邻选择减少,因此对于以后的跃点,延迟可能会更多。