比特流追踪器如何工作?
How bittorrent tracker works?
我阅读了官方文档 here and wikipedia article about bittorrent client here 但无法找到跟踪器的确切工作原理。根据我的理解,跟踪器应该知道哪个对等方拥有某个文件的哪一部分。例如,客户端 1 有 5 个文件 1 和 10 个文件 2。在官方文档中,我看到跟踪器有像 peer_id
ip
port
uploaded
[=14= 这样的字段] left
和 event
但我看不到有关我们正在跟踪的文件的信息在哪里。例如,如果我问跟踪器嘿,我需要 linux.torrent 文件的片段,跟踪器会如何回答我?
跟踪器的工作是,当对等点向特定群(由info_hash
标识)宣布时,将该对等点注册为在该群中处于活动状态,然后向该对等点发送一个 对等点列表,其中包含该群中其他活动的对等点。
跟踪器不会跟踪同行拥有的件或文件。
我建议您阅读非官方协议规范:https://wiki.theory.org/index.php/BitTorrentSpecification
它比简洁而密集的 BEP-3 更容易理解。
在官方文档中有针对 UDP 跟踪器协议的 bep here
我阅读了官方文档 here and wikipedia article about bittorrent client here 但无法找到跟踪器的确切工作原理。根据我的理解,跟踪器应该知道哪个对等方拥有某个文件的哪一部分。例如,客户端 1 有 5 个文件 1 和 10 个文件 2。在官方文档中,我看到跟踪器有像 peer_id
ip
port
uploaded
[=14= 这样的字段] left
和 event
但我看不到有关我们正在跟踪的文件的信息在哪里。例如,如果我问跟踪器嘿,我需要 linux.torrent 文件的片段,跟踪器会如何回答我?
跟踪器的工作是,当对等点向特定群(由info_hash
标识)宣布时,将该对等点注册为在该群中处于活动状态,然后向该对等点发送一个 对等点列表,其中包含该群中其他活动的对等点。
跟踪器不会跟踪同行拥有的件或文件。
我建议您阅读非官方协议规范:https://wiki.theory.org/index.php/BitTorrentSpecification
它比简洁而密集的 BEP-3 更容易理解。
在官方文档中有针对 UDP 跟踪器协议的 bep here