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

时间:2012-07-16 12:11:55

标签: tcp network-programming p2p

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

  1. 如果我知道同行的公共IP地址和目的地,我真的需要服务器吗?
  2. 在现实生活中,它是否真的有效以及可能导致其失败的网络策略是什么
  3. 对于Skype,如果理论上适用于任何端口,为什么还可选择443和80?

1 个答案:

答案 0 :(得分:1)

服务器的主要目的是帮助检测私有地址如何转换为公共地址,这只能从局域网外部看到。

  
      
  1. 如果我知道同行的公共IP地址和目的地,我真的需要服务器吗?
  2.   

没有

  
      
  1. 在现实生活中,它是否真的有效以及可能导致其失败的网络策略是什么
  2.   

除非您尝试访问的端口被防火墙破坏,否则如果您知道对等方的公共地址,则应该没有问题。

  
      
  1. 对于Skype,如果理论上适用于任何端口,为什么还可选择443和80?
  2.   

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

相关问题