事情并非看起来那么容易。路由器 A 和 B 上的 eth1 和 eth2 都需要关闭返回路径过滤,因为否则它们会丢弃目标 IP 地址不是自身地址的数据包。
# echo 0 > /proc/net/ipv4/conf/eth1/rp_filter # echo 0 > /proc/net/ipv4/conf/eth2/rp_filter |
然后是糟糕的数据包重排序问题。假设需要从 A 发送到 B 6 个数据包 - eth1 可能会发送 1、3 和 5。然后 eth2 将发送 2、4 和 6。在理想情况下,路由器 B 将按顺序接收这些数据包,1、2、3、4、5、6。但内核很可能以这样的顺序接收:2、1、4、3、6、5。问题是这会使 TCP/IP 感到困惑。虽然对于承载许多不同 TCP/IP 会话的链接来说这不是问题,但是您将无法捆绑多个链接并更快地 ftp 单个文件,除非您的接收或发送操作系统是 Linux,Linux 不容易被一些简单的重排序所影响。
然而,对于许多应用程序来说,链路负载均衡是一个好主意。