何时将UDP连接视为UDP流

时间:2019-03-01 09:32:00

标签: networking udp firewall nat

在NAT中,UDP会话有两个不同的超时时间。

  • UDP超时
  • UDP流超时

在大多数NAT配置中,UDP timeout设置为30 seconds。但是,UDP stream timeout设置为180 seconds。我了解网络管理员可能会更改配置。但是,UDP会话由一对源端点和目标端点标识。 NAT应该将连接分类为流。

我的问题是NAT如何以及何时将连接分类为流,何时不将其分类为流?尽管似乎有一对连续的双向send()receive()将UDP连接分类为流,但是我没有找到有据可查的证据。

我还假设不同的NAT策略应用不同的算法。但是,是否有任何RFC或任何公开的文件来记录这些算法?

在下面的link中,流被定义为双向通讯的会话。但是需要多少个发送和接收?在不同的NAT中是否有所不同?

  

在这种情况下,“流”表示连接跟踪机制具有   在“双向”上看到数据包,因此默认超时时间更长。如果   仅看到一个方向,则应用“另一个”超时。

1 个答案:

答案 0 :(得分:0)

通常,当LAN客户端将UDP数据报发送到WAN时,NAT会将UDP流(也称为端口状态)与用于将数据报发送到WAN的端口相关联。当NAT在特定端口上从WAN接收到UDP数据报时,它会查看是否有与该端口相关联的UDP流,如果存在,它将数据报转发到关联的LAN客户端。否则,数据报将被丢弃。

当两个不同的LAN客户端想要通过WAN相互发送UDP数据报时,遍历其NAT的一种常见做法是UDP hole punching:两个客户端都开始从/从同一端口相互发送数据报,这样它们的NAT关联UDP流并开始转发数据报。