【发布时间】:2012-10-12 05:29:51
【问题描述】:
这个问题是关于在基于 Pastry 的 p2p 网络中的节点处创建路由表的。
我正在尝试在单个 JVM 中模拟这种路由表创建方案。我似乎无法理解这些路由表是如何从第一个节点的加入点创建的。 我有 N 个独立节点,每个节点都有一个 160 位 nodeId 作为 SHA-1 散列生成,以及一个确定这些节点之间接近度的函数。假设第一个节点启动环并加入它。协议说这个节点此时应该已经建立了它的路由表。但是此时我在环中没有任何其他节点,那么它是如何开始创建它的路由表的呢?
当第 2 个节点希望加入环时,它会向第 1 个节点发送加入消息(包含其 nodeID),然后将其传递到环中已经存在的第 2 个节点最近的可用邻居。这些跃点有助于为这个新的第二个节点创建路由表条目。同样,在没有足够数量的节点的情况下,如何创建所有这些条目?
我刚刚开始查看 FreePastry 实现以获得这些答案,但目前似乎还不是很明显。如果有人可以在这里提供一些指示,那也将有很大的帮助。
【问题讨论】: