沉静式学习Eth-Trunk(一)

Eth-Trunk通过将多条以太物理链路捆绑在一起作为一条逻辑链路,从而实现增加链路带宽地的目的。捆绑在一起的链路通过相互间的动态备份,可以有效的提高链路的可靠性。

学习目标

随着网络规模不断扩大,用户对骨干链路的带宽和可靠性提出越来越高的要求。在传统技术中,常用更换高速率的单板或更换支持高速率单板的设备的方式来增加带宽,但这种方案需要付出高额的费用,而且不够灵活。

Eth-Trunk采用链路聚合技术,可以在不进行硬件升级的条件下,通过将多个物理接口捆绑为一个逻辑接口,达到增加链路带宽的目的。在实现增大带宽目的的同时,Eth-Trunk采用备份链路的机制,可以有效的提高设备之间链路的可靠性。

Eth-Trunk主要有以下三个优势:

  1. 增加带宽

链路聚合接口的最大带宽可以达到各成员接口带宽之和。

     2.提高可靠性

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

     3. 负载分担

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

手工模式Eth-Trunk

手工模式Eth-Trunk,Eth-Trunk的建立、成员接口的加入由手工配置,没有链路聚合控制协议LACP的参与。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。当需要在两个直连设备之间提供一个较大的链路带宽,而其中一端或两端设备都不支持LACP协议时,可以配置手工模式Eth-Trunk。

如下图所示,DeviceA与DeviceB之间创建Eth-Trunk,手工模式下三条活动链路都参与数据转发并分担流量。当一条链路故障时,故障链路无法转发数据,链路聚合组自动在剩余的两条活动链路中分担流量。

LACP模式Eth-Trunk

LACP模式Eth-Trunk,Eth-Trunk的建立、成员接口的加入也需要手工配置,最大的区别就是链路聚合控制协议LACP的参与。

作为链路聚合技术,手工模式Eth-Trunk可以实现多个物理接口聚合成一个Eth-Trunk接口来提高带宽,同时能够检测到同一聚合组内的成员链路有断路等有限故障,但是无法检测到链路层故障、链路错连等故障。为了提高Eth-Trunk的容错性,同时能提供备份功能,保证成员链路的高可靠性,出现了链路聚合控制协议LACP(Link Aggregation Control Protocol)。

LACP是基于IEEE802.3ad标准的一种实现链路动态聚合与解聚合的协议,以供设备根据自身配置自动形成聚合链路并启动聚合链路收发数据,LACP模式就是采用LACP的一种链路聚合模式。聚合链路形成以后,LACP负责维护链路状态,在聚合条件发生变化时,自动调整链路聚合。

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

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


 

LACP模式下Eth-Trunk建立过程

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

LACP模式中,系统LACP优先级和接口LACP优先级是两个重要的参数,直接影响链路聚合主动端和活动接口的选择。

  •         系统LACP优先级

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

        接口LACP优先级

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

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

1、在LACP模式的Eth-Trunk中加入成员接口后,两端互相发送LACPDU报文。

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

LACP模式Eth-Trunk互发LACPDU

2、确定主动端和活动链路。

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

选出主动端后,两端都会以主动端的接口优先级来选择活动接口,如果主动端的接口优先级都相同则选择接口编号比较小的为活动接口。两端设备选择了一致的活动接口后,活动链路组便可以建立起来,这些活动链路以负载分担的方式转发数据。

LACP模式确定主动端和活动链路的过程

LACP抢占

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

下图LACP抢占场景

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

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

LACP抢占延时

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

如上图所示,Port1由于链路故障切换为非活动接口,此后该链路又恢复了正常。若系统使能了LACP抢占功能并配置了抢占延时,Port1重新切换回活动状态就需要经过抢占延时的时间。

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

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

  1. 链路Down事件。
  2. LACP协议发现链路故障。
  3. 接口不可用。
  4. 在使能了LACP抢占功能的前提下,更改备份接口的优先级高于当前活动接口的优先级。

在以上故障场景中,可以按照如下步骤进行切换:

  1. 关闭故障链路。
  2. 从备份链路中选择优先级最高的链路接替活动链路中的故障链路。
  3. 优先级最高的备份链路转为活动状态并转发数据,完成切换。

LACP模式实现方式

链路聚合协议LACP分为静态LACP模式和动态LACP模式,其特点如下。

静态LACP模式

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

动态LACP模式

静态LACP模式和动态LACP模式在LACP协议交互方面没有区别,区别在于两种模式在LACP协商失败后的处理不一致:

  1. 静态LACP模式下,LACP协商失败后Eth-Trunk变为Down,不能转发数据。
  2. 动态LACP模式下,LACP协商失败后Eth-Trunk变为Down,但其成员接口继承Eth-Trunk的VLAN属性状态变为Indep,可独立进行二层数据转发。

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

动态LACP模式下的Eth-Trunk通常应用于设备和服务器直连的场景,如下图所示,服务器A需要通过DeviceA从文件服务器B获取配置文件。

  1. 当服务器A重启后为空配置时,LACP协商失败,此时动态LACP协议可保证服务器A通过Eth-Trunk成员接口从文件服务器B获取到配置文件。
  2. 当DeviceA收到服务器A的LACP协议报文时,服务器A和DeviceA将通过LACP协议报文进行聚合参数协商。

手工模式Eth-Trunk和LACP模式Eth-Trunk的区别

如下表

维度

手工模式

LACP模式

Eth-Trunk的建立方式

Eth-Trunk接口的创建、成员接口的加入由手工配置,没有链路聚合控制协议的参与。

Eth-Trunk接口的创建、成员接口的加入由手工配置,LACP协议参与链路动态调整,负责链路状态维护。在聚合条件发生变化时,自动调整或解散链路聚合。

设备是否需要支持LACP协议

不需要

需要

数据转发

正常情况下,所有链路都是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中分担流量。

正常情况下,部分链路是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在非活动链路中选择一条链路作为活动链路,参与数据转发的链路数目不变。

检测故障

只能检测到同一聚合组内的成员链路有断路等故障,无法检测到链路断连、错连等故障。

不仅能够检测到同一聚合组内的成员链路有断路等故障,还可以检测到链路故障、链路错连等故障。

关注+点赞+评论+收藏,分享更多网工实验小技巧

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值