学习日记Day26:以太网链路聚合

一、概念。
  1. 以太网链路聚合Eth-Trunk:简称链路聚合,通过将多个物理接口捆绑成为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的。转发数据的时候链路聚合组需要从成员接口中选择一个或多个接口来进行转发。
  2. 聚合组(Link Aggregation Group,LAG):若干条链路捆绑在一起所形成的的逻辑链路。每个聚合组唯一对应着一个逻辑接口,这个逻辑接口又被称为链路聚合接口或Eth-Trunk接口。
  3. 成员接口和成员链路:组成Eth-Trunk接口的各个物理接口称为成员接口。成员接口对应的链路称为成员链路
  4. 活动接口和活动链路:活动接口又叫选中(Selected)接口,是参与数据转发的成员接口。活动接口对应的链路被称为活动链路(Active link)
  5. 非活动接口和非活动链路:又叫非选中(Unselected)接口,是不参与转发数据的成员接口。非活动接口对应的链路被称为非活动链路(Inactive link)。
  6. 聚合模式 :根据是否开启LACP(Link Aggregation Control Protocol,链路聚合控制协议),链路聚合可以分为手工模式和LACP模式。
                    在这里插入图片描述
二、链路聚合的要求。
  1. Eth-Trunk接口不能嵌套,即Eth-Trunk接口的成员接口不能是Eth-Trunk接口。
  2. 一个以太网接口只能加入到一个Eth-Trunk接口,如果需要加入其它Eth-Trunk接口,必须先退出原来的Eth-Trunk接口。
  3. 如果本地设备使用了Eth-Trunk,与成员接口直连的对端接口也必须捆绑为Eth-Trunk接口,两端才能正常通信。
  4. Eth-Trunk链路两端相连的物理接口的数量、速率、双工方式、VLAN配置即接口类型都是Trunk或者Access,如果为Access接口的default VLAN需要一致,如果为Trunk接口,接口放通的VLAN、缺省VLAN需要一致。
三、手工模式。
1、概念。

        手工模式即 Eth-Trunk的建立、成员接口的加入均由手动配置,双方系统之间不使用LACP进行协商。正常情况下所有链路都是活动链路,该模式下所有活动链路都参与数据的转发,平均分担流量,如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。当聚合的两端设备中存在一个不支持LACP协议时,可以使用手工模式。

2、缺陷。
  1. 为了使链路聚合接口正常工作,必须保证本端链路聚合接口中所有成员接口的对端接口:属于同一设备、加入同一链路聚合接口。
  2. 手工模式下,设备间没有报文交互,因此只能通过管理员人工确认。
  3. 手动模式下,设备只能通过物理层状态判断对端接口是否正常工作。当发生间接故障时活动接口无法感知故障,接口的物理状态为UP,但无法转发报文。
3、配置举例。

在这里插入图片描述
        案例需求描述:SW1、SW2都连接着VLAN10、VLAN20的网络;SW1和SW2之间通过两根以太网链路互联,为了提供链路冗余以及保证传输可靠性,在SW1、SW2之间配置手工模式的链路聚合。
S2配置类似:

[S1]vlan batch 10 20   //批量创建VLAN
[S1]int g0/0/3
[S1-GigabitEthernet0/0/3]port link-type access  //修改接口类型
[S1-GigabitEthernet0/0/3]port default vlan 10  //将接口加入VLAN 10
[S1-GigabitEthernet0/0/3]int g0/0/4
[S1-GigabitEthernet0/0/4]port link-type access 
[S1-GigabitEthernet0/0/4]port default vlan 20
[S1-GigabitEthernet0/0/4]q
[S1]int Eth-Trunk 1 //创建链路聚合组
[S1-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 to 0/0/2 //批量将接口加入链路聚合组中
Info: This operation may take a few seconds. Please wait for a moment...done.
[S1-Eth-Trunk1]port link-type trunk 
[S1-Eth-Trunk1]port trunk allow-pass vlan 10 20 //放行vlan10 20

如下图查看S1链路聚合信息,可以看到两个成员接口已经被绑定到Eth-trunk 1。
在这里插入图片描述

四、LACP模式。
1、概念。
  1. LACP模式:采用LACP协议的一种链路聚合模式。设备间通过链路聚合控制协议数据单元(Link Aggregation Control Protocol Data Unit,LACPDU)进行交互,通过协议协商确保对端是同一台设备、同一个聚合接口的成员接口。LACPDU报文中包含设备优先级、MAC地址、接口优先级、接口号等。
  2. 系统LACP优先级:是为了区分两端设备优先级的高低而配置的参数。LACP模式下,两端设备所选择的活动接口必须保持一致,否则链路聚合组就无法建立。此时可以使其中一端具有更高的优先级,另一端根据高优先级的一端来选择活动接口即可。系统LACP优先级值越小优先级越高,如果系统优先级相同,比较两端设备的MAC地址,MAC地址小的一端为LACP主动端。
[Huawei] lacp priority [priority]   配置系统LACP优先级,缺省情况下,系统LACP优先级为32768
  1. 接口LACP优先级:是为了区别同一个Eth-Trunk中的不同接口被选为活动接口的优先程度,优先级高的接口将优先被选为活动接口。接口LACP优先级值越小,优先级越高。如果主动端的接口优先级都相同则选择接口编号比较小的为活动接口。
[Huawei-GigabitEthernet0/0/1] lacp priority [priority] 配置接口LACP优先级,缺省情况下,系统LACP优先级为32768
  1. 最大活动接口数 :LACP模式支持配置最大活动接口数目,当成员接口数目超过最大活动接口数目时会通过比较接口优先级、接口号选举出较优的接口成为活动接口,其余的则成为备份端口(非活动接口),同时对应的链路分别成为活动链路、非活动链路。交换机只会从活动接口中发送、接收报文;当活动链路中出现链路故障时,可以从非活动链路中找出一条优先级最高(接口优先级、接口编号比较)的链路替换故障链路,实现总体带宽不发生变化、业务的不间断转发。
[Huawei-Eth-Trunk1] max active-linknumber {number}      配置最大活动接口数
[Huawei-Eth-Trunk1] least active-linknumber {number}    配置最小活动接口数
  1. 成员接口间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条链路的带宽,同时又希望提供一定的故障保护能力时。当有一条链路出现故障,系统能够自动选择一条优先级最高的可用备份链路变为活动链路。如果在备份链路中无法找到可用链路,并且目前处于活动状态的链路数目低于配置的活动接口数下限阈值,那么系统将会把聚合接口关闭。
2、LACP模式Eth-Trunk建立的过程。
  1. 在LACP模式的Eth-Trunk中加入成员接口后,两端互相发送LACPDU报文。 如下图所示,在DeviceA和DeviceB上创建Eth-Trunk并配置为LACP模式,然后向Eth-Trunk中手工加入成员接口。此时成员接口上便启用了LACP协议,两端互发LACPDU报文。
                                    在这里插入图片描述

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

3、链路聚合负载分担方式。

        Eth-Trunk采用逐流负载分担的机制,把数据帧中的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在Eth-Trunk转发表中寻找对应的出接口,不同的MAC或IP地址HASH得出的HASH-KEY值不同,从而出接口也就不同,这样既保证了同一数据流的帧在同一条物理链路转发,又实现了流量在聚合组内各物理链路上的负载分担。逐流负载分担能保证包的顺序,但不能保证带宽利用率。
        基于流的负载分担转发原理是Eth-Trunk模块内部维护一张转发表,这张表由以下两项组成。

  • HASH-KEY值:HASH-KEY值是根据数据包的MAC地址或IP地址等,经HASH算法计算得出。
  • 接口号:Eth-Trunk转发表表项分布和设备每个Eth-Trunk支持加入的成员接口数量相关,不同的HASH-KEY值对应不同的出接口。例如,某设备每Eth-Trunk支持最大加入接口数为8个,将接口1、2、3、4捆绑为一个Eth-Trunk接口,此时生成的转发表如下图所示。其中HASH-KEY值为0、1、2、3、4、5、6、7,对应的出接口号分别为1、2、3、4、1、2、3、4。
                                                    在这里插入图片描述
    Eth-Trunk模块根据转发表转发数据帧的过程如下:
  • Eth-Trunk模块从MAC子层接收到一个数据帧后,根据负载分担方式提取数据帧的源MAC地址/IP地址或目的MAC地址/IP地址。
  • 根据HASH算法进行计算,得到HASH-KEY值。
  • Eth-Trunk模块根据HASH-KEY值在转发表中查找对应的接口,把数据帧从该接口发送出去。
4、负载分担模式。

        Eth-trunk支持基于报文的IP地址或MAC地址来进行负载分担,可以配置不同的模式(本地有效,对出方向报文生效)将数据流分担到不同的成员接口上。常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源目MAC、VLAN。华为设备默认采用源目IP模式。
              在这里插入图片描述
        例如,S1交换机的一条TCP报文流的源IP地址为192.168.1.1(MAC地址:a-a-a,源端口号:50),目的IP地址为172.16.1.1(MAC地址:b-b-b,目的端口号:2000),另一条TCP报文流的源IP地址为192.168.1.1(MAC地址:a-a-a,源端口号:60),目的IP地址为10.1.1.1(MAC地址:c-c-c,目的端口号:2000)。如果在S1上配置基于报文的源MAC地址进行负载分担,则报文出接口仅有1个;如果在DeviceA上配置基于报文的目的IP地址进行负载分担,则报文出接口有两个,去往不同目的IP的报文会从不同的出接口转发。
       尽量将数据流通过负载分担在所有活动链路上传输,避免数据流仅在一条链路上传输,造成流量拥堵,影响业务正常运行。例如,数据报文的目的MAC和IP地址只有一个,则应选择根据报文的源MAC和IP地址进行负载分担,如果选择根据报文的目的MAC和IP地址进行负载分担则会造成流量只在一条链路上传输,造成流量拥堵。

5、LACP模式下的其他功能。
5.1、LACP抢占。

       如下图所示,接口Port1、Port2和Port3为Eth-Trunk的成员接口,DeviceA为主动端,活动接口数上限阈值为2,三个接口的LACP优先级分别为10、20、30。当通过LACP协议协商完毕后,接口Port1和Port2因为优先级较高被选作活动接口,Port3成为备份接口。
                                在这里插入图片描述

       使能LACP抢占功能后,聚合组会始终保持高优先级的接口作为活动接口的状态。以下两种情况需要使能LACP抢占功能:

  1. Port1接口出现故障而后又恢复了正常。当接口Port1出现故障时被Port3所取代,如果在Eth-Trunk接口下未使能LACP抢占功能,则故障恢复时Port1将处于备份状态;如果使能了LACP抢占功能,当Port1故障恢复时,由于接口优先级比Port3高,将重新成为活动接口,Port3再次成为备份接口。
  2. 如果希望Port3接口替换Port1、Port2中的一个接口成为活动接口,可以使能了LACP抢占功能,并配置Port3的接口LACP优先级较高。如果没有使能LACP抢占功能,即使将备份接口的优先级调整为高于当前活动接口的优先级,系统也不会重新选择活动接口。
5.2、LACP抢占延时。

       抢占延时是LACP抢占发生时,处于备用状态的链路将会等待一段时间后再切换到转发状态。配置抢占延时是为了避免由于某些链路状态频繁变化而导致Eth-Trunk数据传输不稳定的情况。
       如上图所示,Port1由于链路故障切换为非活动接口,此后该链路又恢复了正常。若系统使能了LACP抢占功能并配置了抢占延时,Port1重新切换回活动状态就需要经过抢占延时的时间。默认的抢占延时为30秒。

[S1-Eth-Trunk1]lacp preempt delay 10 修改抢占延时为10s
5.3、活动链路与非活动链路切换。

       LACP模式链路聚合组两端设备中任何一端检测到以下事件,都会触发聚合组的链路切换:

  • 链路Down事件。
  • 以太网OAM检测到链路失效。
  • LACP协议发现链路故障。
  • 接口不可用。
  • 在使能了LACP抢占功能的前提下,更改备份接口的优先级高于当前活动接口的优先级。

       当满足上述切换条件其中之一时,按照如下步骤进行切换:

  1. 关闭故障链路。

  2. 从N条备份链路中选择优先级最高的链路接替活动链路中的故障链路。

  3. 优先级最高的备份链路转为活动状态并转发数据,完成切换。

6、配置举例。

在这里插入图片描述
       案例需求描述:SW3、SW4都连接着VLAN10、VLAN20的网络。SW3和SW4之间通过三根以太网链路互联,为了提供链路冗余以及保证传输可靠性,在SW3、SW4之间配置LACP模式的链路聚合,并且手动调整优先级让SW3成为主动端,并配置最大活跃端口为2,最小活跃端口为2,另外一条链路作为备份,并开启LACP抢占功能。

[S3]interface Eth-Trunk 1	
[S3-Eth-Trunk1]mode lacp //修改模式为lacp
[S3-Eth-Trunk1]max active-linknumber 2 //配置最大活动接口数
[S3-Eth-Trunk1]least active-linknumber 2 //配置最小活动接口数
[S3-Eth-Trunk1]lacp preempt enable    // 开启lacp抢占功能
[S3-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 to 0/0/3
Info: This operation may take a few seconds. Please wait for a moment...done.
[S3-Eth-Trunk1]port link-type trunk 
[S3-Eth-Trunk1]port trunk allow-pass vlan 10 20
[S3-Eth-Trunk1]q
[S3]lacp priority 30000 //配置系统LACP优先级

       S4的配置类似,S4不用配置系统优先级,它的默认优先级为32768。查看S3链路聚合信息,可以看到接口GigabitEthernet0/0/2和GigabitEthernet0/0/3处于工作状态GigabitEthernet0/0/1处于备份状态。
在这里插入图片描述
       当手工关闭GigabitEthernet0/0/2接口模拟链路故障时,GigabitEthernet0/0/1接口会自动转为激活状态。
在这里插入图片描述
       当链路恢复时,因为开启了LACP抢占功能GigabitEthernet0/0/2接口会自动恢复转发状态。
在这里插入图片描述
       当同时手工关闭GigabitEthernet0/0/2接口和GigabitEthernet0/0/3接口,模拟链路故障时由于设置了Eth-Trunk的活动链路下限阈值为2,所以聚合组中可用活动接口数量少于2时,整个聚合组对应的接口将会被关闭。尽管此时GigabitEthernet0/0/1处于UP状态,但是仍处于Unselect状态。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晶晶娃在战斗

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值