链路聚合Eth-trunk,细品!!!

链路聚合(Link Aggregation Control Protocol)
定义:
@以太网链路聚合Eth-trunk简称,通过将多个物理链路接口捆绑为一个逻辑接口,
可以在不进行硬件升级的条件下,达到增加链路带宽的目的。
特点:
@增加带宽
链路聚合接口的最大带宽可以达到各成员接口带宽之和。

@提高可靠性
当某条链路出现故障时,流量可以切换到其他可用的成员链路上,从而提高链路接口的可靠性

@负载分担
在一个链路聚合组内,可以实现在各成员活动链路上的负载分担。

》链路聚合组和链路聚合接口
链路聚合组LAG(Link Aggregation Group)是指将若干条以太链路捆绑在一起所形成的的逻辑接口。
每个链路聚合组唯一对应着一个逻辑接口,这个逻辑接口称之为链路聚合接口或Eth-trunk接口,
链路聚合接口可以作为普通的以太网接口来使用,与以太网接口的差别在于:转发的时候需要从成员接口中选择一个或
多个接口来进行数据的转发。
组成Eth-trunk接口的物理接口成为成员接口,成员接口对应的链路成为成员链路。

》活动接口和非活动接口,活动链路和非活动链路
链路聚合组的成员存在活动接口和非活动接口两种,转发数据的接口成为活动接口,
不转发数据的成为非活动接口。
活动接口对应的链路成为活动链路,非活动接口对应的链路为非活动链路。

》活动接口的上限阀值和下限阀值
1)上限阀值:
设置活动接口数上限阀值的目的是在保证带宽的情况下提高网络的可靠性,
当前活动接口数目达到上限阀值时,再向Eth-trunk中添加成员接口,不会增加Eth-trunk
活动接口的数目,超过上限阀值的链路状态将被设置为Down,作为备份链路。
例如:有8条无故障链路在一个Eth-trunk内,每条链路都能提供1G的带宽。现在最多需要5G的带宽,
那么上限阀值就可以设置为5或者更大的值,其他的链路就自动进入备份状态以提高网路的可靠性。

2)下线阀值:
设置活动接口数下线阀值是为了保证最小带宽,当前活动链路数目小于下线阀值时,
Eth-trunk接口的转态转为Down,例如,每条物理链路能提供1G带宽,现在最小需要2G带宽,
那么活动接口数下限阀值必须要大于等于2,

》链路聚合方式
同一设备,是指链路聚合时,同一聚合组的成员接口分布在同一设备上。
堆叠设备,是指在堆叠场景下,成员接口分布在堆叠的各个成员设备上。
跨设备,是指 Eth-trunk基于LACP(单台设备链路聚合的标准)进行了扩展,能够实现
多台设备间的链路聚合。

》链路聚合模式分为手工模式和LACP模式

》手工模式:
以太网链路聚合是指将多条以太网物理接口捆绑在一起成为一条逻辑链路,
从而实现增加链路带宽的目的,链路聚合分为手工模式和LACP模式。
手工模式下,Eth-trunk的建立,成员接口的加入有手工配置,没有链路聚合控制
协议LACP的参与,当需要在两台设备间提供一条较大的链路带宽而设备又不支持LACP协议时,
可以使用手工模式。手工模式可以实现增加带宽,提高可靠性,负载分担的目的,
手工模式下,所有的活动链路都参与数据的转发并平均分担流量,如果某条活动链路发生故障,
链路聚合组将自动在剩余的活动链路中平均分担流量。

》LACP模式链路聚合
LACP模式需要有链路聚合控制协议LACP的参与,LACP模式不仅可以实现增加带宽,
提高可靠性,负载分担的目的,还提高了Eth-trunk的容错性,提供冗余功能。
LACP模式下,部分链路是活动链路 ,所有活动链路均参与数据转发,如果某条链路故障,
链路聚合组自动在非活动链路中选择一条链路作为活动链路,参与数据转发的链路数目不变。

@ 系统LACP优先级
系统LACP优先级是为了区分两端设备优先级的高低而配置的参数,LACP模式下,
两端设备所选择的活动接口必须保持一致,否则聚合组就无法建立起来,此时可以使其中一端具有更高的优先级,
高优先级的一端进行活动接口的选择,优先级值越小优先级越高。

@接口LACP优先级
接口优先级是为了区分同一个Eth-trunk中的不同接口选择为活动接口的优先程度,优先级高的接口被优先选为活动接口,
接口LACP优先级值越小,优先级越高。

