【发布时间】:2014-01-05 13:21:02
【问题描述】:
据我所知,NAT 会为每个 tcp 或 udp 映射条目设置一个超时值,假设这里是一个 NAT,它有两个映射条目:一个作为 udp 对,另一个作为 tcp 对。我的问题是:
当 tcp/udp 对映射因超时而被丢弃时,端点会发生什么情况?端点会收到 NAT 通知吗?如果端点仍然尝试向其通信对等方发送数据包会发生什么?
【问题讨论】:
标签: linux sockets tcp router nat
据我所知,NAT 会为每个 tcp 或 udp 映射条目设置一个超时值,假设这里是一个 NAT,它有两个映射条目:一个作为 udp 对,另一个作为 tcp 对。我的问题是:
当 tcp/udp 对映射因超时而被丢弃时,端点会发生什么情况?端点会收到 NAT 通知吗?如果端点仍然尝试向其通信对等方发送数据包会发生什么?
【问题讨论】:
标签: linux sockets tcp router nat
TCP 连接有一个“保持通信活动”机制,它也会保持映射活动。所以你不太可能面临超时。但是,让我们假设您达到了超时(无论是否使用 UDP),您的代码最多会在您尝试编写数据包时抛出错误。这由 TCP 层处理。
【讨论】: