什么类型的NAT组合需要TURN服务器?

时间:2015-07-15 08:09:57

标签: p2p nat stun turn

根据:

https://en.wikipedia.org/wiki/Network_address_translation

有4种类型的NAT配置:

全锥,地址受限,端口受限和对称。

现在,假设我们在不同的网络上有客户端A和客户端B,并隐藏在他们自己的独立NAT之后。

“客户端A NAT类型”+“客户端B NAT类型”的哪些组合需要使用TURN服务器(即STUN协议无法解决),如果他们想进行p2p通信?

例如, 我怀疑:

” 客户端A NAT =对称+客户端B NAT =对称 “ 需要TURN服务器。

其余的组合是什么?

1 个答案:

答案 0 :(得分:4)

对称到对称:TURN

对称于受限制的端口:TURN

对称地址限制:STUN(但可能不可靠)

与锥形对称:STUN

其他一切都可以通过STUN。

有一些已知技术可以为对称NAT猜测端口分配算法(通常对称NAT只使用下一个增量端口号)。因此,如果您通过STUN知道NAT是对称的并且通过STUN测试观察到两个不同地址的端口映射仅仅是1,那么可以猜测下一个端口分配并将其用作地址候选。

即使对于上面列为STUN的NAT配对,STUN也不是100%可靠,并且TCP的可靠性低于UDP。云中的中继使您更接近100%遍历。