一、题目
链路聚合的 LACP 模式采用 LACPDU 选举主动端,LACPDU 中的哪些信息是选举 LACP 主动端的依据?()
- 接口编号
- 接口优先级
- 设备优先级
- MAC 地址
二、答案
CD
三、解析
LACP模式Eth-Trunk建立的过程如下:
1、在LACP模式的Eth-Trunk中加入成员接口后,两端互相发送LACPDU报文。
如图1所示,在DeviceA和DeviceB上创建Eth-Trunk并配置为LACP模式,然后向Eth-Trunk中手工加入成员接口。此时成员接口上便启用了LACP协议,两端互发LACPDU报文。
图1 LACP模式链路聚合互发LACPDU

2、确定主动端和活动链路。
如图2所示,两端设备均会收到对端发来的LACPDU报文。以DeviceB为例,当DeviceB收到DeviceA发送的报文时,DeviceB会查看并记录对端信息,然后比较系统优先级字段,如果DeviceA的系统优先级高于本端的系统优先级,则确定DeviceA为LACP主动端。如果DeviceA和DeviceB的系统优先级相同,比较两端设备的MAC地址,MAC地址小的一端为LACP主动端。
选出主动端后,两端都会以主动端的接口优先级来选择活动接口,如果主动端的接口优先级都相同则选择接口编号比较小的为活动接口。两端设备选择了一致的活动接口,活动链路组便可以建立起来,从这些活动链路中以负载分担的方式转发数据。
图2 LACP模式确定主动端和活动链路的过程

四、扩展——手工模式和LACP模式链路聚合的对比
| 维度 | 手工模式 | LACP模式 |
| Eth-Trunk的建立方式 | Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议的参与。 | Eth-Trunk的建立是基于LACP协议的,LACP为交换数据的设备提供一种标准的协商方式,以供系统根据自身配置自动形成聚合链路并启动聚合链路收发数据。聚合链路形成以后,负责维护链路状态。在聚合条件发生变化时,自动调整或解散链路聚合。 |
| 设备是否需要支持LACP协议 | 不需要 | 需要 |
| 数据转发 | 正常情况下,所有链路都是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中分担流量。 | 正常情况下,部分链路是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在非活动链路中选择一条链路作为活动链路,参与数据转发的链路数目不变。 |
| 是否支持跨设备的链路聚合 | 不支持 | 支持 |
| 检测故障 | 只能检测到同一聚合组内的成员链路有断路等有限故障,但是无法检测到链路断连、错连等故障。 | 不仅能够检测到同一聚合组内的成员链路有断路等有限故障,还可以检测到链路故障、链路错连等故障。 |

