大家好,欢迎来到IT知识分享网。
在 Linux 系统中使用网络绑定(Network Bonding)技术来组合多个物理网络接口卡(NIC)为一个逻辑接口,以提高网络的可用性或带宽。网络绑定允许多个物理 NIC 协同工作,以实现负载均衡、故障容忍和网络冗余。
01
Bond 模式对比
基本介绍
Bond 模式 |
名称 |
说明 |
mode 0 |
balance-rr |
轮询均衡模式 |
mode 1 |
active-backup |
主备模式 |
mode 2 |
balance-xor |
HASH负载均衡模式 |
mode 3 |
broadcast |
广播模式 |
mode 4 |
802.3ad |
动态链路聚合模式 |
mode 5 |
balance-tlb |
自适应传输负载平衡模式 |
mode 6 |
balance-alb |
自适应负载平衡模式 |
交换机配置
Bond 模式 |
名称 |
交换机上的配置 |
mode 0 |
balance-rr |
启用静态 Etherchannel,无 LACP 协商 |
mode 1 |
active-backup |
自治端口 |
mode 2 |
balance-xor |
启用静态 Etherchannel,无 LACP 协商 |
mode 3 |
broadcast |
启用静态 Etherchannel,无 LACP 协商 |
mode 4 |
802.3ad |
需要启用 LACP 协商的 Etherchannel |
mode 5 |
balance-tlb |
自治端口 |
mode 6 |
balance-alb |
自治端口 |
LACP(Link Aggregation Control Protocol,链路聚合控制协议)是一种基于 IEEE802.3ad 标准的实现链路动态聚合与解聚合的协议
使用场景
Bond 模式 |
名称 |
场景 |
mode 0 |
balance-rr |
用于需要简单负载均衡的场景,但不关心 NIC 的性能差异的情况 |
mode 1 |
active-backup |
用于需要冗余性和故障恢复的场景,但不需要负载均衡 |
mode 2 |
balance-xor |
使用较少 |
mode 3 |
broadcast |
使用较少 |
mode 4 |
802.3ad |
用于需要较高带宽和负载均衡的场景 |
mode 5 |
balance-tlb |
用于需要增加传出带宽,但不关心接收带宽的场景 |
mode 6 |
balance-alb |
用于需要最大化带宽的场景,但可能会增加 CPU 负载 |
02
常用 Bond 模式详细说明
Mode 0(balance-rr)
轮询(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力。
Mode 1 (active-backup)
主备策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见。
Mode 4 (802.3ad)
IEEE 802.3ad 动态链路聚合。创建共享相同的速率和双工模式的聚合组。能根据802.3ad规范利用所有的slave来建立聚合链路。Salve的出站选择取决于传输的hash策略,默认策略是简单的XOR策略,而hash策略则可以通xmit_hash_policy选项加以改变。
Mode 5 (balance-tlb)
自适应传输负载均衡:信道绑定不需要特殊的交换机支持。出口流量的分布取决于当前每个slave的负载(计算相对速度)。进口流量从当前的slave的接收。如果接收salve出错,其他的slave接管失败的slave的MAC地址继续接收。
先决条件:每个slave的基本驱动支持Ehtool获取速率状态。
Mode 6 (balance-alb)
自适应负载均衡:包括balance-tlb(模式5)以及用于IPV4流量的接收负载均衡,并且不需要特殊的交换机支持。接收负载均衡通过ARP协商实现。
先决条件:
- 每个slave的基本驱动支持Ehtool获取速率状态。
- 基本驱动支持当设备打开时重新设置硬件地址。也要求每一个slave具有唯一的硬件地址。如果curr_active_slave失败,它的硬件地址被新选上的curr_active_slave硬件地址来替换。
03
xmit_hash_policy说明
xmit_hash_policy |
说明 |
使用场景 |
Layer2 |
使用硬件 MAC 地址的 XOR 来生成哈希值,默认值 |
通常在局域网(LAN)环境中使用 |
Layer2+3 |
使用硬件 MAC 地址和 IP 地址的 XOR 来生成哈希 |
用于复杂的 LAN 环境,包括 VLAN 或子网分隔 |
Layer3+4 |
使用上层协议信息来生成哈希。 |
用于需要更精确的负载均衡和流量控制的环境,如负载均衡服务器或高度可用性环境。 |
encap2+3 |
与 Layer2+3 相同的公式,但依赖 skb_flow_dissect 来获取标头字段 |
|
encap3+4 |
与 Layer3+4 相同的公式,但依赖 skb_flow_dissect 来获取标头字段 |
XOR 并不是一个单词的缩写,而是一种哈希策略的名称。XOR 在这里代表逻辑位运算中的异或操作,它用于计算数据包的哈希值以选择物理网络接口卡(NIC)来传输数据包。这个策略通过对数据包中的一些字段执行异或运算,以确定数据包应该通过哪个 NIC 发送。
参考连接:https://www.kernel.org/doc/Documentation/networking/bonding.txt
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/164923.html