Bittorrent UDP实现

时间:2018-05-09 19:08:44

标签: udp bittorrent

有人可以给我一些关于如何实现Bittorrent UDP应用程序的文档吗? 我正在使用Bittorrent应用程序,我可以使用TCP成功下载,但我想实现UDP,我无法找到它的任何信息。我正在使用UDP跟踪器检索对等方,但该方法与下载文件不同。 如果我嗅到UDP握手,我在Wireshark中看到以下内容:

172.16.49.213 5.31.44.30 UDP 62 35507→18318 Len = 20

5.31.44.30 172.16.49.213 UDP 62 18318→35507 Len = 20

这是在握手之前完成的。此外,看起来握手前面有20个字节(不同于上面的20个字节)。

所以我需要一些信息来帮助我解决所有这些问题。

1 个答案:

答案 0 :(得分:1)

UDP上的BitTorrent对等线协议,名为 uTP ,具体规定如下:
BEP29 - uTorrent transport protocol

BitTorrentInc也发布了uTP作为IETF RFC他们称之为LEDBAT:
RFC 6817 - Low Extra Delay Background Transport (LEDBAT)

但是,我不建议任何人做自己的实现(除了作为学习经验),因为它涉及大量时间关键,低级别的网络IO,并且非常难以实现。

相反,我建议使用该库:https://github.com/bittorrent/libutp
几乎所有实现uTP的客户端都使用此库。 AFAIK,唯一的例外是libtorrent/rasterbar(由qBittorrent和Deluge使用),它不像libutp那样有效。