设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 1200|回复: 1

转:关于 BitTorrent Tracker Protocol

[复制链接]
 成长值: 18

签到天数: 4467 天

[LV.Master]伴坛终老

发表于 2021/5/30 01:08 | 显示全部楼层 |阅读模式 |Google Chrome 91.0.4472.77|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
小樱先生:

你好。
冒昧来信,恕其失礼,诸多烦渎,惶愧奚如。

通过互联网寻到你,看到你过往一直对 BitTorrent 相关的内容有涉入了解,想找你请教一些知识。

很久之前看到现有的 PT 站点,一直都想找时间重写一个更具现代化(好用)的 PT 服务。断断续续,近来完成了 Bencode 编解码的库。准备去实现 Tracker Server 库,但是找了很多相关资料,发现现在各种客户端的实现中并不是完全符合 BEP 标准的,且其中一部分内容并不在其中。

例如 libtorrent 的实现中会有支持加密、强制加密的选项,在某个邮件列表中看到相关的内容中,SupportCrypto 和 RequireCrypto 是两个字段,但在 libtorrent 的实现中只有 SupportCrypto 字段(强制加密也是使用的这个字段)。

libtorrent 会发送 Redundant 字段,但是并没查到关于这个字段的资料,不清楚这个字段做什么的。在其他文档看到 Remaining 字段,也不知这个字段的用途。

测试各种 Tracker Server 服务的实现中发现了一些其他的问题。

例如,
1. 无视 numwant 选项,返回数量并不会尽量匹配;
2. 无视 compact 强制返回压缩 peers;
3. compact 都强制了,no_peer_id 可想而知。

不知小樱对这些是否有所涉猎。

不情之請,尚乞見諒,如蒙鴻訓,幸何如之。
aoang@x2ox.com
aoangc@gmail.com




libtorrent 中 Redundant 字段的问题,建议找官方发issues确认一下,个人认为这个是不会发起到tracker server当中的。
https://github.com/arvidn/libtorrent/issues

PT Tracker server建议用c语言实现,以便提供更好的网络性能和降低系统负载。

1.这是tracker server的一些参数设定,例如忽略numwant,强制返回全部,或者返回更多的peer给客户端,以便大幅度提升下载性能,所以部分公共tracker会导致不同的peer数量返回结果
2.这可能通过了cloudflare,cdn会强制进行br或者gzip压缩,以便节省cdn server产生的网络传输流量,节省服务器成本开支
3.no_peer_id 这个字段我视乎没见到过,你是在哪个客户端上面发起tracker时发现的?

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

签到天数: 1157 天

[LV.10]以坛为家III

发表于 2021/7/19 02:16 | 显示全部楼层 |Google Chrome 91.0.4472.124|Windows 10
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/3/28 19:54 , Processed in 0.189915 second(s), 22 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表