链路聚合技术详细介绍

一、链路聚合的基本原理

以太网链路聚合Eth-Trunk简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,由此实现增加链路带宽的目的,并且这些捆绑在一起的链路通过相互动态备份,可以有效的提高链路的可靠性。

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

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

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

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

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

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

设备支持的链路聚合方式
①、同板:是指链路聚合时,同一聚合组的成员接口分布在同一单板上。
②、同板:是指链路聚合时,同一聚合组的成员接口分布在同一单板上。
③、跨板:是指链路聚合时,同一聚合组的成员接口分布在不同的单板上。
④、跨框:是指在集群场景下,成员接口分布在集群的各个成员设备上。
⑤、跨设备:是指E-Trunk基于LACP进行了扩展,能够实现多台设备间的链路聚合。

二、链路聚合的转发原理

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

Eth-Trunk模块内部维护一张转发表,这张表由以下两项组成
1、HASH-KEY值:HASH-KEY值是根据数据包MAC地址或IP地址等,经过HASH算法计算得出。
2、接口号: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支持最大加入接口数为8个,将接口1、2、3、4捆绑为一个Eth-Trunk接口,此时生成的转发表如图2所示。其中HASH-KEY值为0、1、2、3、4、5、6、7,对应的出接口号分别为1、2、3、4、1、2、3、4。

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

负载分担的方式主要包括以下几种,用户可以根据具体应用选择不同的负载分担方式。
根据报文的源MAC地址进行负载分担;
根据报文的目的MAC地址进行负载分担;
根据报文的源IP地址进行负载分担;
根据报文的目的IP地址进行负载分担;
根据报文的源MAC地址和目的MAC地址进行负载分担;
根据报文的源IP地址和目的IP地址进行负载分担;
根据报文的VLAN、源物理端口等对L2、IPv4、IPv6和MPLS报文进行增强型负载分担。

三、链路聚合(Eth-Trunk)的实现方式

链路聚合的实现方式根据配置不同可分为两种方式:手工模式链路聚合LACP模式链路聚合

Ⅰ、手工模式链路聚合

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

Ⅱ、LACP模式链路聚合

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

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

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

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

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

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

四、配置链路聚合(Eth-Trunk)

①、配置手工模式链路聚合
[SwitchA] interface eth-trunk 1
\\创建Eth-Trunk接口 并进入Eth-Trunk接口视图
[SwitchA-Eth-Trunk1] mode manual load-balance
\\配置链路聚合模式为手工模式
[SwitchA-Eth-Trunk1] trunkport gigabitethernet 0/0/1 to 0/0/3
\\将成员接口加入聚合组

②、配置LACP模式的链路聚合
[SwitchA] interface eth-trunk 1
[SwitchA-Eth-Trunk1] mode lacp \\配置链路聚合模式为LACP模式
[SwitchA-Eth-Trunk1] max active-linknumber 2 \\配置活动接口上限阀值为2
[SwitchA] interface gigabitethernet 0/0/1 \\将成员接口加入聚合组
[SwitchA-GigabitEthernet0/0/1] eth-trunk 1
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] eth-trunk 1
[SwitchA] interface gigabitethernet 0/0/3
[SwitchA-GigabitEthernet0/0/3] eth-trunk 1

五、集群环境下的链路聚合(Eth-Trunk)

将集群设备不同设备中的物理接口聚合到一个逻辑接口 Eth-Trunk接口中。 当集群设备中某台设备故障或加入 Eth-Trunk接口中的物理成员口故障,可通过集群设备间线缆跨框传输数据流量,从而保证了数据流量的可靠传输,同时实现了设备间的备份。

在网络无故障的情况下从DeviceB或DeviceC上来的流量,通过本设备中的成员口优先本地转发,而不是像A图中通过集群设备间线缆跨框转发。

在设备集群情况下,为了保证流量的可靠传输,流量的出接口设置为Eth-Trunk接口。那么Eth-Trunk接口中必定存在跨框成员口。当集群设备转发流量时,Eth-Trunk接口通过HASH算法可能会选择跨框的成员口。由于集群设备间线缆带宽有限,跨框转发流量增加了集群设备之间的带宽承载压力,同时也降低了流量转发效率。为了解决这个问题,可以使能Eth-Trunk接口流量本地优先转发。

