balance-rr和xmit_hash_policy 设置为 layer3+4的802.3ad 有什么区别。
https://www.kernel.org/doc/Documentation/networking/bonding.txt
layer3+4
:此算法不完全符合 802.3ad。包含分段和未分段数据包的单个 TCP 或 UDP 会话将看到跨两个接口的数据包条带化。这可能会导致无序交付。大多数流量类型将不符合此标准,因为 TCP 很少对流量进行分段,并且大多数 UDP 流量不涉及扩展对话。802.3ad 的其他实现可能会或可能不会容忍这种不合规性。
将 xmit_hash_policy 设置为 layer3+4 的802.3ad是一种标准的、合理的和广泛使用的绑定模式。像许多其他人一样,它不允许单个 TCP 连接的吞吐量超过 100%。实际上,据我所知,您引用的分段数据包免责声明并不相关。
balance-rr是一种非常特殊且很少使用的平衡模式。它主要用于专用的备份-恢复子网。当与联合网络和系统管理人员一起维护时,通过专门设置交换机和专门设置所有服务器/路由器,通过一些测试,您可以实现单个 TCP 连接的 >100% 吞吐量。不过不要指望200%。(记得测试两个方向,除非你喜欢你的恢复很慢)。如果一个链接断开,其余的将起作用。
您已经链接到详细的技术描述,所以我发现您想要一个高级别的答案。
链路聚合组(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。