RFC 5780 for STUN为服务器发送回请求客户端的STUN消息响应定义了Response-Origin属性 .
它将其描述为:
RESPONSE-ORIGIN属性由服务器插入,表示发送响应的源IP地址和端口 . 它对于检测双NAT配置很有用 . 它仅存在于绑定响应中 .
客户端如何使用服务器的源IP和端口来检测双NAT配置?无法从UDP数据包的源字段中轻松读取源地址信息,因为入站NAT只重写目标地址而不是源地址?
服务器可以说两件事:
i)它为您看到了什么IP地址 . 如果它与您的IP地址不匹配,您知道您和服务器之间存在NAT . 你已被翻译 .
ii)它为远程对等体看到的IP地址,以及远程对等体与服务器通信的IP地址 . 如果它们不匹配,则远程对等体也支持NAT .
因此,您可以找到您是否正在处理双NAT情况 .
现在不要将此与您和服务器之间存在两个NAT的情况混淆 . 但在这种情况下,您不必担心,因为服务器将在您从服务器到服务器的途中使用最后一个NAT .
1 回答
服务器可以说两件事:
i)它为您看到了什么IP地址 . 如果它与您的IP地址不匹配,您知道您和服务器之间存在NAT . 你已被翻译 .
ii)它为远程对等体看到的IP地址,以及远程对等体与服务器通信的IP地址 . 如果它们不匹配,则远程对等体也支持NAT .
因此,您可以找到您是否正在处理双NAT情况 .
现在不要将此与您和服务器之间存在两个NAT的情况混淆 . 但在这种情况下,您不必担心,因为服务器将在您从服务器到服务器的途中使用最后一个NAT .