TCP 将为两个路由器之间的冗余连接选择哪个接口?

网络工程 tcp
2022-02-18 04:47:39
        |------------1 same cost----|
Router 1|                           | Router 2
        |------------2 Same cost----|

如果我们在两个路由器之间有一个 ecmp 链接,使用哪个接口将形成 TCP 连接,比如说尝试使用环回地址作为两个路由器中的源和目标?

通常 TCP 运行在接口级别或系统级别?

2个回答

TCP 不选择要使用的接口。它由IP层处理,而TCP是传输层。TCP 只是将数据包扔到 IP 层,IP 层选择哪个路由,从而选择哪个接口用于会话。

通常,ECMP 应用于流或会话级别,在给定会话中,数据包始终转发到同一路径,除非链路断开。

会话通常被描述为 5 元组 - src ip/dst ip/src mac/dst mac/tcp 或 udp 端口​​。

ECMP 可以在会话级别或数据包级别应用,这取决于第 3 层设备的功能。例如,Palo Alto 3020 在会话级别而不是数据包级别执行 ECMP。意味着一旦 TCP/UDP 会话在握手后建立,数据将仅流向该 ISP 上的同一目的地,即使其他链接可用。只有下一个会话流量才会通过其他链接流动。