2012-03-11 85 views
1

RFC 5780为STUN定义了由服务器发送回请求客户端的STUN消息响应的Response-Origin属性。STUN协议:如何检测两次或两次NAT防火墙?

它把它描述为:

响应-ORIGIN属性是由服务器插入并表示响应从发送源IP地址和端口。这对检测双重NAT配置很有用。它仅存在于绑定响应中。

客户端如何使用服务器的源IP和端口来检测双重NAT配置?无法从UDP数据包的源字段中轻松读取源地址信息,因为入站NAT仅重新写入目标地址而不是源地址?

回答

0

服务器可以告诉两件事:

i)它为您提供什么IP地址。如果它不匹配你的IP地址,你知道你和服务器之间有一个NAT。您已被翻译。

ii)它看到远程对等体的IP地址,以及远程对等体与服务器通信的IP地址。如果它们不匹配,则远程对等体也在NAT后面。

因此,你可以找到你是否正在处理双重NAT的情况。

现在,不要将这与您和服务器之间存在两个NAT的情况混淆。但在这种情况下,您不必担心,因为服务器将在您从您到服务器的路上使用最后一次NAT。

+0

因此,如果我正确地听到您的意思,那么您说当RFC 5780引用双重NAT时,它指的是您的远程对等方也是NAT。但是,如果这是正确的,我也没有看到RESPONSE-ORIGIN属性如何对此有所帮助。该规范将RESPONSE-ORIGIN定义为包含STUN服务器的IP和端口信息,而不是远程对等端的信息。该信息如何有助于确定有关远程对等方的信息? – Nantucket 2012-03-12 23:40:15

+0

您在RFC 5780中读到RESPONSE-ORIGIN是服务器IP和端口的位置?哪一页?它只是说它插入了应答者的信息,而不是它自己的IP地址和端口。 – JVerstry 2012-03-12 23:56:05

+0

在我从RFC 5780引用的行中,它表示RESPONSE-ORIGIN“由服务器插入,并指示响应从其发送来的源IP地址和端口”。响应将从服务器的IP和端口发送。 – Nantucket 2012-03-13 06:45:28