一、链路聚合简介
链路聚合(Link Aggregation),是指将多个物理端口捆绑在一起,成为一个逻辑端口,以实现出入流量在各成员端口中的负荷分担,交换机根据用户配置的端口负荷分担策略决定报文从哪一个成员端口发送到对端的交换机。
当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送报文,并根据负荷分担策略在剩下链路中重新计算报文发送的端口,故障端口恢复后再次重新计算报文发送端口。链路聚合在增加链路带宽、实现链路传输弹性和冗余等方面是一项很重要的技术。
如果聚合的每个链路都遵循不同的物理路径,则聚合链路也提供冗余和容错。通过聚合调制解调器链路或者数字线路,链路聚合可用于改善对公共网络的访问。链路聚合也可用于企业网络,以便在吉比特以太网交换机之间构建多吉比特的主干链路。
二、链路聚合原理
逻辑链路的带宽增加了大约(n-1)倍,这里,n为聚合的路数。另外,聚合后,可靠性大大提高,因为,n条链路中只要有一条可以正常工作,则这个链路就可以工作。除此之外,链路聚合可以实现负载均衡。因为,通过链路聚合连接在一起的两个(或多个)交换机(或其他网络设备),通过内部控制,也可以合理地将数据分配在被聚合连接的设备上,实现负载分担。
因为通信负载分布在多个链路上,所以链路聚合有时称为负载平衡。但是负载平衡作为一种数据中心技术,利用该技术可以将来自客户机的请求分布到两个或更多的服务器上。 聚合有时被称为反复用或IMUX。如果多路复用是将多个低速信道合成为一个单个的高速链路的聚合,那么反复用就是在多个链路上的数据“分散”。它允许以某种增量尺度配置分数带宽,以满足带宽要求。链路聚合也称为中继。
按需带宽或结合是指按需要添加线路以增加带宽的能力。在该方案中,线路按带宽的需求自动连接起来。聚合通常伴随着ISDN连接。基本速率接口支持两个64kbit/s的链路。一个可用于电话呼叫,而另一个可同时用于数据链路。可以结合这两个链路以建立l28kbit/s的数据链路。
三、链路聚合优点
- 增加网络带宽:链路聚合可以将多个链路捆绑成为一个逻辑链路,捆绑后的链路带宽是每个独立链路的带宽总和。
- 提高网络连接的可靠性:链路聚合中的多个链路互为备份,当有一条链路断开,流量会自动在剩下链路间重新分配。
- 负载分担:在一个链路聚合组内,可以实现在各成员活动链路上的负载分担。
四、链路聚合基本概念
1、链路聚合组和链路聚合接口
链路聚合组LAG(Link Aggregation Group)是指将若干条以太链路捆绑在一起所形成的逻辑链路。
每个聚合组唯一对应着一个逻辑接口,这个逻辑接口称之为链路聚合接口或Eth-Trunk接口。链路聚合接口可以作为普通的以太网接口来使用,与普通以太网接口的差别在于:转发的时候链路聚合组需要从成员接口中选择一个或多个接口来进行数据转发。
2、成员接口和成员链路
组成Eth-Trunk接口的各个物理接口称为成员接口。成员接口对应的链路称为成员链路。
活动接口和非活动接口、活动链路和非活动链路
链路聚合组的成员接口存在活动接口和非活动接口两种。转发数据的接口称为活动接口,不转发数据的接口称为非活动接口。
活动接口对应的链路称为活动链路,非活动接口对应的链路称为非活动链路。
3、活动接口数上限阈值
设置活动接口数上限阈值的目的是在保证带宽的情况下提高网络的可靠性。当前活动链路数目达到上限阈值时,再向Eth-Trunk中添加成员接口,不会增加Eth-Trunk活动接口的数目,超过上限阈值的链路状态将被置为Down,作为备份链路。
例如,有8条无故障链路在一个Eth-Trunk内,每条链路都能提供1G的带宽,现在最多需要5G的带宽,那么上限阈值就可以设为5或者更大的值。其他的链路就自动进入备份状态以提高网络的可靠性。
注:手工负载分担模式链路聚合不支持活动接口数上限阈值的配置。
4、活动接口数下限阈值
设置活动接口数下限阈值是为了保证最小带宽,当前活动链路数目小于下限阈值时,Eth-Trunk接口的状态转为Down。
例如,每条物理链路能提供1G的带宽,现在最小需要2G的带宽,那么活动接口数下限阈值必须要大于等于2。
5、链路聚合模式
链路聚合模式分为手工模式和LACP模式两种
五、链路聚合工作方式
工作方式有两种:手工负载分担、LACP模式。两种方式的对比:
维度 | 手工模式 | LACP模式 |
---|---|---|
定义 | Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议的参与。 | Eth-Trunk的建立是基于LACP协议的,LACP为交换数据的设备提供一种标准的协商方式,以供系统根据自身配置自动形成聚合链路并启动聚合链路收发数据。聚合链路形成以后,负责维护链路状态。在聚合条件发生变化时,自动调整或解散链路聚合。 |
设备是否需要支持LACP协议 | 不需要 | 需要 |
数据转发 |
一般情况下,所有链路都是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中分担流量。 | 一般情况下,部分链路是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在非活动链路中选择一条链路作为活动链路,参与数据转发的链路数目不变。 |
是否支持跨设备的链路聚合 | ||
检测故障 | 只能检测到同一聚合组内的成员链路有断路等有限故障,但是无法检测到链路故障、链路错连等故障。 | 不仅能够检测到同一聚合组内的成员链路有断路等有限故障,还可以检测到链路故障、链路错连等故障。 |
1、手工负载分担及配置和实验
手工模式下,Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议LACP的参与。当需要在两个直连设备之间提供一个较大的链路带宽而设备又不支持LACP协议时,可以使用手工模式。手工模式可以实现增加带宽、提高可靠性和负载分担的目的。
- 手工负载分担模式允许在聚合组中手工加入多个成员接口,所有接口均处于转发状态,分担负载流量。
- Eth-Trunk的创建,成员接口的加入都需要手工配置完成,没有LACP协议报文参与。
- 手工负载分担模式通常应用在对端设备不支持LACP协议的情况下。
具体的配置方法:如下图,我们来做这个实验。sw1和sw2分别用两条网线链接而成,我们通过手动分担负载的方式来实现PC1和PC2的通信。
sw1配置
[</