链路聚合指南
约 1318 字大约 4 分钟
2026-09-20
转自大佬甜茶不甜
链路聚合(eth-trunk、port-channel)是网络中提升带宽、实现链路冗余的核心技术。然而,由于不同网络厂商(华为、华三、思科)对模式的命名有所差异,且服务器端Linux Bonding模式种类繁多,网络运维与系统运维在对接时经常发生配置不匹配导致链路DOWN或丢包的问题。
本次针对三大厂商交换机的链路聚合模式区别、对接匹配进行梳理。
链路聚合分类
1、 静态聚合
不运行任何控制协议(如IEEE 802.3ad lacp),强制将多个物理接口绑定为一个逻辑接口。
特点:不发送/接收lacp报文,仅检查本地物理端口的UP/DOWN状态。
风险点:如果对端端口配置错误,静态聚合无法感知,仍会向该端口发送流量,导致丢包。
2、静态lacp模式
手动创建聚合接口并加入物理成员端口,但端口间通过lacpdu进行协商与状态维护。
特点:运行lacp协议,能够自动检测链路错接、单向链路故障或对端端口故障.静态lacp模式也称为M∶N模式。这种方式同时可以实现负载分担和冗余备份的双重功能。在链路聚合组中M条链路处于活动状态,这些链路负责转发数据并进行负载分担,另外N条链路处于非活动状态作为备份链路,不转发数据。当M条链路中有链路出现故障时,系统会从N条备份链路中选择优先级最高的接替出现故障的链路,同时这条链路状态变为活动状态开始转发数据。若对端未响应lacpdu,成员端口通常会被置为DOWN或Unselected状态(防止黑洞)。
3、动态lacp模式
静态lacp模式和动态lacp模式在lacp协议交互方面没有区别,区别在于两种模式在lacp协商失败后的处理不一致:
静态lacp模式下,lacp协商失败后eth-trunk变为DOWN,不能转发数据。
动态lacp模式,lacp协商失败后eth-trunk变为DOWN,但其成员口继承eth-trunk的VLAN属性状态变为Indep,可独立进行二层数据转发。
华为、华三、思科配置命令与模式对应
| 厂商 | 逻辑接口名称 | 静态聚合(无 lacp) | 静态 lacp | 动态 lacp |
|---|---|---|---|---|
| 华为 | eth-trunk | mode manual load-balance | mode lacp-static | mode lacp-dynamic |
| 华三 | Bridge-Aggregation | 默认 | link-aggregation mode dynamic | - |
| 思科 | Port-channel | channel-group X mode on | channel-group X mode active | channel-group X mode passive |
各厂商配置示例
华为
- 静态聚合(无lacp)
interface eth-trunk1
mode manual load-balance
interface GigabitEthernet0/0/1
eth-trunk 1- 静态lacp模式
interface eth-trunk1
mode lacp-static
max bandwidth-affected-linknumber 2(设置最大活跃链路,可选)
interface GigabitEthernet0/0/1
eth-trunk 1华三
- 动态 lacp 聚合
interface Bridge-Aggregation 1
link-aggregation mode dynamic
interface GigabitEthernet 1/0/1
port link-aggregation group 1- 思科
- 静态聚合
interface Port-channel1
interface GigabitEthernet0/1
channel-group 1 mode on- lacp 主动模式
interface Port-channel1
interface GigabitEthernet0/1
channel-group 1 mode activeLinux Bonding模式与交换机配置对应关系
服务器在Linux上配置网卡绑定(Bonding)时,交换机侧必须配置对应的聚合模式。如果Bonding模式与交换机配置不对应,可能会导致严重的网络风暴、MAC地址漂移、单向不通等问题。
- Linux Bonding与交换机配置对应表
| Bond 模式 | 模式名称 (Name) | 数据转发原理 | 交换机侧配置要求 | 是否支持跨物理交换机(无堆叠) |
|---|---|---|---|---|
| Mode 0 | balance-rr (轮询) | 逐个数据包轮流从成员网卡发出去 | 配置静态聚合 | 是,但会发生MAC地址飘移 |
| Mode 1 | active-backup (主备) | 仅主网卡工作,备网卡处于Standby(常用) | 无需配置聚合 | 是 |
| Mode 2 | balance-xor (哈希) | 根据源/目的MAC/IP哈希选择网卡 | 配置静态聚合 | 否 |
| Mode 3 | broadcast (广播) | 所有数据包在所有网卡上复制发送 | 配置静态聚合 | 否 |
| Mode 4 | 802.3ad (动态 lacp) | 运行标准IEEE 802.3ad lacp协商(常用) | 配置lacp聚合 | 依赖M-LAG/vPC/堆叠 |
| Mode 5 | balance-tlb (出站负载) | 出站流量按负载哈希,入站仅主网卡 | 无需配置聚合 | 是 |
| Mode 6 | balance-alb (双向负载) | 出站 TLB + 入站通过 ARP 重定向实现 | 无需配置聚合 | 是 |
注意事项
- mode 0导致乱序与性能下降问题
提示
如果在无堆叠/无M-LAG的独立交换机上对接配置mode 0的服务器,会产生严重的MAC地址漂移以及报文乱序问题。
因为mode0是逐包轮流发送,会导致同一个 TCP 会话的数据包经过不同网卡或链路到达,极易引发 TCP 报文乱序,触发 TCP 快速重传,从而降低实际吞吐量。生产环境尽量选择mode4实现带宽增加及冗余,mode4能基于hash算法保证同一流固定走同一物理链路,避免乱序。
更新日志
83b2d-Update 6.链路聚合指南.md于c4f0e-Update 6.链路聚合指南.md于23bec-Update 6.链路聚合指南.md于95716-Update 6.链路聚合指南.md于c5640-Update 6.链路聚合指南.md于8a94a-Update 6.链路聚合指南.md于f6dfb-Update 6.链路聚合指南.md于85d3e-Create 6.链路聚合指南.md于