第一部分:链路聚合基本原理
1. 定义与目的
链路聚合(Link Aggregation)又称Eth-Trunk,是将多个物理以太网接口捆绑成一个逻辑接口的技术。
-
目的:
-
增加带宽:聚合后的带宽是所有成员接口带宽的总和。
-
提高可靠性:当某个成员链路故障时,流量会自动切换到其他正常链路上,实现备份冗余。
-
负载分担:流量在多条成员链路上分担,有效利用网络资源。
-
2. 核心概念
-
聚合组/逻辑接口 (Eth-Trunk):由多个物理接口捆绑而成的逻辑接口。所有配置在Eth-Trunk上,而不是物理接口上。
-
成员接口/成员链路:组成Eth-Trunk的物理接口。
-
活动接口/链路:实际转发数据的成员接口。
-
非活动接口/链路:处于备份状态的成员接口(仅在活动接口故障时接管)。
-
哈希算法 :决定数据流如何在不同成员链路上分担的算法。基于源/目的MAC、IP、端口号等进行计算,确保同一条数据流在同一条物理链路上传输,避免乱序。
第二部分:LACP协议与包解析
LACP(Link Aggregation Control Protocol,链路聚合控制协议)是IEEE 802.3ad(后并入802.1ax)标准的一部分,用于自动管理聚合组的建立和维护。
1. LACP作用
-
自动发现:自动发现对端支持LACP的接口。
-
协商参数:协商双方的接口速度、双工模式、聚合能力等。
-
动态维护:检测链路故障,动态调整活动接口。
2. LACP PDU格式解析
LACP报文是以太网帧,协议类型为Slow Protocols (0x8809) ,子类型为LACP (0x01)。
| 字段 | 长度 | 说明 |
|---|---|---|
| 子类型 | 1字节 | 0x01 表示LACP |
| 版本号 | 1字节 | 通常为 0x01 |
| Actor TLV | 20字节 | 本端系统信息 |
| Partner TLV | 20字节 | 对端系统信息(学习自对端的Actor信息) |
| Collector TLV | 16字节 | 收集器信息(通常为默认值) |
| 终止符TLV | 2字节 | 0x00 表示结束 |
核心TLV(Actor/Partner)详解:
每个20字节的TLV包含:
| 字段 | 长度 | 说明 |
|---|---|---|
| 系统优先级 | 2字节 | 标识系统的优先级,用于选举主动端。值越小优先级越高。 |
| 系统ID | 6字节 | 通常为设备的MAC地址。与系统优先级共同唯一标识一个系统。 |
| 密钥 | 2字节 | 关键字段 。标识一个潜在的聚合组 。设备根据接口的物理特性、配置的聚合组ID等计算得出。Key值相同的接口才能被聚合到同一个组中。 |
| 端口优先级 | 2字节 | 标识接口在系统内的优先级,用于选举活动接口。值越小优先级越高。 |
| 端口号 | 2字节 | 接口的唯一标识符。 |
| 状态 | 1字节 | 核心状态位 ,每个bit代表一种状态: • 0x01: LACP使能 • 0x02: 接口处于活动状态(短超时) • 0x04: 接口聚合能力(1=可聚合) • 0x08: 接口同步状态(1=已同步到正确的聚合组) • 0x10: 接口收集状态(1=正在收集帧) • 0x20: 接口分发状态(1=正在分发帧) • 0x40: 默认状态 • 0x80: 过期状态 |
3. LACP协商关键过程
-
选举主动端 :比较双方的
系统优先级 + 系统ID,值小者获胜。 -
确定活动接口:
-
主动端根据本端的接口优先级和数量,选择活动接口。
-
主动端的选择结果通过LACP报文通知给对端(被动端)。
-
被动端遵从主动端的选择结果,保持对应的接口为活动状态。
-
-
状态同步 :当接口的
同步状态位(0x08)置位,表明该接口已成功加入聚合组,可以转发数据。
第三部分:配置模式详解
华为设备链路聚合主要有三种模式:
| 模式 | 命令关键字 | 特点 | 协商协议 | 适用场景 |
|---|---|---|---|---|
| 手工负载分担模式 | mode manual load-balance |
默认模式 。需要手动 创建聚合组,手动 添加成员接口。不发送LACP报文 。对端必须进行完全相同的配置才能成功聚合。 | 无 | 两端设备均不支持LACP协议时。配置简单,但无法检测链路层故障(如单通)。 |
| 静态LACP模式 | mode lacp-static |
最常用、推荐模式 。需要手动创建聚合组和添加成员,但启用LACP协议进行协商。设备间通过LACP报文交互信息。 | LACP | 两端设备均支持LACP时。提供了链路检测和活动接口备份(M:N)能力,可靠性高。 |
| 动态LACP模式 | 华为交换机通常不支持纯动态模式。一些厂商(如思博的PAGP)有类似模式,但华为主要使用静态LACP。 | - | - | - |
关键区别与选择:
-
手工 vs LACP静态 :最大的区别在于是否使用LACP协议进行链路检测和动态维护。
-
活动接口上限 :在静态LACP模式下,可以配置
lacp max active-linknumber来设置活动接口的最大数量,实现M:N备份(例如8条链路中,最多5条活动,3条备份)。
第四部分:配置示例与解读(静态LACP模式)
假设SwitchA和SwitchB之间用G0/0/1, G0/0/2, G0/0/3三条链路进行聚合。
SwitchA 配置:
bash
复制
下载
# 1. 创建Eth-Trunk接口(逻辑聚合口)
system-view
interface Eth-Trunk 1 # 创建ID为1的Eth-Trunk
mode lacp-static # 配置为静态LACP模式
# 2. 配置Eth-Trunk为三层路由口或二层接入/干道口(以三层口为例)
ip address 10.1.1.1 24 # 配置IP地址(如果是三层聚合)
# 3. 将物理接口加入Eth-Trunk
interface gigabitethernet 0/0/1
eth-trunk 1 # 将物理口加入Trunk 1
interface gigabitethernet 0/0/2
eth-trunk 1
interface gigabitethernet 0/0/3
eth-trunk 1
# 4. (可选)配置LACP系统优先级,值越小优先级越高,用于选举主动端
lacp priority 100 # 默认为32768
# 5. (可选)在Eth-Trunk接口下配置活动接口上限和接口优先级
interface Eth-Trunk 1
lacp max active-linknumber 2 # 只允许2条活动链路,实现1:1备份
#
interface gigabitethernet 0/0/1
lacp priority 100 # 配置接口优先级,值小优先成为活动接口,默认32768
SwitchB 配置:
bash
复制
下载
# 配置与SwitchA对称,Eth-Trunk ID可以不同,但建议相同方便管理
system-view
interface Eth-Trunk 1
mode lacp-static
ip address 10.1.1.2 24 # 同一网段的不同IP
interface range gigabitethernet 0/0/1 to 0/0/3
eth-trunk 1
配置验证命令:
bash
复制
下载
# 查看Eth-Trunk摘要信息
display eth-trunk 1
# 查看详细的LACP协议状态
display lacp statistics eth-trunk 1
display lacp brief eth-trunk 1
# 查看成员接口状态
display interface eth-trunk 1
display eth-trunk 1 输出关键信息解读:
-
WorkingMode: LACP 表示模式。
-
State: Up 逻辑接口状态。
-
NumberOfPorts: 3 总成员数。
-
Operate status: up 操作状态。
-
ActivePort: 2 活动接口数量 (如果配置了
max active-linknumber 2)。 -
成员列表会显示每个接口的
Status,Flag中S表示Selected(活动) ,U表示Unselected(备份) ,D表示Down。
第五部分:重要注意事项
-
负载分担算法 :通过
load-balance命令调整,需确保两端设备算法一致或兼容,否则可能导致流量分布不均。 -
成员接口一致性 :加入同一聚合组的成员接口必须具有相同的速率、双工模式、类型(均为二层或三层)和VLAN配置。
-
与STP的交互 :链路聚合优先于生成树协议(STP)。STP将整个Eth-Trunk视为一条逻辑链路,不会对其中的成员端口进行阻塞,从而避免环路并充分利用带宽。
-
三层路由聚合:如果Eth-Trunk作为三层接口使用,IP地址配置在Eth-Trunk上,物理接口不能有IP地址。
-
故障切换时间 :LACP模式的收敛速度通常快于手工模式,并且可以通过调整LACP报文发送的短超时(1秒) 来进一步加快故障检测。
总结
华为链路聚合是一个将多物理链路虚拟为单逻辑链路的核心技术。静态LACP模式 因其自动检测和备份能力成为生产网络的首选。理解LACP协议包的交互机制,尤其是系统优先级、Key值和状态位 ,是进行高级故障排查的基础。配置时需重点关注模式一致性、活动接口数、负载分担算法等关键参数,以确保聚合组稳定高效运行。
