数通特性:LACP

Posted soul-stone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数通特性:LACP相关的知识,希望对你有一定的参考价值。

为了提高Eth-Trunk的容错性,并且能提供备份功能,保证成员链路的高可靠性,出现了链路聚合控制协议LACP(Link Aggregation Control Protocol),LACP模式就是采用LACP的一种链路聚合模式。

LACP为交换数据的设备提供一种标准的协商方式,以供设备根据自身配置自动形成聚合链路并启动聚合链路收发数据。聚合链路形成以后,LACP负责维护链路状态,在聚合条件发生变化时,自动调整或解散链路聚合。

图1所示,DeviceA与DeviceB之间创建Eth-Trunk,需要将DeviceA上的四个接口与DeviceB捆绑成一个Eth-Trunk。由于错将DeviceA上的一个接口与DeviceC相连,这将会导致DeviceA向DeviceB传输数据时可能会将本应该发到DeviceB的数据发送到DeviceC上。而手工负载分担模式的Eth-Trunk不能及时检测到此故障。

如果在DeviceA和DeviceB上都启用LACP协议,经过协商后,Eth-Trunk就会选择正确连接的链路作为活动链路来转发数据,从而DeviceA发送的数据能够正确到达DeviceB。

图1 Eth-Trunk错连示意图
技术分享图片

基本概念

  • 系统LACP优先级

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

  • 接口LACP优先级

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

LACP模式实现原理

基于IEEE802.3ad标准的LACP是一种实现链路动态聚合与解聚合的协议。LACP通过链路聚合控制协议数据单元LACPDU(Link Aggregation Control Protocol Data Unit)与对端交互信息。

在LACP模式的Eth-Trunk中加入成员接口后,这些接口将通过发送LACPDU向对端通告自己的系统优先级、MAC地址、接口优先级、接口号和操作Key(用来判断各接口相连对端是否在同一聚合组以及各接口带宽是否一致等)等信息。对端接收到这些信息后,将这些信息与自身接口所保存的信息比较,用以选择能够聚合的接口,双方对哪些接口能够成为活动接口达成一致,确定活动链路。

  • LACP模式Eth-Trunk建立的过程如下:

    1. 两端互相发送LACPDU报文。

      图2所示,在DeviceA和DeviceB上创建Eth-Trunk并配置为LACP模式,然后向Eth-Trunk中手工加入成员接口。此时成员接口上便启用了LACP协议,两端互发LACPDU报文。

      图2 LACP模式链路聚合互发LACPDU
      技术分享图片
    2. 确定主动端和活动链路。

      图3所示,两端设备均会收到对端发来的LACPDU报文。以DeviceB为例,当DeviceB收到DeviceA发送的报文时,DeviceB会查看并记录对端信息,然后比较系统优先级字段,如果DeviceA的系统优先级高于本端的系统优先级,则确定DeviceA为LACP主动端。如果DeviceA和DeviceB的系统优先级相同,比较两端设备的MAC地址,确定MAC地址小的一端为LACP主动端

      选出主动端后,两端都会以主动端的接口优先级来选择活动接口,两端设备选择了一致的活动接口,活动链路组便可以建立起来,从活动链路中转发数据。

      图3 LACP模式确定主动端和活动链路的过程
      技术分享图片
  • LACP抢占

    使能LACP抢占功能后,聚合组会始终保持高优先级的接口作为活动接口的状态。

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

    图4 LACP抢占场景
    技术分享图片

    以下两种情况需要使能LACP的抢占功能。

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

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

  • 活动链路与非活动链路切换

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

    • 链路Down事件。

    • LACP协议发现链路故障。

    • 接口不可用。

    • 在使能了LACP抢占功能的前提下,更改备份接口的优先级高于当前活动接口的优先级。

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

    1. 关闭故障链路。

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

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

 

LACP实现方式

