1.Eth-Trunk


1.1 基本概念

1.png
以太网链路聚合特点: 链路聚合(Eth-Trunk) - 图2以太网链路聚合基本概念

  • Eth-Trunk:链路聚合组LAG(Link Aggregation Group)是指若干条以太链路捆绑在一起所形成的逻辑链路,简写为Eth-Trunk。
  • 成员接口和成员链路:组成Eth-Trunk接口的各个物理接口称为成员链路。成员接口对应的链路称为成员链路
  • 活动接口和非活动接口、活动链路和非活动链路:
    • 链路聚合组的成员接口存在活动接口和非活动接口两种。转发数据的接口称为活动接口,不转发数据的接口称为非活动接口。
    • 活动接口对应的链路称为活动链路,非活动接口对应的链路称为非活动链路。
  • 活动接口数上限阈值:设置活动接口数上限阈值的目的是在保证带宽的情况下提高网络的可靠性。当前活动链路数量达到上线阈值时,再向Eth-Trunk中添加成员接口,不会增加Eth-Trunk活动接口的数目,超过上限阈值的链路状态将被置为Down,作为备份链路。
  • 活动接口数下限阈值:设置活动接口数下限阈值是为了保证最小带宽,当前活动链路数目小于下限阈值时,Eth-Trunk接口的状态转为Down。

1.2 转发原理

2.png

  • 上图有错误,Eth-Trunk位于MAC层与LLC子层之间。

转发原理

  • 对于MAC子层来说,Eth-Trunk接口可以认为是一个物理接口。因此,MAC子层在传输数据的时候,仅需要把数据提交给Eth-Trunk模块即可。

Eth-Trunk转发表项

  • HASH-KEY值:HASH-KEY值是根据数据包的MAC地址或IP地址,经HASH算法计算得出。
  • 端口号:Eth-Trunk转发表表项分布和设备每个Eth-Trunk支持加入的成员接口数量相关,不同的HASH-KEY值对应不同的出接口。

图例描述

  • 假设设备上有一个Eth-Trunk接口捆绑了1、2、3三个物理接口,此时生成的转发表如上图所示。其中HASH-KEY值为0、1、2、3、4、5、6、7,对应的出接口号分别是1、2、3、1、2、3、1、2。

转发过程

  • Eth-Trunk模块从MAC子层接收到一个数据帧后,根据负载分担方式提取数据帧的源MAC地址/IP地址或目的MAC地址/IP地址。
  • 根据HASH算法进行计算,得到HASH-KEY值。
  • Eth-Trunk模块根据HASH-KEY值在转发表中查找对应的接口,把数据帧从该接口发送出去。

1.3 负载分担

3.png
普通负载分担乱序原因

  • 在使用Eth-Trunk转发数据时,由于聚合组两端设备之间有多条物理链路,就会产生同一数据流的第一个数据帧在一条物理链路上传输,而第二个数据帧在另外一条物理链路上传输的情况。这样一来同一数据流的第二个数据帧就有可能比第一个数据帧先到达对端设备,从而产生接收数据包乱序的情况。

Eth-Trunk负载分担

  • 把数据帧撒谎给你的地址通过HASH算法生成HASH-KEY值,然后根据这个数值在Eth-Trunk转发表中寻找对应的出接口,不同的MAC或IP地址HASH得出的HASH-KEY值不同,从而出接口也就不同,这样保证了同一数据流的帧在同一条物理链路转发,即逐流的负载分担。逐流负载分担能保证包的顺序,但不能保证带宽利用率

1.4 链路聚合模式

4.png
手工模式聚合

  • 如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。当需要在两个直连设备间提供一个较大的链路带宽而设备又不支持LACP协议时,可以使用手工负载分担模式。

LACP模式聚合

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

LACP聚合模式基本概念

  • 系统LACP优先级:系统LACP优先级(缺省值是32768)是为了区分两端设备优先级的高低而配置的参数。
    • LACP模式下,两端设备所选择的活动接口必须保持一致,否则链路聚合组就无法建立。
    • 此时可以使其中一端(主动端)具有更高的优先级,另一端根据高优先级的一端(主动端)来选择活动接口即可。
    • 系统LACP优先级值越小优先级越高,当系统LACP优先级相同时,则比较MAC地址,MAC地址较小的一端作为主动端。
  • 接口LACP优先级:接口LACP优先级(缺省值是32768)是为了区别不同接口被选为活动接口的优先程度,优先级高的接口将优选被选为活动接口。接口LACP优先值越小,优先级越高。
  • LACP模式链路聚合由LACP确定聚合组中的活动和非活动链路,又称为M:N模式,即M条活动链路与N条备份链路的模式。这种模式提供了更高的链路可靠性,并且可以在M条链路中实现不同方式的负载均衡。

1.5 LACP实现原理

5.png
LACP实现原理

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

协商过程

  • 两端相互发送LACPDU报文
    • 在S1和S2上创建Eth-Trunk并配置为LACP模式,然后向Eth-Trunk中手工加入成员接口。此时成员接口上便启用了LACP协议,两端互发LACPDU报文。
  • 确定主动端和活动链路
    • 当S2收到S1发送的报文时,S2会查看并记录对端信息,并且比较系统优先级字段,如果S1的系统优先级高于本端的系统优先级,则确定S1为LACP主动端。
    • 选出主动段后,两端都会以主动端的接口优先级来选择活动接口。
    • 如果主动端的端口优先级一致,则会比较端口号,端口号小的优先。
  • LACP抢占
    • E1接口出现故障而后又恢复了正常。
    • 当接口E1出现故障时被E3所取代,如果在Eth-Trunk接口下未使能抢占,则故障恢复时E1将处于备份状态
    • 如果使能了LACP抢占,当E1故障恢复时,由于接口优先级比E3高,将重现成为活动接口,E3再次成为备份接口。
    • 如果没有使能抢占功能,即使当E1故障恢复且优先级更高,已不能对E3进行抢占。
  • LACP抢占延时
    • LACP抢占发生时,处于备份状态的链路都将等待一段时间后再切换到抓发状态。

1.6 链路聚合配置

image.png

1.7 集群环境下的链路聚合

image.png

  • 集群连接线缆的流量一般不是用来承载转发流量的,所以一般要启用Eth-Trunk流量本地优先转发策略。

2. E-Trunk


image.png
E-Trunk选举主备

  1. 首先比较优先级,谁的优先级小谁优先
  2. 其次比较系统ID,谁的系统ID越小越优先

如果说PE1成为E-Trunk的主时,PE1与CE之间的Eth-Trunk就会变为Up的状态,而PE2与CE的Eth-Trunk则会变为down状态。如果PE1与CE之间的链路出现故障,则PE1会与PE2进行协商,让PE2与CE之间的Eth-Trunk成为Up状态。