02.25 「解析」企业组网必用的链路捆绑——Eth-Trunk

以太网链路聚合 Eth-Trunk 简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。

同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。


「解析」企业组网必用的链路捆绑——Eth-Trunk


1、Trunk 接口连接的链路可以看成是一条点到点的直连链路,在一个 Trunk 内,可以实现流量负载分担,同时也提供了更高的连接可靠性和更大的带宽。用户通过对逻辑口进行配置,实现各种路由协议以及其它业务部署。


2、链路聚合技术主要有以下三个优势:增加带宽、提高可靠性和负载分担。


3、链路聚合组和成员接口链路聚合组 LAG 是指将若干条以太链路捆绑在一起所形成的逻辑链路。组成 Eth-Trunk 接口的各个物理接口称为成员接口。


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


活动接口对应的链路称为活动链路,非活动接口对应的链路称为非活动链路。


4、活动接口数上限阈值


当前活动链路数目达到上限阈值时,再向 Eth-Trunk 中添加成员接口,不会增加 Eth-Trunk 活动接口的数目,超过上限阈值的链路状态将被置为 Down,作为备份链路。


5、活动接口数下限阈值


设置活动接口数下限阈值是为了保证最小带宽,当前活动链路数目小于下限阈值时,Eth-Trunk 接口的状态转为 Down。


6、设备支持的链路聚合方式


同板:是指链路聚合时,同一聚合组的成员接口分布在同一单板上。


跨板:是指链路聚合时,同一聚合组的成员接口分布在不同的单板上。


跨框:是指在集群场景下,成员接口分布在集群的各个成员设备上。


跨设备:是指 E-Trunk 基于 LACP 进行了扩展,能够实现多台设备间的链路聚合。


Eth-Trunk 转发原理

1、Eth-Trunk 位于 MAC 与 LLC 子层之间,属于数据链路层。


「解析」企业组网必用的链路捆绑——Eth-Trunk


2、Eth-Trunk 模块内部维护一张转发表,这张表由以下两项组成。


HASH-KEY 值:HASH-KEY 值是根据数据包的 MAC 地址或 IP 地址等,经 HASH 算法计算得出。


接口号:Eth-Trunk 转发表表项分布和设备每个 Eth-Trunk 支持加入的成员接口数量相关,不同的 HASH-KEY 值对应不同的出接口。


Eth-Trunk 模块根据转发表转发数据帧的过程如下:


1)Eth-Trunk 模块从 MAC 子层接收到一个数据帧后,根据负载分担方式提取数据帧的源MAC 地址/IP 地址或目的 MAC 地址/IP 地址。


2)根据 HASH 算法进行计算,得到 HASH-KEY 值。


3)Eth-Trunk 模块根据 HASH-KEY 值在转发表中查找对应的接口,把数据帧从该接口发送出去。


为了避免数据包乱序情况的发生,Eth-Trunk 采用逐流负载分担的机制,其中如何转发数据则由于选择不同的负载分担方式而有所差别。


负载分担的方式主要包括以下几种,用户可以根据具体应用选择不同的负载分担方式。


  • 根据报文的源 MAC 地址进行负载分担;
  • 根据报文的目的 MAC 地址进行负载分担;
  • 根据报文的源 IP 地址进行负载分担;
  • 根据报文的目的 IP 地址进行负载分担;
  • 根据报文的源 MAC 地址和目的 MAC 地址进行负载分担;
  • 根据报文的源 IP 地址和目的 IP 地址进行负载分担;
  • 根据报文的 VLAN、源物理端口等对 L2、IPv4、IPv6 和 MPLS 报文进行增强型负载分担。


Eth-Trunk 实现方式


(1)链路聚合 - 手工模式链路聚合


手工模式下,Eth-Trunk 的建立、成员接口的加入由手工配置,没有链路聚合控制协议LACP 的参与。DeviceA 与 DeviceB 之间创建 Eth-Trunk,手工模式下三条活动链路都参与数据转发并分担流量。当一条链路故障时,故障链路无法转发数据,链路聚合组自动在剩余的两条活动链路中分担流量。


「解析」企业组网必用的链路捆绑——Eth-Trunk


(2)链路聚合 - LACP 模式链路聚合


为了提高 Eth-Trunk 的容错性,并且能提供备份功能,保证成员链路的高可靠性,出现了链路聚合控制协议LACP(Link Aggregation Control Protocol)。聚合链路形成以后,LACP负责维护链路状态,在聚合条件发生变化时,自动调整或解散链路聚合。


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


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


「解析」企业组网必用的链路捆绑——Eth-Trunk


作为链路聚合技术,手工模式 Eth-Trunk 可以完成多个物理接口聚合成一个 Eth-Trunk口来提高带宽,同时能够检测到同一聚合组内的成员链路有断路等有限故障,但是无法检测

到链路层故障、链路错连等故障。


(3)链路聚合 - LACP 模式链路聚合确定主动端和活动链路。


「解析」企业组网必用的链路捆绑——Eth-Trunk


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


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


分享到:


相關文章: