我正在尝试查看某个NAT后面是否可以进行UDP打孔,但是我发现当NAT后面的计算机将UDP数据包发送到两个不同的IP到同一个端口,同时绑定到同一个端口端口,NAT分配两个不同的外部端口号。所以在这个特定的NAT背后,我相信UDP打孔是不可能的,这是正确的吗?
谢谢
答案 0 :(得分:1)
不一定。路由器可能愿意回复IGD。
答案 1 :(得分:1)
它意味着你的NaT Symetric,如果你的NaT是Symetric,它为每个连接提供了不同的外部端口。并且它不可能从两个方向连接打孔但是它#&#&# 39; s仍然可以连接p2p。但只有当代理方使用圆锥形Nat时才有可能。搜索它。
但如果使用Symetric NaT的两个位置无法将p2p连接与Udp Hole Punching连接。
但您仍然可以使用端口预测方法。这意味着你必须猜测哪个端口可以连接使用并尝试连接它(Tcp Hole Punch)
对于Conic NaT可以查看UDP打孔请查看https://github.com/turapulku/NaT-Traversal-UDP-Hole-punch.git
中的示例那仍然在发展,但现在我希望它有所帮助
答案 2 :(得分:0)
您可以使用此网站确认此特定NAT的行为。
http://nattest.net.in.tum.de/test.php
它将检查您的NAT类型并测试是否可以进行UDP / TCP打孔。
但由于您已经知道端口分配是随机的,因此无法进行UDP打孔。使用UPnP是另一种方式,但在嵌套NAT后面不起作用。