lxg*_*xgr 2 nat udp
每次客户端发送或接收数据包时,UDP 连接是否通过 NAT 重置超时,或者是否有任何(常见)实现要求客户端主动发送某些内容以保持连接活动?
我正在开发一个 UDP 流应用程序,我想知道如果没有有效负载数据,除了服务器已经发送的心跳之外,我是否还必须让客户端发送一个定期心跳。
Aln*_*tak 7
NAT 需要一个状态表,即原始(src_ip, src_port)元组到重写元组的映射。在某些实现中,该表还将包括(dst_ip, dst_port).
(src_ip, src_port)
(dst_ip, dst_port)
理论上,每次从 NAT 内部向外部发送新数据包时,从该状态表中删除条目的超时将被重置。每次接收到相反方向的新数据包时,它也可能被重置,但RFC 3022在这一点上没有具体说明。它只是说一旦会话完成,状态将被删除,但它没有定义什么构成会话。
因此,只要您继续向外发送流量,它就应该继续流动。
但是,如果主要流量是入站流量,则可能需要偶尔从客户端向服务器发送一个出站心跳数据包。
归档时间:
14 年,3 月 前
查看次数:
3438 次
最近记录: