什么类型的 NAT 组合需要 TURN 服务器?
What type of NAT combinations requires a TURN server?
根据:
https://en.wikipedia.org/wiki/Network_address_translation
有 4 种类型的 NAT 配置:
全锥、地址受限、端口受限和对称。
现在,假设我们的客户端 A 和客户端 B 在不同的网络上,并且隐藏在它们自己的独立 NAT 后面。
"client A NAT type" + "client B NAT type" 的哪些组合需要 TURN 服务器参与(即 STUN 协议无法解决)如果他们想进行 p2p 通信?
例如,
我会怀疑:
”
客户端 A NAT = 对称 + 客户端 B NAT = 对称
“
需要 TURN 服务器。
剩下的组合是什么?
对称到对称:TURN
与受限端口对称:TURN
与受限地址对称:STUN(但可能不可靠)
与圆锥体对称:STUN
其他一切都可以通过 STUN。
有一些已知技术可以猜测对称 NAT 的端口分配算法(通常对称 NAT 只是继续使用下一个增量端口号)。因此,如果通过 STUN 知道 NAT 是对称的,并且通过 STUN 测试观察到两个不同地址的端口映射仅相差一个,那么下一个端口分配就可以被猜测并用作地址候选。
即使对于上面列为 STUN 的 NAT 配对,STUN 也不是 100% 可靠的,并且对于 TCP 的可靠性不如 UDP。云端中继让您更接近 100% 遍历。
根据:
https://en.wikipedia.org/wiki/Network_address_translation
有 4 种类型的 NAT 配置:
全锥、地址受限、端口受限和对称。
现在,假设我们的客户端 A 和客户端 B 在不同的网络上,并且隐藏在它们自己的独立 NAT 后面。
"client A NAT type" + "client B NAT type" 的哪些组合需要 TURN 服务器参与(即 STUN 协议无法解决)如果他们想进行 p2p 通信?
例如, 我会怀疑:
” 客户端 A NAT = 对称 + 客户端 B NAT = 对称 “ 需要 TURN 服务器。
剩下的组合是什么?
对称到对称:TURN
与受限端口对称:TURN
与受限地址对称:STUN(但可能不可靠)
与圆锥体对称:STUN
其他一切都可以通过 STUN。
有一些已知技术可以猜测对称 NAT 的端口分配算法(通常对称 NAT 只是继续使用下一个增量端口号)。因此,如果通过 STUN 知道 NAT 是对称的,并且通过 STUN 测试观察到两个不同地址的端口映射仅相差一个,那么下一个端口分配就可以被猜测并用作地址候选。
即使对于上面列为 STUN 的 NAT 配对,STUN 也不是 100% 可靠的,并且对于 TCP 的可靠性不如 UDP。云端中继让您更接近 100% 遍历。