BitTorrent 协议 - DL/UL 统计的完整性(跟踪器)
BitTorrent protocol - integrity of DL/UL statistics (tracker)
我有一个关于 bittorrent 协议的问题:假设我们有一个私人跟踪器,我们在其中注册并登录以下载 torrent files/access 磁体。我们知道客户端向跟踪器宣布获取对等点列表,然后客户端本身连接到不同的对等点以下载整个文件的不同部分。一旦客户端完成下载或中止,它会向跟踪器发送一条 AnnounceFinished 消息以 stats/graceful 关闭客户端。
现在,假设跟踪器想要保持 download/upload 速率(就像在真实跟踪器中通常这样做的那样)以限制吸血者下载过多而不上传。当实际 download/upload 仅发生在对等点之间时,跟踪器如何获得有关对等点 download/upload 数量的 real/legitimate 统计信息?他们是否需要诚实合作并向跟踪器发送正确的统计数据,或者跟踪器能否以某种方式强制执行正确的数据?
Do they need to be honest and cooperate
或多或少,是的。
or can the tracker somehow enforce the correct data?
一般情况下不会出现多个串通同行的情况。在 single/few 自私下载器的特殊情况下,可以通过交叉检查来自多个同行的统计数据来检测它们,但这很脆弱,需要一些微调的启发式方法来最大限度地减少误报,同时仍然获得不错的真阳性。
这基本上是一种拼凑,不是协议设计的目的。
对于 下载 统计,跟踪器也可以作为 bittorrent 对等方参与群,并根据 have
消息查看客户端的进度,但这不会不能用于上传,也不是那么可靠,因为不能保证它可以连接到群中的所有对等点以观察它们。
我有一个关于 bittorrent 协议的问题:假设我们有一个私人跟踪器,我们在其中注册并登录以下载 torrent files/access 磁体。我们知道客户端向跟踪器宣布获取对等点列表,然后客户端本身连接到不同的对等点以下载整个文件的不同部分。一旦客户端完成下载或中止,它会向跟踪器发送一条 AnnounceFinished 消息以 stats/graceful 关闭客户端。
现在,假设跟踪器想要保持 download/upload 速率(就像在真实跟踪器中通常这样做的那样)以限制吸血者下载过多而不上传。当实际 download/upload 仅发生在对等点之间时,跟踪器如何获得有关对等点 download/upload 数量的 real/legitimate 统计信息?他们是否需要诚实合作并向跟踪器发送正确的统计数据,或者跟踪器能否以某种方式强制执行正确的数据?
Do they need to be honest and cooperate
或多或少,是的。
or can the tracker somehow enforce the correct data?
一般情况下不会出现多个串通同行的情况。在 single/few 自私下载器的特殊情况下,可以通过交叉检查来自多个同行的统计数据来检测它们,但这很脆弱,需要一些微调的启发式方法来最大限度地减少误报,同时仍然获得不错的真阳性。
这基本上是一种拼凑,不是协议设计的目的。
对于 下载 统计,跟踪器也可以作为 bittorrent 对等方参与群,并根据 have
消息查看客户端的进度,但这不会不能用于上传,也不是那么可靠,因为不能保证它可以连接到群中的所有对等点以观察它们。