BitTorrent追踪器是如何工作的?

8

我阅读了这里的官方文档和有关BitTorrent客户端的维基百科文章这里,但无法找到tracker的确切工作方式。据我理解,tracker应该知道哪个对等方拥有某个文件的哪一部分。例如,客户端1拥有文件1的5个部分和文件2的10个部分。在官方文档中,我看到tracker有像peer_id ip port uploaded downloaded leftevent这样的字段,但我没有看到我们正在跟踪哪个文件的信息。例如,如果我向tracker请求获取linux.torrent文件的部分,tracker会如何回答我?


除非您有关于编写自己的跟踪器或修补其他人的问题,否则这不是SO的主题,更适合SuperUser。 - underscore_d
我正在尝试实现自己的基于Java的跟踪器、客户端等,因此我需要了解跟踪器中需要哪些字段以及客户端如何知道哪些对等方拥有它所感兴趣的数据块。我猜应该向跟踪器询问,但我不知道如何做到。 - Spasoje Petronijević
2个回答

2
一个tracker的工作是,当一个peer向特定的swarm(由info_hash标识)宣布时,将该peer注册为该swarm上的活动peer,并向该peer发送包含该swarm上其他活动peer的peer列表
一个tracker不会跟踪一个peer拥有哪些piecesfiles
我建议您阅读非官方协议规范:https://wiki.theory.org/index.php/BitTorrentSpecification ,它比BEP-3更易于理解。

为了使回答更加有帮助,@Encombe,您能否包括什么是“swarm”?“跟踪对等方拥有哪些块或文件。”(您说它不会)和活动在该“swarm”上的对等方列表之间的确切区别,然后将该对等方的对等方列表发送给其他活动在该“swarm”上的对等方? - Basj
@encombe的链接已经失效。 - user541396

-2

在官方文档中,有关于UDP tracker协议的bep在这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接