路由表中的更改会影响现有的 TCP/IP 连接吗?

net*_*ope 4 networking routing

如果问题不够清楚,请考虑以下情况:

  1. 建立从计算机 C 到服务器 X 的 TCP/IP 连接
  2. 将(计算机 C 的)默认网关从网关 A 更改为网关 B(两个网关都可以到达服务器 X)

现在,数据包将通过哪个网关?如果取决于操作系统,请告诉我 Windows 和 Linux 的行为。

shf*_*301 7

假设操作系统网络堆栈立即应用更改,则数据包将通过当前网关。

默认路由和一般路由是仅 IP 且 IP 是无状态的。它只是一个数据包移动器。也就是说,它从 IP A 到 IP B 获取数据包。数据包之间没有存储状态,这是针对 TCP 的。

TCP 不关心它采用什么路由,TCP 状态基于源 IP/端口和目标 IP/端口,因此您的 TCP 连接不应中断。除非您的网关是 NAT 并且更改网关会使 IP 数据包通过另一个 NAT。

这个问题的真正测试是设置场景并查看会发生什么,但我假设您是出于好奇而问的。