【问题标题】:Using chord to implement a torrent network使用 chord 实现洪流网络
【发布时间】:2019-11-28 03:54:30
【问题描述】:

据我了解,为了实现一个 torrent 网络,您需要维护一个从文件的哈希值到网络中可用的对等点列表的映射。

但是,我认为这存在一些问题。

  1. 列表会不断变化,因为它会在节点加入或离开时更新。
  2. 列表可能会变得很长?但是在 dht 网络中只能有一个版本的列表(因为它是一个哈希表)

【问题讨论】:

  • Bittorrent 已经有一个官方的分布式哈希表,用于基于 kademlia 的对等发现。大多数bittorrent客户端都支持它。 bittorrent.org/beps/bep_0005.html

标签: hashtable dht torrent


【解决方案1】:

您已经维护了从文件的哈希值到网络中可用的对等点列表的映射。

这是正确的,这就是 DHT 的目的。 DHT 将保存有关谁在网络上以及谁拥有特定信息的信息。

列表会不断变化,因为它会在节点加入或离开时更新。

这也是正确的,但比特洪流 DHT 的构建考虑到了这一点,并带有用于加入和删除离线对等点的协议。

列表可能会变得很长?但在 dht 网络中只能有一个版本的列表(因为它是一个哈希表)

这就是 DHT 的特点,它是分布式的,因此您无需将整个 DHT 保存在一个地方。您只需要通过网络找到您要查找的信息。

要加入网络,您需要找到一些对等点并请求 DHT。通常这是通过 bootstrap nodes 完成的。联系一个节点后,您将能够分享您拥有的信息并发现其他节点并获取他们拥有的信息。

每个 DHT 都有自己的算法,您可以找到 Chord DHT here 的一些详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 2011-04-09
    • 1970-01-01
    相关资源
    最近更新 更多