如图所示,DeviceB和DeviceC组成集群,集群设备和DeviceA之间用Eth-Trunk连接。通过在集群设备上部署接口流量本地优先转发功能,可实现:

入本设备流量从本设备转发
当Eth-Trunk接口在DeviceB有出接口且出接口无故障时,DeviceB的Eth-Trunk接口转发表中将只包含DeviceB的出接口。这样DeviceB到DeviceA的流量在通过HASH算法选择出接口时只能选中DeviceB的接口,流量从DeviceB本设备转发出去。

入本设备流量跨框转发
当Eth-Trunk接口在DeviceB本设备无出接口或者出接口全部故障时,DeviceB的Eth-Trunk转发表中将包含Eth-Trunk接口中所有可转发的出接口。这样DeviceB到DeviceA的流量在通过HASH算法选择出接口时将选中DeviceC上的出接口,流量将通过DeviceC跨框转发。

六、链路聚合(Eth-Trunk)与跨设备链路聚合机制(E-Trunk)的区别

E-Trunk ( Enhanced Trunk)是一种实现跨设备链路聚合的机制,基于LACP (单台设备链路聚合的标准)进行了扩展,能够实现多台设备间的链路聚合,从而把链路可靠性从单板级提高到了设备级。

如图所示, CE双归接入PE1和 PE2 , 通过在PE节点部署E-Trunk,当CE至PE1 的链 路或PE1节点故障时,流量可以切换到CE至PE2的链路,从而实现设备级保护。

E-Trunk机制主要应用于CE双归接入VPLS、VLL、PWE3网络时,CE与PE间的链路保护以及对PE设备节点故障的保护。在没有使用E-Trunk前,CE通过Eth-Trunk链路只能单归到一个PE设备。如果Eth-Trunk出现故障或者PE设备故障,CE将无法与PE设备继续进行通信。使用E-Trunk后, CE可以双归到PE上,从而实现设备间保护。

如图,CE分别与PE1和PE2直连,PE1和PE2之间运行E-Trunk。PE侧,需要在PE1和PE2设备上分别创建ID相同的E-Trunk和Eth-Trunk,并将Eth-Trunk加入到E-Trunk。CE侧,在CE设备上配置LACP模式的Eth-Trunk,此Eth-Trunk分别与PE1和PE2设备相连。对CE设备而言,E-Trunk不可见。

PE1与PE2设备之间通过E-Trunk报文进行主备协商,确定E-Trunk的主备状态。正常情况下两台PE的协商结果是一个为主用一个为备用。PE设备上E-Trunk主备状态是根据报文中所携带的E-Trunk优先级和E-Trunk系统ID确定的。优先级的数值越小,优先级越高,优先级高的为主用。如果E-Trunk优先级相同,那么E-Trunk系统ID小的为主用。PE1为主,PE1的Eth-Trunk 10为主,链路状态为Up。PE2为备,PE2的Eth-Trunk 10为备,链路状态为Down。

如果CE到PE1间的链路出现故障:PE1会向对端发送E-Trunk报文,报文中携带PE1的Eth-Trunk 10故障的信息。PE2收到E-Trunk报文后,发现对端Eth-Trunk 10故障,则PE2设备上Eth-Trunk 10的状态将变为主。然后经过LACP协商,PE2设备上的Eth-Trunk 10的状态变为Up。这样PE2设备的Eth-Trunk状态变为Up,CE的流量会通过PE2转发,以达到对CE的流量进行保护的目的。

如果PE1设备出现故障:如果PE设备上配置了BFD,PE2检测到BFD会话状态为Down后,PE2设备从备用状态变为主用状态,PE2的Eth-Trunk 10状态也变为主。如果PE设备上没有配置BFD, PE2设备上的定时器超时后仍然没有收到PE1设备发送的E-Trunk报文,PE2设备从备用状态变为主用状态,PE2的Eth-Trunk 10状态也变为主。经过LACP协商,PE2设备上的Eth-Trunk 10的状态变为Up。CE的流量会通过PE2转发,以达到对CE的流量进行保护的目的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值