【问题标题】:p2p simulation and distributed hash tablep2p模拟和分布式哈希表
【发布时间】:2011-04-25 16:48:16
【问题描述】:

我正在通过单台机器内的模拟来学习 p2p 架构。为此,有人告诉我我可以使用命名管道。我正处于模拟的设计阶段。以下是我计划前进的方式:

  1. 创建一个能够加入 p2p“网络”的对等程序。该网络是此类对等点的集合。对等点通过机器中的进程 ID 标识。

  2. 当一个对等点被创建,即加入网络时,它通过引导自己到一个“主节点”或跟踪器来宣布它的到来。当对等点宣布其到达时,主节点更新其对等点列表(进程 ID),并将网络中可用的对等点列表返回给新对等点。

  3. 一旦进入网络,对等方现在可以从网络下载文件或将文件上传到对她/他拥有的文件的传入请求。对等方通过网络接收到的文件会自动可供上传。

  4. 为了下载文件,对等方调用定位算法,该算法使用当前对等方正在寻求下载的文件定位对等方。

如您所见,我对设计的理解存在差距。从我幼稚的方法来看,我将 #2 和 #3 视为不同的步骤。但是,我有一种感觉,它们必须以某种方式相关。我想我缺乏了解分布式哈希表和 Chord 或 CAN 等算法的工作原理。我需要帮助来收集这些分散的想法,这将有助于我实际实施模拟。

首先,我的第一个问题是:我在哪里以及如何启动定位算法?或者上面列出的步骤中创建的分布式哈希表在哪里?

【问题讨论】:

    标签: hashtable p2p dht


    【解决方案1】:

    您可以选择像 Napster 那样实现跟踪服务器。或者您可以实现支持 DHT 的节点 - 比特种子风格。

    在前一种情况下,跟踪器会跟踪所有节点及其托管的文件。

    在后者中,每个节点都跟踪信息(在这种情况下假定网络中至少有一个对等点)。然后,一个新的对等点将联系一个支持 DHT 的对等点,并获取有关托管它所需文件的节点的信息。

    【讨论】:

    • 感谢您的回复。我想我需要决定在我的模拟中实现哪一个。 Napster 路线听起来更容易。有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 2014-12-22
    相关资源
    最近更新 更多