为什么 bittorrent 需要这么多端口?..为什么不是 1-2 个?我知道其中一些用于对等发现,但不知道这是怎么发生的。您能否提供更多关于 bittorent 工作原理的技术信息(比维基百科中描述的更深入)?
答案1
谷歌表示:
“BitTorrent 客户端通常关联 TCP 端口号 6881。但是,如果此端口由于某种原因繁忙,客户端将依次尝试更高的端口(6882、6883 等,最高可达 6999)。为了让外部 BitTorrent 客户端能够访问此端口,它们必须能够连接到正确的端口。”
如果你好奇的话,以下是规格,http://wiki.theory.org/BitTorrentSpecification
答案2
BitTorrent 需要很多端口,因为它会建立很多出站连接。典型的操作系统(包括 Windows、Linux 和大多数其他操作系统)只允许一个出站每连接当地的每个 IP 地址一个端口。所有入站连接都将使用相同的本地端口。但操作系统将为每个出站连接分配一个随机本地端口。
您的出站连接将具有其他客户端正在侦听的远程端口。您的入站连接将具有基本上随机的远程端口,因为它们是由远程操作系统随机分配的。
通常,TCP 连接在接收端只有一个众所周知的端口。BitTorrent 也不例外。很可能它只是对你来说不寻常,因为你不习惯拥有大量的入站连接。另外,有些人会特意更改他们的 BitTorrent 服务器端口,而您必须通过他们正在使用的任何端口连接到他们,无论它是否是众所周知的正常端口 (6881)。