是否可以使用两个STUN服务器来确定NAT的映射行为?有点像这里。
有三种映射行为:
端点-独立映射:NAT重用从同一个内部IP地址和端口(X:x)发送到任何外部IP地址和端口的后续数据包的端口映射。具体来说,X1‘:X1’等于X2‘:X2’对于所有Y。
地址依赖映射:NAT重用从相同内部IP地址和端口(X:x)发送到相同外部IP地址的后续数据包的端口映射,而不管外部端口如何。具体来说,X1‘:X1’等于X2‘:X2’当且仅当,Y2等于Y1。
地址和与端口相关的映射():NAT对从相同内部IP地址和端口(X:x)发送到相同外部IP地址和端口的后续数据包重用端口映射,而映射仍处于活动状态。具体来说,X1‘:X1’等于X2‘:X2’当且仅当,Y2:y2等于Y1:y1。
因此,理论上,如果您向两个不同的STUN服务器请求您的公共IP地址,并且得到相同的IP:port,那么您应该有一个端点无关的映射,对吗?但是,如何区分另外两种类型呢?
发布于 2022-06-29 18:40:59
我会尝试在同一台主机上的不同端口上设置两个stun服务器。
因此,总共需要3台眩晕服务器:两台位于同一台主机上,另一台位于另一台上。
如果您得到3种不同的候选对象,则必须是地址和端口相关映射;2是与地址相关的均值;1是依赖于端点的;0- udp可能被阻塞。
但是这种方法需要进行彻底的测试,我相信可能会有一些依赖浏览器的惊喜(请参阅您提供的文章中的esser50k
评论)。
https://stackoverflow.com/questions/72805316
复制相似问题