链路聚合协议LACP分为静态LACP模式和动态LACP模式,它们各自的特点如下:

    • 静态LACP模式

      静态LACP模式是一种利用LACP协议报文进行聚合参数协商,从而确定活动接口和非活动接口的链路聚合方式。

      静态LACP模式下,Eth-Trunk的建立,成员接口的加入,都是由手工配置完成的。但与手工负载分担模式链路聚合不同的是,该模式下活动接口的选择由LACP协议报文负责。也就是说,当把一组接口加入Eth-Trunk接口后,这些成员接口中哪些接口作为活动接口,哪些接口作为非活动接口还需要经过LACP协议报文的协商确定

      静态LACP模式也称为M∶N模式。这种方式同时可以实现负载分担和冗余备份的双重功能。在链路聚合组中M条链路处于活动状态,这些链路负责转发数据并进行负载分担,另外N条链路处于非活动状态作为备份链路,不转发数据。当M条链路中有链路出现故障时,系统会从N条备份链路中选择优先级最高的接替出现故障的链路,同时这条链路状态变为活动状态开始转发数据。

      图5所示,两台直接相连的设备都支持LACP协议,在两台设备上配置静态LACP模式Eth-Trunk接口,实现流量的负载分担与链路的冗余备份。静态LACP模式主要用在只向用户提供M条链路的带宽,同时又希望提供一定的故障保护能力。当有一条链路出现故障时,系统能够自动选择一条优先级最高的可用备份链路变为活动链路。

      图5 静态LACP模式Eth-Trunk接口示意图
      技术分享图片
    • 动态LACP模式

      静态LACP模式和动态LACP模式在LACP协议交互方面没有区别,区别在于两种模式在LACP协商失败后的处理不一致:
      • 静态LACP模式下,LACP协商失败后Eth-Trunk变为Down,不能转发数据。
      • 动态LACP模式,LACP协商失败后Eth-Trunk变为Down,但其成员口继承Eth-Trunk的VLAN属性状态变为Indep,可独立进行二层数据转发

      当部署动态LACP模式Eth-Trunk接口的设备能够收到对端的LACP协议报文时,两端设备将通过LACP协议报文进行聚合参数协商。协商成功后的聚合链路功能与两端都配置为静态LACP模式Eth-Trunk接口的链路一样。

      动态LACP模式下的Eth-Trunk通常应用于设备和服务器直连的场景,如图6所示,服务器A需要通过DeviceA从文件服务器B获取配置文件。
      • 当服务器A重启后为空配置时,LACP协商失败,此时动态LACP协议可保证服务器A通过Eth-Trunk成员口从文件服务器B获取到配置文件。
      • 当DeviceA收到服务器A的LACP协议报文时,服务器A和DeviceA将通过LACP协议报文进行聚合参数协商。
      图6 动态LACP模式Eth-Trunk接口示意图

动态LACP模式Eth-Trunk仅用于华为公司设备与服务器互连的场景。其他场景下,建议部署静态LACP模式Eth-Trunk,如果部署动态LACP,则网络会有成环风险。

 

#
lacp priority 100
#
interface Eth-Trunk1
 mode lacp-static
 lacp max active-linknumber 2
#
interface 10GE1/0/1
 eth-trunk 1
 lacp priority 100
#
interface 10GE1/0/2
 eth-trunk 1
 lacp priority 100
#
interface 10GE1/0/3
 eth-trunk 1

  

#
interface Eth-Trunk1
 mode lacp-static
#
interface 10GE1/0/1
 eth-trunk 1
#
interface 10GE1/0/2
 eth-trunk 1
#
interface 10GE1/0/3
 eth-trunk 1

 




以上是关于数通特性:LACP的主要内容,如果未能解决你的问题,请参考以下文章

数通特性:VLAN管理

路由交换基础——LACP

LACP链路聚合-基础篇

数通手稿留档

HCNA配置静态LACP模式链路聚合

LACP-链路聚合