谁能UDP hole punching
以简单的方式解释工作原理?我知道如何NAT
和如何PAT
工作,但无法清楚地了解UDP hole punching
.
“UDP 打孔”如何工作?
网络工程
纳特
UDP
交通
2021-07-09 20:25:14
1个回答
细节各不相同,但基本上是这样的。
- 两个对等方都打开一个绑定到随机本地端口的 UDP 套接字
- 两个对等点都联系 Internet 上的服务器。该服务器响应并告诉他们他们的数据包是从哪个 IP 和端口接收的。由于服务器在 Internet 上,服务器看到的 IP/端口是外部 IP 和端口
- 两个对等体通过某种机制交换有关外部 IP 和端口的信息。
- 两个对等方开始尝试相互发送 UDP 流量。
- 希望 NAT 用于到服务器的流量的外部 IP 和端口与用于发送到其他对等方的流量的外部 IP 和端口相同。因此,一旦两个对等方都通过它们的 NAT 将数据包发送出去,传入的数据包就会匹配映射并建立对等通信。
该策略将可靠地与全锥、受限锥或受限端口锥 NAT 配合使用。大多数情况下,它将与端口保留对称 NAT 一起使用。它不适用于随机化对称 NAT。