Skip to content

0. 课件来源

Eth-Trunk(链路聚合,Link Aggregation Group / LAG,思科称 EtherChannel)将多条物理链路捆绑为一条逻辑链路,实现带宽叠加、冗余备份、负载分担,并增强 STP 拓扑效率。本节讲解手工模式和 LACP 模式的配置与选举机制。


1. 链路聚合的价值

优点说明
增加带宽2 根 1G 链路聚合 → 逻辑带宽 2G
冗余备份某条物理链路故障,Eth-Trunk 仍可由其他成员链路转发
负载分担多条链路同时转发流量(默认 1:1)
增强 STPSTP 认为 SW1 和 SW2 之间只有一条逻辑链路 → 只有一个 DP/RP,所有链路均可转发

1.1 没有 Eth-Trunk 时的困境

text
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:

text
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 两种捆绑方式

text
# 集中式(在 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:

text
clear configuration interface g0/0/23 y
clear configuration interface g0/0/24 y

3. 手工模式(Manual Load-Balance)

3.1 配置

text
# SW1 和 SW2 两端都配置
interface eth-trunk 1
 mode manual load-balance          # 默认模式,可以不敲
 trunk-port g0/0/23
 trunk-port g0/0/24

3.2 验证与局限

text
[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 静态配置

text
interface eth-trunk 1
 mode lacp-static
 trunk-port g0/0/23
 trunk-port g0/0/24

验证:

text
[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     305
  • Selected = 激活端口(参与转发)
  • Unselect = 备份端口(不参与转发,监听待命)

5. LACP 选举机制(核心重点)

5.1 为什么要选举

LACP 为了减少配置并保证端口优选一致性,引入了 主从(Master/Slave) 选举:

  • 主动端(Master):System-ID 最小的交换机,所有配置都在主动端完成
  • 被动端(Slave):服从主动端选举结果

5.2 选举主动端(System-ID)

选举步骤字段默认值说明
1System Priority32768优先级小的为主
2System ID(MAC)设备MAC优先级相同,MAC 小的为主
text
# 修改主动端的 System Priority(使其成为 Master)
lacp system-priority 100         # 全局配置,越小越优先

⚠️ System Priority 两端都需配

只有 主动端lacp system-priority 决定谁是 Master。但为避免两端值冲突,通常在希望成为 Master 的一端配置更小的值即可。

5.3 Master 选举活动端口

主动端选举完毕后,由 Master 选举活动端口

选举步骤字段默认值说明
1Port Priority32768优先级小的被 Selected
2Port ID接口编号优先级相同,Port ID 小的 Selected
text
# 在 Master 上配置端口优先级(越小越优先 Selected)
interface eth-trunk 1
 lacp port-priority 100          # 需在 Master 上配

💡 选举流程口诀

  1. 选主动端:System Priority → System MAC
  2. 主动端选活动端口:Port Priority → Port ID
  3. 所有配置只在主动端,被动端服从

6. LACP 抢占机制

6.1 默认不抢占的问题

text
场景: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 开启抢占

text
interface eth-trunk 1
 lacp preempt enable             # 开启抢占

6.3 抢占延时

text
interface eth-trunk 1
 lacp preempt enable delay 10     # 抢占延时 10 秒
延时默认值作用
delay30 秒端口恢复后等待 N 秒才抢占,防抖动

⚠️ 为什么要延时

如果端口一恢复就立即抢占,下次故障又切回来,频繁切换降低稳定性。引入 delay 后:

  • g0/0/21 恢复 → 等 10 秒 → 如果 10 秒内未再 down 才抢占为 Selected → g0/0/24 回到 Unselect

7. 抢占Delay配置与验证

text
[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 散列,将不同流量分担到不同物理链路:

text
[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-ipSIP ⊕ DIP(默认)三层网络,流量分散均匀
src-dst-macSMAC ⊕ 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 条

  1. Eth-Trunk 4 大优点:增加带宽、冗余、负载、增强 STP
  2. 默认是 Hybrid,承载多 VLAN 需配 Trunk
  3. 先 clear configuration interface 再 trunk-port 加入
  4. LACP 静态 → 交换机间;动态 → 交换机↔服务器
  5. 主动端选举:System Priority → System MAC(值小的为主)
  6. 端口选举:Port Priority → Port ID(值小的 Selected)
  7. LACP 静态默认不抢占,lacp preempt enable 开启,delay 默认 30 秒
  8. 负载默认 SIP-XOR-DIP(src-dst-ip)

🤖 AI 伴学

想把 LACP 主从选举记得更牢?可以让 AI 用类比方式帮你强化记忆:

"请用'军队指挥层级'来类比 LACP 的两级选举机制:主动端(Master)是'总指挥',被动端(Slave)是'服从的部队'。主动端用 System Priority和 MAC 选出后,再在自己手下用 Port Priority和 Port ID 选出'主力队员'(Selected)和'预备队员'(Unselect)。最后说明为什么要引入抢占延时delay:就像总指挥不会因为一个主力队员状态有波动就立刻把他调回来,要观察30秒确认稳定后再做决定。"

真人撰写written by human