0. 课件来源
Eth-Trunk(链路聚合,Link Aggregation Group / LAG,思科称 EtherChannel)将多条物理链路捆绑为一条逻辑链路,实现带宽叠加、冗余备份、负载分担,并增强 STP 拓扑效率。本节讲解手工模式和 LACP 模式的配置与选举机制。
1. 链路聚合的价值
| 优点 | 说明 |
|---|---|
| 增加带宽 | 2 根 1G 链路聚合 → 逻辑带宽 2G |
| 冗余备份 | 某条物理链路故障,Eth-Trunk 仍可由其他成员链路转发 |
| 负载分担 | 多条链路同时转发流量(默认 1:1) |
| 增强 STP | STP 认为 SW1 和 SW2 之间只有一条逻辑链路 → 只有一个 DP/RP,所有链路均可转发 |
1.1 没有 Eth-Trunk 时的困境
SW1 ────── 链路1 ────── SW2
│ │
└────── 链路2 ────────┘
未聚合时,STP 为防环,同一 VLAN/实例只有一条链路 Forwarding,另一条阻塞。
→ 2G 物理带宽只有 1G 可用,浪费资源聚合后,STP 将 Eth-Trunk 视为单条逻辑链路 → 防环、冗余、负载全部满足:
| MSTP + Eth-Trunk 实现 | 说明 |
|---|---|
| 防环 | Eth-Trunk 内部防环:从某物理接口收到的流量不能从其他物理接口转发 |
| 冗余 | 物理链路故障自动切换 |
| 快速切换 | 物理链路 down 立即切换至其他成员链路 |
| 负载 | 设备级(VLAN10 走 SW1、VLAN20 走 SW2)+ 链路级(SW1↔SW2 多链路同时转发) |
⚠️ Eth-Trunk 默认是 Hybrid
dis port vlan Eth-Trunk 1 active 可看到 Eth-Trunk 默认 Link Type = hybrid,PVID=1,仅放行 VLAN 1。要承载多 VLAN 业务,需配置为 Trunk:
interface eth-trunk 1
port link-type trunk
port trunk allow-pass vlan 10 20 30 40若不配 Trunk,STP 只在 Instance 0 看到 Eth-Trunk,其他实例看不到 → 负载分担失效。
2. 配置模式概览
| 模式 | 协议 | 说明 | 场景 |
|---|---|---|---|
| 手工模式 | 无 | 双方手动捆绑,无协商 | 基础场景 |
| LACP 静态 | LACP(802.3ad) | 协商成功才激活,协商失败 Eth-Trunk Down | 交换机间互联 |
| LACP 动态 | LACP(802.3ad) | 协商失败 Eth-Trunk Down,但成员口可独立转发 | 交换机 ↔ 服务器 |
2.1 两种捆绑方式
# 集中式(在 Eth-Trunk 接口下添加成员口)
interface eth-trunk 1
mode manual load-balance
trunk-port g0/0/23
trunk-port g0/0/24
# 分布式(在物理接口下加入 Eth-Trunk)
interface eth-trunk 1
mode manual load-balance
interface g0/0/23
eth-trunk 1
interface g0/0/24
eth-trunk 1💡 先初始化再捆绑
捆绑前必须把物理接口恢复到默认 Hybrid 状态(清除已有配置),否则链路参数不一致无法加入 Eth-Trunk:
clear configuration interface g0/0/23 y
clear configuration interface g0/0/24 y3. 手工模式(Manual Load-Balance)
3.1 配置
# SW1 和 SW2 两端都配置
interface eth-trunk 1
mode manual load-balance # 默认模式,可以不敲
trunk-port g0/0/23
trunk-port g0/0/243.2 验证与局限
[SW2] dis stp brief
MSTID Port Role STP State Protection
0 Eth-Trunk1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/21 DESI FORWARDING NONE| 优点 | 局限 |
|---|---|
| 配置简单,无需协议 | 不支持备份链路:3 条链路只聚合 2 条,第 3 条无法自动加入作为备份 |
| 带宽叠加、冗余、负载都能实现 | 无法动态协商,端口状态不自动适应 |
面对"3 条链路只激活 2 条,故障后第 3 条自动加入"的需求,手工模式无法满足 → 需要使用 LACP。
4. LACP 模式(802.3ad 公有协议)
4.1 LACP 静态 vs 动态
| 模式 | LACP 协商失败后的行为 | 适用场景 |
|---|---|---|
| LACP 静态 | Eth-Trunk Down,不能转发数据 | 交换机之间互联 |
| LACP 动态 | Eth-Trunk Down,但成员口继承 VLAN 属性变 Indep 可独立转发 | 交换机 ↔ 服务器 |
4.2 LACP 静态配置
interface eth-trunk 1
mode lacp-static
trunk-port g0/0/23
trunk-port g0/0/24验证:
[SW1-Eth-Trunk1] dis eth-trunk 1
LAG ID: 1 WorkingMode: STATIC
Preempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIP
System Priority: 32768 System ID: 4c1f-cc2e-4f21
Least Active-linknumber: 1 Max Active-linknumber: 8
Operate status: up Number Of Up Port In Trunk: 2
ActorPortName Status PortType PortPri PortNo PortKey
GigabitEthernet0/0/23 Selected 1GE 32768 24 305
GigabitEthernet0/0/24 Selected 1GE 32768 25 305Selected= 激活端口(参与转发)Unselect= 备份端口(不参与转发,监听待命)
5. LACP 选举机制(核心重点)
5.1 为什么要选举
LACP 为了减少配置并保证端口优选一致性,引入了 主从(Master/Slave) 选举:
- 主动端(Master):System-ID 最小的交换机,所有配置都在主动端完成
- 被动端(Slave):服从主动端选举结果
5.2 选举主动端(System-ID)
| 选举步骤 | 字段 | 默认值 | 说明 |
|---|---|---|---|
| 1 | System Priority | 32768 | 优先级小的为主 |
| 2 | System ID(MAC) | 设备MAC | 优先级相同,MAC 小的为主 |
# 修改主动端的 System Priority(使其成为 Master)
lacp system-priority 100 # 全局配置,越小越优先⚠️ System Priority 两端都需配
只有 主动端 的 lacp system-priority 决定谁是 Master。但为避免两端值冲突,通常在希望成为 Master 的一端配置更小的值即可。
5.3 Master 选举活动端口
主动端选举完毕后,由 Master 选举活动端口:
| 选举步骤 | 字段 | 默认值 | 说明 |
|---|---|---|---|
| 1 | Port Priority | 32768 | 优先级小的被 Selected |
| 2 | Port ID | 接口编号 | 优先级相同,Port ID 小的 Selected |
# 在 Master 上配置端口优先级(越小越优先 Selected)
interface eth-trunk 1
lacp port-priority 100 # 需在 Master 上配💡 选举流程口诀
- 选主动端:
System Priority → System MAC - 主动端选活动端口:
Port Priority → Port ID - 所有配置只在主动端,被动端服从
6. LACP 抢占机制
6.1 默认不抢占的问题
场景:3 条链路聚合,max active-linknumber 2
g0/0/21 → Selected(活动)
g0/0/23 → Selected(活动)
g0/0/24 → Unselect(备份)
g0/0/21 故障 → g0/0/24 激活成为 Selected
g0/0/21 恢复 → g0/0/24 仍保持 Selected,g0/0/21 未回到活动状态原因:LACP 静态模式默认不抢占。
6.2 开启抢占
interface eth-trunk 1
lacp preempt enable # 开启抢占6.3 抢占延时
interface eth-trunk 1
lacp preempt enable delay 10 # 抢占延时 10 秒| 延时 | 默认值 | 作用 |
|---|---|---|
| delay | 30 秒 | 端口恢复后等待 N 秒才抢占,防抖动 |
⚠️ 为什么要延时
如果端口一恢复就立即抢占,下次故障又切回来,频繁切换降低稳定性。引入 delay 后:
- g0/0/21 恢复 → 等 10 秒 → 如果 10 秒内未再 down 才抢占为 Selected → g0/0/24 回到 Unselect
7. 抢占Delay配置与验证
[SW1-Eth-Trunk1] lacp preempt enable delay 10
[SW1-Eth-Trunk1] dis eth-trunk 1
Preempt Delay Time: 10
...
0 GigabitEthernet0/0/23 Selected
0 GigabitEthernet0/0/24 Unselect # 21 恢复后 24 回到备份
0 GigabitEthernet0/0/21 Selected # 21 重新成为活动端口8. 负载分担方式
Eth-Trunk 负载分担基于 Hash 散列,将不同流量分担到不同物理链路:
[SW1-Eth-Trunk1] load-balance ?
dst-ip 目的 IP hash 负载
dst-mac 目的 MAC hash 负载
src-dst-ip 源/目的 IP hash 负载(默认 SIP-XOR-DIP)
src-dst-mac 源/目的 MAC hash 负载
src-ip 源 IP hash 负载
src-mac 源 MAC hash 负载| 负载方式 | Hash 依据 | 适用场景 |
|---|---|---|
src-dst-ip | SIP ⊕ DIP(默认) | 三层网络,流量分散均匀 |
src-dst-mac | SMAC ⊕ DMAC | 纯二层交换环境 |
dst-ip | 仅目的 IP | 目标地址分散的场景 |
src-mac | 仅源 MAC | 源端分散的场景 |
9. 易混淆点与考前速记
| 对比项 | 结论 |
|---|---|
| 三模式区别 | 手工无协商;LACP-static 协商失败 Down;LACP-dynamic 成员口可独立转发 |
| LACP 静态 vs 动态适用 | 静态 → 交换机间;动态 → 交换机↔服务器 |
| 主动端选举 | System Priority 小 → System MAC 小 |
| 端口选举 | Port Priority 小 → Port ID 小 |
| 默认抢占 | LACP 静态默认 不抢占 |
| 抢占延时默认值 | 30 秒 |
| Eth-Trunk 默认链路类型 | Hybrid,PVID=1,仅放行 VLAN 1 |
| 最大活动链路数范围 | 1-8(华为设备) |
| load-balance 默认 | src-dst-ip(SIP-XOR-DIP) |
考前速记 8 条:
Eth-Trunk 4 大优点:增加带宽、冗余、负载、增强 STP默认是 Hybrid,承载多 VLAN 需配 Trunk先 clear configuration interface 再 trunk-port 加入LACP 静态 → 交换机间;动态 → 交换机↔服务器主动端选举:System Priority → System MAC(值小的为主)端口选举:Port Priority → Port ID(值小的 Selected)LACP 静态默认不抢占,lacp preempt enable 开启,delay 默认 30 秒负载默认 SIP-XOR-DIP(src-dst-ip)
🤖 AI 伴学
想把 LACP 主从选举记得更牢?可以让 AI 用类比方式帮你强化记忆:
"请用'军队指挥层级'来类比 LACP 的两级选举机制:主动端(Master)是'总指挥',被动端(Slave)是'服从的部队'。主动端用 System Priority和 MAC 选出后,再在自己手下用 Port Priority和 Port ID 选出'主力队员'(Selected)和'预备队员'(Unselect)。最后说明为什么要引入抢占延时delay:就像总指挥不会因为一个主力队员状态有波动就立刻把他调回来,要观察30秒确认稳定后再做决定。"
