嗨,这让我很困惑,无法理解,首先要有一些假设
1.
如果恶意网络中的某台计算机尝试向我的计算机发送数据,我的路由器的 NAT-PAT 防火墙将会忽略它,不会让它通过或将其路由到我的计算机,但是,如果我向他们发送了请求,他们可以响应,但我不能向他们发送请求,除非他们有一个通过防火墙转发的端口。
2.
点对点的工作方式是用户之间互相发送数据(例如,在 torrent 中),每个人都可以共享自己拥有的数据,而无需通过带有端口转发的中央服务器。
问题。
那么当我加入一个 torrent 时,如果我们都没有转发端口,我的计算机如何开始向其他对等体发送或接收数据?
答案1
那么当我加入一个 torrent 时,如果我们都没有转发端口,我的计算机如何开始向其他对等体发送或接收数据?
答案是,对于 torrent,您不能这样做。为了能够在 p2p 网络中连接,双方中的一方必须在防火墙中打开一个端口才能连接。大多数 torrent 软件将使用 UPnP 自动在防火墙中打开一个端口并为 torrent 软件设置端口转发。
当您连接到具有开放端口的某个人时,这只是一个正常连接。
当您拥有开放的端口,并且想要连接到防火墙上未开放端口的用户时,您的 torrent 软件会在跟踪器上列出您的机器,以及您开放的 IP 和端口,然后您必须等待其他用户连接到您,然后才能开始与他们通信。
一些 p2p 网络(但 torrent 不使用这种方法)将使用第三方对等体(p2p 网络中的另一台打开其端口的机器)来传递连接,这通常被称为“超级节点“。绕过防火墙的另一种方法是使用第三方交换“元数据”,然后执行NAT 打洞与您的合作伙伴建立直接联系。