@成员接口间M:N备份
LACP模式链路聚合由LACP确定聚合组中的活动和非活动链路,又称为M:N模式,
既M条活动链路与N条备份链路的模式,这种模式提供了更高的链路可靠性,并且可以在M条链路
中实现不同方式的负载分担。
例如,两台设备间有M+N条链路,聚合链路上转发数据时在M条链路上负载分担,既活动链路,
不在另外的N条链路上转发流量,这N条链路提供了备份功能,既备份链路。此时链路的实际带宽为M条链路的总和,
但是能提供最大带宽时M+N条链路的总和。当M条链路中有一条链路故障时,LACP会从N条备份链路中找出一条优先级高
的可用链路替换掉故障链路,此时链路的实际带宽还是M条链路的总和,但是能提供的最大带宽就变成了M+N-1条链路的总和。
这种场景主要应用在只向用户提供M条链路的带宽,同时又希望提供一定的故障保护能力时。
当有一条链路出现故障,系统能够自动选择一条优先级最高的可用备份链路变为活动链路。
如果在备份链路中无法找到可用链路,并且目前处于活动状态的链路数目低于配置的活动接口数下限阈值,
那么系统将会把聚合接口关闭。

@LACP实现原理
LACP通过链路聚合控制协议数据单元LACPDP(Link Aggregation Control Protocol Data Unit)
与对端交互信息,LACPDP报文中包含设备的系统优先级,MAC地址,接口优先级,接口号和操作Key等信息。

》LACP模式Eth-trunk建立过程:
1.在LACP模式的Eth-trunk中加入成员接口后,两端相互发送LACPDP报文,

2.确定主动端和活动链路

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

》LACP抢占功能
使能LACP抢占功能后,聚合组会始终保持优先级高的接口作为活动接口的状态。以下两种情况需要使能LACP抢占功能:
1.port1 接口出现故障后又恢复了正常,接口port1在出现故障时被port3所取代,如果在Eth-trunk接口下未使能LACP抢占功能,
则故障恢复时port1将处于备份状态。如果使能了LACP抢占功能,当port1 故障恢复时,由于接口优先级比port3高,将重新成为活动接口,
port3 再次成为备份接口。
2.如果希望port3 接口替换port1,port2 中的一个接口成为活动接口,可以使能了LACP抢占功能,并配置port3的接口优先级较高。
如果没有使能LACP抢占功能,即使将备份接口的优先级调整为高于当前活动接口的优先级,系统也不会重新选择活动接口。

》LACP的抢占延时
抢占延时是LACP抢占发生时,处于备份状态的链路将会等待一段时间后再切换为转发状态。配置抢占延时是为了避免由于某些链路转态
频繁变化而导致Eth-trunk数据传输不稳定的情况,

@LACP模式聚合链路组两端设备中任何一端检测到一下事件,都会触发聚合组的链路切换:
1.链路Down事件
2.以太网OAM检测到链路失效
3.LACP协议发现链路故障
4.接口不可用
5.在使能LACP抢占功能的前提下,更改备份接口的优先级高于当前活动接口的优先级。
当满足上述切换条件其中之一时,按照如下步骤进行:
1.关闭故障链路。
2.从N条备份链路中选择优先级最高的备份链路替换活动链路中的故障链路。
3.优先级最高的备份链路转为活动链路转态并转发数据,完成切换。

配置聚合链路时需注意:
1).一个Eth-trunk接口中的成员必须是以太网类型和速率相同的接口
2).Eth-trunk链路两端相连的物理链路的数量,速率,流控配置必须一致。
3).如果本端设备加入了Eth-trunk,与该接口直连的对端接口也必须加入Eth-trunk,两端才能正常通信
4).两台设备对接时需要保证两端 设备链路聚合的模式一样

手工模式配置命令:

SWA:interface Eth-trunk 1 //创建聚合组1
trunkport g0/0/1 to g0/0/21 //加入成员接口
port link-type trunk //设置trunk
port trunk allow-pass vlan 10 20 //允许VLAN 10 20 通过
load-balance src-dst-mac //设置基于目标MAC地址进行负载分担
SWA:display eth-trunk 1 //查看聚合组

LACP模式配置命令:

SWA:lacp priority 100 //配置SWA系统优先级100,使其成为主动端
SWA:interface g0/0/1
lacp priority 100 //配置接口优先级,确定其为活动链路
SWA:interface Eth-trunk 1
mode lacp //设置模式为LACP
max active-linknumber 2 //活动链路上限阀值为2
trunkport g0/0/1 to g0/0/21 //加入成员接口
port link-type trunk //设置trunk
port trunk allow-pass vlan 10 20 //允许VLAN 10 20 通过

你可能感兴趣的:(笔记)