我正在编写一个 P2P 实现,我希望将其去中心化。然而我在掌握如何做时遇到了一些困难DHT https://en.wikipedia.org/wiki/Distributed_hash_table在像 BitTorrent 这样的协议中是有效的。
如果没有跟踪器,客户端如何知道对等点在哪里?对等点是否存储在实际的 torrent 文件中?
对于无跟踪器/DHT 种子,对等 IP 地址使用 BitTorrent infohash 作为密钥存储在 DHT 中。由于跟踪器所做的基本上就是响应 put/get 请求,因此此功能与 DHT(分布式哈希表)提供的接口完全对应:它允许您通过 infohash 在 DHT 中查找和存储 IP 地址。
因此,“get”请求将查找 BT infohash 并返回一组 IP 地址。 “put”存储给定 infohash 的 IP 地址。这对应于您向跟踪器发出的“宣布”请求,以接收对等 IP 地址的字典。
在 DHT 中,对等点被随机分配来存储属于密钥空间一小部分的值;散列确保密钥在参与的对等点之间随机分布。 DHT 协议(Kademlia http://en.wikipedia.org/wiki/Kademlia对于 BitTorrent)确保 put/get 请求有效地路由到负责维护给定密钥的 IP 地址列表的对等点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)