Tcp 为什么p2p的nat打孔需要服务器

Tcp 为什么p2p的nat打孔需要服务器,tcp,network-programming,p2p,Tcp,Network Programming,P2p,我需要实现一个p2p通信器,并阅读有关nat打孔的内容。有几个问题我不太明白: 如果我知道对等方的公共IP地址和目的地,我真的需要服务器吗 在现实生活中,它真的有效吗?哪些网络策略可能导致它失败 对于Skype,如果理论上适用于任何端口,为什么还需要443和80 服务器的主要用途是帮助检测私有地址如何转换为公共地址,这只能从LAN外部看到 如果我知道对等方的公共IP地址和目的地,我真的需要服务器吗 没有 在现实生活中,它真的有效吗?哪些网络策略可能导致它失败 除非您试图访问的端口被防火墙堵塞,否

我需要实现一个p2p通信器,并阅读有关nat打孔的内容。有几个问题我不太明白:

  • 如果我知道对等方的公共IP地址和目的地,我真的需要服务器吗
  • 在现实生活中,它真的有效吗?哪些网络策略可能导致它失败
  • 对于Skype,如果理论上适用于任何端口,为什么还需要443和80

  • 服务器的主要用途是帮助检测私有地址如何转换为公共地址,这只能从LAN外部看到

  • 如果我知道对等方的公共IP地址和目的地,我真的需要服务器吗
  • 没有

  • 在现实生活中,它真的有效吗?哪些网络策略可能导致它失败
  • 除非您试图访问的端口被防火墙堵塞,否则如果您知道对等方的公共地址,就不会有问题

  • 对于Skype,如果理论上适用于任何端口,为什么还需要443和80

  • 因为这些端口通常是打开的(即未被NAT/防火墙阻止),而其他端口不一定是打开的。

    错误的站点。在serverfault.com上询问此问题为什么防火墙会导致问题?我认为包的构造方式会使它们看起来像是对来自专用网络的请求的响应?