分布式计算中的最佳距离函数

时间:2011-08-29 22:37:12

标签: distributed p2p distance

到目前为止,为了找到像p2p这样的分布式网络中两个节点之间的距离,实现了什么距离函数?我的意思是如果p2p树网络中的每个叶节点代表一些数据,应该有一些定义的方法来找到这些节点之间的距离。我想知道有助于我们确定这些节点之间相似性的一般实践和分布式函数。 如果我的问题本身有误,请原谅我。

2 个答案:

答案 0 :(得分:1)

我可以想到这样的一些距离函数。这取决于您的应用程序关心的内容。你在使用这个距离函数是什么?

  1. 延迟。当节点相互通信时,它们直接测量往返时间(RTT)。
  2. 带宽。当节点彼此通信时,它们直接测量它们的字节/秒传输速率。
  3. IP前缀。具有非常相似IP的节点可能很接近,因此149.89.1.24和149.89.1.100可能非常接近。这是一个非常粗略的启发式方法。
  4. 我的建议是直接连续测量您选择的任何距离指标。距离度量将随时间变化,因此需要连续测量。任何不基于单个节点进行测量的估计都可能非常不准确。您还应该记住,网络距离是不对称的。从节点A到节点B的数据包可能采用与从B流向A的流量完全不同的路由。

答案 1 :(得分:1)

What are the distance functions so far implemented to find the distance between two nodes in distributed networks like p2p?

这取决于您使用的方法(参见CAN,Kademlia,Pastry(DHT),Tapestry(DHT),Koorde)。但请记住,这些距离是理论上的,不一定是实际的。

在ipv4上真正的P2P实现中,所有NAT-ed对等体只需要一个具有公共地址的可达对等体。这意味着两个私人同伴之间的“距离”最多为2。