通过NAT进行点对点通信

时间:2015-07-04 11:03:16

标签: networking network-programming

我有两个在NAT后面的对等设备。但问题来自于它们之间建立通信,因为有四种不同类型的NAT,每种都观察到不同的行为。在这种情况下可能的解决方案是什么? 我还有一个STUN服务器,用于中继对端设备的IP地址和端口号。

2 个答案:

答案 0 :(得分:0)

如果无法访问某些可以在网关上配置NAT的接口,则无法建立连接。就那么简单。 NAT旨在将通信数据包转发到NAT后面的(隐藏)主机,a)被配置为获取该特定端口的数据包或b)基于跟踪的连接。

通常,通过采用UPnP在SOHO路由器中克服了这个问题,UPnP允许“在运行中”设置端口转发。知道这与关闭防火墙和暴露PC基本相同,你不会在机构网络中得到它。您唯一的选择是使用第三方作为代理/代理,或使用VPN技术“桥接”这些网络(或将一方带入另一方的网络,更具体)。

答案 1 :(得分:0)

本文对我来说非常有用,以便了解打孔:https://www.usenix.org/legacy/event/usenix05/tech/general/full_papers/ford/ford.pdf

作为最后一个选项,当你不能进行打孔时,每个人所做的是通过服务器的典型实现。对等A和对等B通过服务器建立连接,可以随时轮询。