![Linux 上的网络绑定模式 balance-rr / 802.3ad layer3+4](https://linux22.com/image/719281/Linux%20%E4%B8%8A%E7%9A%84%E7%BD%91%E7%BB%9C%E7%BB%91%E5%AE%9A%E6%A8%A1%E5%BC%8F%20balance-rr%20%2F%20802.3ad%20layer3%2B4.png)
有什么区别平衡-rr和802.3ad 将 xmit_hash_policy 设置为 layer3+4。
https://www.kernel.org/doc/Documentation/networking/bonding.txt
layer3+4
:此算法不完全符合 802.3ad 标准。包含分段和未分段数据包的单个 TCP 或 UDP 对话将看到数据包跨两个接口进行分片。这可能会导致无序传送。大多数流量类型都不符合此标准,因为 TCP 很少分段流量,并且大多数 UDP 流量不涉及扩展对话。802.3ad 的其他实现可能会也可能不会容忍这种不合规性。
答案1
802.3ad将 xmit_hash_policy 设置为 layer3+4 是一种绑定模式,它是标准、合理且广泛使用的模式之一。与许多其他模式一样,它不允许单个 TCP 连接的吞吐量超过 100%。实际上,据我所知,您引用的碎片数据包免责声明并不相关。
平衡-rr是一种非常特殊且很少使用的平衡模式。它主要用于专用的备份-恢复子网。当由联合网络和系统管理人员维护时,通过专门设置的交换机和所有服务器/路由器,经过一点测试,您可以实现单个 TCP 连接的 >100% 吞吐量。但不要指望 200%。(请记住测试两个方向,除非您希望恢复速度非常慢)。如果一个链接断开,其余链接将正常运行。
您已经链接到详细的技术描述,所以我知道您想要一个高级答案。
答案2
链路聚合组 (LAG) 不仅用于增加带宽,还用于链路备份。如果 LAG 的一条链路发生故障,则 Balance-rr LAG 将无法正常工作,但 802.3ad LAG 可以在减少带宽的情况下正常工作。
balance-rr LAG 允许将全部 LAG 带宽用于一个 TCP/UDP 连接,但 802.3ad LAG 仅允许使用一个链路带宽。balance-rr LAG 不支持备份恢复。它与 Cisco Etherchannel LAG 完美配合。许多 Cisco 交换机仅支持 Etherchannel LAG,不支持 802.3ad LACP。