链路聚合技术原理与配置
我们知道,当两个设备间存在多条链路的时候,由于STP的存在,实际上只会有一条链路转发流量,设备间链路带宽无法得到提升。

无疑的,这样对通信资源是一种巨大的浪费,也不利于提升带宽。毕竟更换更高级设备成本是不能忽视的。于是,有一种技术解决这个问题。以太网链路聚合Eth-Trunk,简称链路聚合,通过将多个物理接口捆绑成为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的,通俗的说就是把多个接口看成一个。
链路聚合基本术语概念

如图所示,无非就是接口和链路,选中接口和非选中接口。
工作模式
分为手工模式和LACP模式两种
手工模式
Eth-Trunk的建立、成员接口的加入均由手动配置,双方系统之间不使用LACP进行协商
正常情况下所有链路都是活动链路
,该模式下所有活动链路都参与数据的转发,平均分担流量,如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。当聚合的两端设备中存在一个不支持LACP协议时,可以使用手工模式。但是存在缺陷:
必须保证本端链路聚合接口中所有成员接口的对端接口属于同一设备且加入同一链路聚合端口,并且只能通过物理层确认接口工作。
LACP
采用LACP协议的一种链路聚合模式。设备间通过链路聚合控制协议数据单元LACPDU进行交互,通过协议协商确保对端是同一台设备、同一个聚合端口的成员接口。报文中包含设备优先级、MAC地址、接口优先级、接口号等。
系统优先级
LACP模式下,两端设备所选择的活动接口数目必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端成为主动端,另一端(被动端)根据主动端选择相对应的活动接口。
通过系统LACP优先级确定主动端,值越小优先级越高(优先级可手动设定priority)

接口优先级
选出主动端后,两端都会以主动端的接口优先级来选择活动接口,优先级高的接口成为活动接口

最大活动接口数
LACP模式 支持配置最大活动接口数目,当成员接口数目超过最大活动接口数目时会通过比较接口优先级、接口号选举出较优的接口成为活动接口,其余的成为备份端口,同时对应的链路分为活动链路、非活动链路。交换机只会从活动接口中发送、接收报文

当活动链路出现故障后,可以从非活动链路中找出一条优先级最高(接口优先级、接口号比较)的链路替换故障链路,实现总体带宽不发生变化、业务的不间断转发。
活动链路选举

选举出主从后,主SW1在本端通过比较接口优先级、接口编号选举出活动接口,其中1、2号接口在相同的接口优先级下拥有更小的接口编号,成为活动接口(我们假设上限两个活动端口)。
负载分担
解决完这些问题,新的问题,流量要怎么通过链路转发?
如下图两种策略

负载分担模式

根据报文的特点来选择对应的分担模式。
典型使用场景


ensp中相应的配置命令
1、创建链路聚合组
1 | interface eth-trunk trunk-id |
创建Eth-trunk接口,并进入Eth-trunk接口视图
2、配置链路聚合模式
1 | mode {lacp/manual load-balance} |
前者设置为lacp模式,后者为手工模式,注意要保持两端链路聚合模式一致
3、将接口加入链路聚合组中(以太网接口视图)
1 | [相应的接口]eth-trunk trunk-id |
在接口视图下,将接口加入到eth-trunk中。
4、将接口加入链路聚合组中(Eth-trunk视图)
1 | trunkport interface-type {interface-number} |
5、使能允许不同速率端口加入同一eth-trunk接口的功能
1 | mixed-rate link enable |
缺省情况下,设备不允许不同速率端口加入同一eth-trunk
6、配置系统LACP优先级
1 | lacp priority priorit值 |
7、配置接口lacp优先级
1 | lacp priority priority值 |
只有在接口已经加入到链路聚合中才可以配置该命令
8、配置最大活动接口数
1 | max active-linknumber {number} |
配置时需注意保持本端和对端的最大活动接口数一致,只有LACP模式支持配置最大活动接口数。超过后将对链路进行筛选
9、配置最小活动接口数
1 | least active-linknumber |

我们可以看到这命令的作用
比如说有两个聚合链路,其中一个聚合链路是另一个的备份,两个聚合链路都有两个链路,要求最小活动接口数为2,则当主用聚合链路的一个接口出现故障,则它被down,备份聚合链路替代它,维持了带宽不变