UDP,防火墙和nat

时间:2019-01-29 13:10:41

标签: networking udp

我正在调试一些使用UDP通信的代码。 我的 CLIENT 位于NAT和防火墙的后面。 我的服务器是一台我打开了UDP端口的AWS机器。 但是,该协议的一部分涉及服务器应答我的客户端。我希望它不起作用(NAT和防火墙)。令我惊讶的是,我的客户端正在接收来自服务器的数据包!

这怎么可能?我的意思是,TCP(基于UDP)具有连接的概念,因此我猜想NAT和路由器可以将传入的UDP数据包关联为对出口连接的答复。但是,这对于纯UDP协议如何(以及为什么)起作用?我的NAT /防火墙会允许随机UDP进入客户端计算机吗?

1 个答案:

答案 0 :(得分:1)

  

这怎么可能?

这就是NAT的工作方式。您写道服务器正在 answering 您的客户端。这意味着客户发起了对话。使用UDP而不使用TCP都没关系。 NAT设备仍会创建适当的映射以使答案通过。否则,所有UDP都将被NAT破坏。

  

我的意思是,TCP(通过UDP)具有连接的概念,所以我想   NAT和路由器可以将传入的UDP数据包关联为答复   到出口连接。但是,这如何(以及为什么)对纯   UDP协议?

UDP不是面向连接的事实是无关紧要的。当然,TCP具有会话的概念,但是两者都有端口号,这实际上是NAT的全部需求。

  

我的NAT /防火墙会允许随机UDP进入客户端计算机吗?

它不是“某些随机UDP”。这是UDP段,来自客户端向其发送邮件的相同IP和端口号。