NAT打洞
关于端口限制型与对称型打洞,假如A是端口限制性NAT,B是对称型NAT,C是服务器
1、A与C、B与C进行一次通讯,假设A发给C的IP和端口是IPA:PORTA,B发给C的IP和端口是IPB:PORTB1
2、C给B发消息,让B与A进行一次通讯,假设B发给A的IP和端口是IPB:PORTB2,B就有A的映射关系了,B能给A发了,B等A的回复
3、C给A发消息,让A给B回复,A给B的回复的IP和端口是IPA:PORTA,A也能给B发了
这样不是也能打洞吗,为什么其他地方都说端口限制型与对称型不能打洞,哪里有问题吗
端口限制型与对称型为什么不能打洞
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
檀越@新空间 2024-05-20 12:36关注中午好🌞🌞🌞
本答案参考ChatGPT-3.5对于端口限制型和对称型NAT,虽然在某些条件下可以打洞,但是这种情况是少见的,不稳定的,并不是一种可靠的方法。原因如下:
-
端口限制型NAT在端口映射时,只对从NAT内部发出的源端口做映射,即只有在NAT内部先有一个请求时,才能进行端口映射。因此,当两台端口限制型NAT设备之间进行通信时,由于先后顺序问题,很难建立有效的映射。
-
对称型NAT在映射端口时,除了源IP和源端口外,还会考虑目标IP和目标端口,该映射关系只能是单向的,而不能为后续的数据包建立回传的映射关系。因此,当两台对称型NAT设备之间进行通信时,由于映射关系只能单向存在,如果没有第三台设备协助,就很难建立可靠的映射。
解决方案:
-
可以使用转发服务器协助打洞,让A和B都连接到转发服务器并与其建立通信。然后,通过转发服务器使A和B互相发起一个请求建立映射。
-
如果要在两个NAT设备之间建立可靠的映射,可以使用ICE(Interactive Connectivity Establishment)协议。该协议可以通过UDP、TCP、TLS等协议层次进行验证,以解决NAT穿越的问题。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报-