一、Linux 系统网络接口类型分类
二、Bond与交换机链路聚合的对应关系
交换机侧:华为 Eth-Trunk、Cisco EtherChannel、H3C 链路聚合组;服务器 Bond 与交换机聚合是两端配套技术。mode0/mode2:对应交换机静态聚合组;
mode4 802.3ad:对应交换机LACP动态聚合组;
mode1/5/6:服务器独立聚合,交换机普通 access 口即可,无需聚合配置。
三、Bond 在OSI 网络分层 属于二层(数据链路层 Layer 2)
由内核模块bonding.ko驱动,工作在以太网帧(MAC 帧)层面,操作 MAC 地址、以太网帧分发,不依赖 IP 三层路由逻辑。
bond0 虚拟网卡拥有独立 MAC,上层 IP / 路由、VLAN 都建立在 bond 二层接口之上,对三层协议完全透明。
mode4(802.3ad LACP)遵循 IEEE 二层链路聚合标准,是标准二层聚合协议;mode5/mode6 虽用到 ARP(二层协议)做流量调度,底层仍属于二层技术。
Linux Bond 是二层数据链路层虚拟链路聚合技术,将多物理网卡封装为单一逻辑网卡,实现链路冗余与带宽叠加。
四、Bond 常见有 7 种模式
4.1、mode 0:balance-rr 平衡轮询缺点:可能导致包乱序,同一 TCP 流数据包会走不同网卡,易出现数据包乱序,交换机不做聚合会产生 MAC 漂移、广播风暴。适用:内网传输、存储服务器,交换机可做静态 Eth-Trunk 场景。备注:mode0 必须交换机配合聚合:若交换机未做链路聚合,会出现广播风暴、随机丢包;无交换机配置建议改用 mode1(active-backup) 主备模式。服务器: eno3 ─┐ ├── bond0 → IP: 10.10.51.8 eno4 ─┘
4.2、mode 1: active-backup 主备模式原理:同一时刻仅 1 块主网卡工作,其余网卡休眠;主链路断开后备用网卡自动顶上。优点:配置极简,交换机无需任何特殊设置,无乱序问题,稳定性极高。适用:业务服务器、数据库、Web 服务等对稳定性优先的生产环境。👍 常用于服务器稳定性 服务器 Network Bonding (mode 1) +---------------------------+ | Linux Server | | | | eno3 (Active 主) | | \ | | \ | | > bond0 ---------> IP: 10.10.51.8 | / | | / | | eno4 (Backup 备) | +---------------------------+ 工作方式:只有 eno3 工作 当 eno3 故障 → eno4 自动接管
4.3、mode 2: balance-xor 哈希分流原理:通过 (源MAC ^ 目标MAC) % 网卡数量 计算哈希,同一流固定走同一张网卡。缺点:必须交换机配置静态聚合;哈希算法固定,流量不均时负载倾斜。 Linux Server(Bonding) eno3 ─────────┐ │ │ XOR / Hash 计算 │ (MAC / IP / 端口) ▼ bond0 ─────────→ 多路径分流 │ ┌─────────┴─────────┐ │ │ Switch A Switch B │ │ 外部网络 外部网络
bond0 (mode 2: balance-xor) eno3 ─────┐ ├── XOR Hash ──> bond0 eno4 ─────┘
4.4、mode 3: broadcast 广播模式缺点:带宽浪费严重,成倍增加交换机流量,极少使用。适用:特殊双机热备、对链路可靠性要求极高的小众场景。 Linux Server(Bonding) eno3 ─────────┐ │ │ 数据包同时复制 │ (Broadcast) ▼ bond0 │ ┌──────────────┴──────────────┐ │ │ Switch A Switch B │ │ 同时接收 同时接收 │ │ 外部网络 外部网络
bond0 (mode 3: broadcast) eno3 ─────┐ ├──→ 同一数据包 → 所有网卡同时发送 eno4 ─────┘
4.5、mode 4: 802.3ad LACP 动态链路聚合原理:遵循 IEEE 802.3ad 标准,服务器与交换机通过 LACP 协议协商链路,自动分配流量。优点:标准协议、均衡效果最好、无乱序、带宽叠加、故障秒切换,真正的带宽叠加。缺点:需要交换机支持,交换机端口必须开启 LACP 动态聚合,配置相对复杂。Linux Server(Bonding) eno3 ───────┐ │ ┼─── bond0(LACP 动态聚合) │ eno4 ───────┘ │ ===== 802.3ad 协议协商 ===== │ ┌───────┴────────┐ │ │ Switch A Switch B (LACP) (LACP)
4.6、mode 5: balance-tlb 发送端负载均衡原理:出口流量根据网卡负载自动分配;入口流量固定从主网卡接收。优点:无需交换机配置,支持出口带宽叠加,自动调度流量。Linux Server(Bonding) eno3 ───────┐ │ ┼─── bond0(TLB) │ eno4 ───────┘ │ ┌───────────┴───────────┐ │ │ Switch / 网络 Switch / 网络
4.7、mode 6: balance-alb 收发自适应均衡原理:TLB 基础上增加 ARP 协商,动态修改对端 ARP 响应 MAC,实现入口流量分流。优点:双向流量均衡,不需要交换机做任何聚合,部署简单,自动调度流量。缺点:部分防火墙、安全设备会拦截动态 ARP,兼容性略差。适用:无法操作交换机、又希望双网卡带宽叠加的场景。Linux Server(Bonding) eno3 ───────┐ │ ┼─── bond0(ALB) │ eno4 ───────┘ │ ┌───────────┴───────────┐ │ │ Switch / 网络 Switch / 网络
五、 Bond 与四层负载均衡(Nginx/LVS)关系👉 Bond 和四层负载均衡(LVS / Nginx)不是同一层东西Bond:二层链路聚合,解决物理链路故障、多网卡带宽合并。LVS/Nginx:四层 / 七层负载均衡,解决多后端服务流量分发,二者层级、作用完全不同。客户端 ↓四层负载均衡(LVS / Nginx / HAProxy) ↓服务器网卡(Bond0 / eno0) ↓操作系统 ↓应用(Flask / MySQL / Java / Vue)