【发布时间】:2022-11-23 09:07:05
【问题描述】:
我正在尝试设置对等网络并试图了解它是如何工作的。
通常在客户端到服务器连接中,我会连接到服务器 IP 和端口。在后台,它会创建一个绑定到本地 ip 本地端口的客户端套接字,并将数据包发送到路由器。然后路由器会将本地端口和本地套接字 NAT 到客户端公共 ip 和一个不同的公共客户端套接字,目标为服务器 IP 和端口。
当服务器响应时,路由器将公共客户端ip和公共客户端端口DENAT回本地ip和本地端口,数据包到达计算机。
在点对点网络中,我可能有对等点的公共 IP,但它被许多机器共享并且路由器还不允许连接,所以没有一个开放的端口我可以将数据发送到。
然后有两个对等点联系服务器的选项。这会在路由器上打开一个端口。然后对等点将数据包发送到彼此的客户端端口。
但是,通常路由器只会接受来自发出请求的同一 IP 的数据包,因此两个对等点不能重用服务器的连接。
在这种情况下,两个同行如何相互交谈?
【问题讨论】: