我已经读过这个问题 ,但对称NAT的解释还不够详细。
请有人能帮我理解下面的段落吗?
我读了关于对称NAT的这个:
如果同一个内部主机发送一个数据包,即使源地址和端口号相同,但是到不同的外部源IP地址和端口,每个来自同一个内部IP地址和端口的请求也会映射到一个唯一的外部源IP地址和端口目的地,使用不同的映射。 只有从内部主机接收数据包的外部主机才能发回数据包。
http://en.wikipedia.org/wiki/Network_address_translation#Types_of_NAT
而这个关于UDP Hole-punching :
对于在大型企业networking中常见的对称NAT设备(也称为双向NAT),UDP打孔不起作用。 在对称NAT中,与连接到知名STUN服务器相关联的NAT映射受限于从知名服务器接收数据,因此知名服务器看到的NAT映射对端点来说并不是有用的信息。
http://en.wikipedia.org/wiki/UDP_hole_punching
但我并没有真正吸收它。 我感觉到它告诉我(在客户端启动通信的客户端 – 服务器应用程序中),除非NAT设备明确允许,否则服务器不能以另一种方式进行通信。 我不明白为什么这就是它的意思。 如果可能的话,你能简化一下这个描述吗?
在我们的环境中,我们遇到了一个问题,一个知名的远程支持工具不能被同样知名的软件供应商用来为我们提供支持。 客户端是代理感知的,但对于某些共鸣,它认为不使用它可能是一个好主意,并通过端口1153上的UDP做一些完全不同的事情。
从我们的聊天…所以其他人可能无法得到完整的交谈,但基本知识在这里。
所以基本的NAT = source address:port >> external address:port >> NAT>> new source address:port >> external address port
使用对称的NAT,它是一个静态映射,每次都是一样的,源和目的地都是一样的。
例如: 192.168.100.5:34983 going to 4.2.2.2:53 then REQUIRE it to be 216.222.222.222:44444 with destination 8.8.8.8:333333 : 192.168.100.5:34983 going to 4.2.2.2:53 then REQUIRE it to be 216.222.222.222:44444 with destination 8.8.8.8:333333
“在客户端启动通信的客户端 – 服务器应用程序中),除非NAT设备明确允许,否则服务器不能以其他方式进行通信。
你说的那部分是不正确的 ,应该是 :
在客户端启动通信的客户端 – 服务器应用程序中)服务器CAN在源之后build立会话在会话中使用的端口之后以另一种方式进行通信。
如果2.2.2.2:43424转到5.5.5.5:80则意味着5.5.5.5:80会话build立后将信息发送回2.2.2.2:43424。 在你的句子中,这个会话只会被传送到目的地,而目的地永远不会回应分组/信息/graphics/任何东西。
“在我们的环境中,一个着名的远程支持工具不能被同样知名的软件供应商用来为我们提供支持。我们遇到了一个问题,客户端是代理感知的,但对于某些共鸣,它认为它可能是一个好主意不要使用它,并通过端口1153上的UDP做一些完全不同的事情。
这可能是因为他们只是阻止Logmein / Teamviewer /端口级别的任何事情,因为他们要求使用不同的端口…所以他们认为如果你允许或沟通1153它将绕过自己的IT限制…最好的我可以想到,不知道详细的应用程序或全部细节。 与对称NAT或UDP打孔没有任何关系,至less就其自身提出的问题而言。
我会build议他们的支持团队与他们一起工作的远程支持工具,或与他们合作,以确定一种方法来使用您喜欢的工具。 如果这意味着某些端口NAT /规则,那么您需要与他们和您的networking团队一起工作才能确定这一部分。
希望有所帮助。


看看这些来自维基百科“networking地址翻译”页面的图片。
在“全锥形NAT”
在对称NAT中
现在让我们来讨论为什么UDP打孔不能在Symmetric NAT中工作。 假设Server1是STUN服务器,Server2是不同专用networking的NAT设备。 在UDP打孔中,Client与Server1连接,在NAT设备上创build端口映射。 但是当这个客户端连接到Server2后面的主机时,NAT设备会创build另一个端口映射,如图2所示。Server1与Server2后面的主机共享客户端端口映射,并使用此端口映射Server2无法build立连接,Server2不知道第二个由NAT设备创build的端口映射。