UDP 无需路由器端口转发即可自动穿过路由器?

UDP 无需路由器端口转发即可自动穿过路由器?

大家都知道路由器就像防火墙一样,没有端口转发的话,路由器外部是无法发起连接(不管是TCP还是UDP)的,但是如果用户在路由器内部成功发起TCP连接,那么路由器两端就可以互相通信了。

UDP 会发生什么情况?如果路由器后面的用户(他根本没有进行任何端口转发)将 UDP 发送到外部 PC(假设该 PC 中没有任何防火墙或任何阻止接收数据报的东西),并且 PC 会收到它。如果 PC 想要将一些数据发送回路由器后面的用户怎么办?用户可以接收数据吗?或者数据是否可以通过路由器而无需任何特殊操作?

我之所以问这个问题,是因为大家都知道 UDP 是无连接的。但是,我相信有些在线射击游戏使用 UDP。如果我加入服务器玩游戏,我不需要做任何有关端口转发的事情,但我和服务器之间的 UDP 数据传输仍然可以进行。

有什么可以向我解释一下吗?

多谢。

杰克

答案1

状态防火墙可以跟踪 UDP。一旦它发现数据包从伪装的内部机器发往互联网上的 IP 地址,它就会为 UDP 创建已建立的连接。任何响应流量都会自动转发到内部机器。

答案2

如果“每个人都知道”这一点,那么他们仍然是错的。

国内 NAT/路由器最终会意外阻止传入连接。这不是功能,而是侥幸。因此,您不能太依赖它的行为。例如,它基本上没有安全优势。

IETF 有一个完整的工作组来定义这些设备应该做什么才能减少混乱:表现

我参考该页面是因为有太多文档无法单独链接。

有很多方法可以通过 NAT 设备获取数据,其中一些在行为页面上列出,还有眩晕即插即用NAT-PMP, 和泰雷多

回答你最初的问题,这完全取决于情况。有时传出的数据包会为响应打开一个针孔,有时某些端口有代理,有时需要某种遍历解决方案。有时它完全不起作用。

相关内容