以太网链路聚合技术介绍


以太网链路聚合

以太网链路聚合简介

以太网链路聚合简称链路聚合,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性。

1所示,Device ADevice B之间通过三条以太网物理链路相连,将这三条链路捆绑在一起,就成为了一条逻辑链路Link aggregation 1,这条逻辑链路的带宽等于原先三条以太网物理链路的带宽总和,从而达到了增加链路带宽的目的;同时,这三条以太网物理链路相互备份,有效地提高了链路的可靠性。

图 1 链路聚合示意图

 

基本概念

1. 聚合组、成员端口和聚合接口

将多个以太网接口捆绑在一起所形成的组合称为聚合组,而这些被捆绑在一起的以太网接口就称为该聚合组的成员端口。每个聚合组唯一对应着一个逻辑接口,我们称之为聚合接口。聚合组/聚合接口可以分为以下两种类型:

l              二层聚合组/二层聚合接口:二层聚合组的成员端口全部为二层以太网接口,其对应的聚合接口称为二层聚合接口(Bridge-aggregation InterfaceBAGG)。

l              三层聚合组/三层聚合接口:三层聚合组的成员端口全部为三层以太网接口,其对应的聚合接口称为三层聚合接口(Route-aggregation InterfaceRAGG)。

l    不同型号的设备支持的聚合组/聚合接口的类型不同,请以设备的实际情况为准。

l    聚合组与聚合接口的编号是一一对应的,譬如聚合组1对应于聚合接口1

l    在创建了三层聚合接口之后,还可以继续创建该三层聚合接口的子接口(简称三层聚合子接口)。三层聚合子接口也是一种逻辑接口,工作在网络层,主要用来在三层聚合接口上支持收发携带VLAN Tag的报文。不同型号的设备对三层聚合子接口的支持情况不同,请以设备的实际情况为准。

l    聚合接口的速率和双工模式取决于对应聚合组内的选中端口(请参见“2. 成员端口的状态”):聚合接口的速率等于所有选中端口的速率之和,聚合接口的双工模式则与选中端口的双工模式相同。

 

2. 成员端口的状态

聚合组内的成员端口具有以下两种状态:

l              选中(Selected)状态:此状态下的成员端口可以参与用户数据的转发,处于此状态的成员端口简称为“选中端口”。

l              非选中(Unselected)状态:此状态下的成员端口不能参与用户数据的转发,处于此状态的成员端口简称为“非选中端口”。

3. 操作Key

操作Key是系统在进行链路聚合时用来表征成员端口聚合能力的一个数值,它是根据成员端口上的一些信息(包括该端口的速率、双工模式等)的组合自动计算生成的,这个信息组合中任何一项的变化都会引起操作Key的重新计算。在同一聚合组中,所有的选中端口都必须具有相同的操作Key

4. 配置分类

根据对成员端口状态的影响不同,我们可以将成员端口上的配置分为以下三类:

(1)        端口属性类配置:包含速率、双工模式和链路状态(up/down)这三项配置内容,是成员端口上最基础的配置内容。

(2)        第二类配置:包含的配置内容如 1所示。在聚合组中,只有与对应聚合接口的第二类配置完全相同的成员端口才能够成为选中端口。

表 1 第二类配置的内容

配置项

内容

端口隔离

端口是否加入隔离组、端口所属的端口隔离组

QinQ配置

端口的QinQ功能开启/关闭状态、VLAN TagTPID值、添加的外层VLAN Tag、内外层VLAN优先级映射关系、不同内层VLAN ID添加外层VLAN Tag的策略、内层VLAN ID替换关系

VLAN配置

端口上允许通过的VLAN、端口缺省VLAN ID、端口的链路类型(即TrunkHybridAccess类型)、基于IP子网的VLAN配置、基于协议的VLAN配置、VLAN报文是否带Tag配置

MAC地址学习配置

是否具有MAC地址学习功能、端口是否具有最大学习MAC地址个数的限制、MAC地址表满后是否继续转发

 

l    在聚合接口上所作的第二类配置,将被自动同步到对应聚合组内的所有成员端口上。当聚合接口被删除后,这些配置仍将保留在这些成员端口上。

l    由于成员端口上第二类配置的改变可能导致其选中/非选中状态发生变化,进而对业务产生影响,因此当在成员端口上进行此类配置时,系统将给出提示信息,由用户来决定是否继续执行该配置。

 

(3)        第一类配置:是相对于第二类配置而言的,包含的配置内容有GVRPMSTP等。在聚合组中,即使某成员端口与对应聚合接口的第一类配置存在不同,也不会影响该成员端口成为选中端口。

在成员端口上所作的第一类配置,只有当该成员端口退出聚合组后才能生效。

 

5. 参考端口

参考端口从成员端口中选出,其端口属性类配置和第二类配置将作为同一聚合组内的其它成员端口的参照,以确定这些成员端口的状态。

6. LACP协议

基于IEEE802.3ad标准的LACPLink Aggregation Control Protocol,链路聚合控制协议)协议是一种实现链路动态聚合的协议,运行该协议的设备之间通过互发LACPDULink Aggregation Control Protocol Data Unit,链路聚合控制协议数据单元)来交互链路聚合的相关信息。

(1)        LACP协议的功能

根据所使用的LACPDU字段的不同,可将LACP协议的功能分为基本功能和扩展功能两大类,如 2所示。

表 2 LACP协议的功能分类

类别

说明

基本功能

利用LACPDU的基本字段可以实现LACP协议的基本功能,基本字段包含以下信息:系统LACP优先级、系统MAC地址、端口聚合优先级、端口编号和操作Key

动态聚合组内的成员端口会自动使能LACP协议,并通过发送LACPDU向对端通告本端的上述信息。当对端收到该LACPDU后,将其中的信息与本端其它成员端口收到的信息进行比较,以选择能够处于选中状态的成员端口,使双方可以对各自接口的选中/非选中状态达成一致,从而决定哪些链路可以加入聚合组以及某链路何时可以加入聚合组。

扩展功能

通过对LACPDU的字段进行扩展,可以实现对LACP协议的扩展。譬如,通过在扩展字段中定义一个新的TLVType/Length/Value,类型/长度/值)数据域,可以实现IRFIntelligent Resilient Framework,智能弹性架构)中的LACP MADMulti-Active Detection,多Active检测)机制。对于支持LACP协议扩展功能的设备来说:

l      如果同时支持IRF,则该设备可以作为成员设备或中间设备来参与LACP MAD

l      如果不支持IRF,则该设备只能作为中间设备来参与LACP MAD

 

(2)        LACP优先级

根据作用的不同,可以将LACP优先级分为系统LACP优先级和端口聚合优先级两类,如 3所示。

表 3 LACP优先级的分类

类别

说明

比较标准

系统LACP优先级

系统LACP优先级用于区分两端设备优先级的高低。要想使两端设备的选中端口一致,可以使一端具有较高的优先级,另一端则根据优先级较高的一端来选择本端的选中端口

优先级数值越小,优先级越高

端口聚合优先级

端口聚合优先级用于区分各成员端口成为选中端口的优先程度

 

(3)        LACP超时时间

LACP超时时间是指成员端口等待接收LACPDU的超时时间。在三倍LACP超时时间之后,如果本端成员端口仍未收到来自对端的LACPDU,则认为对端成员端口已失效。LACP超时时间只有短超时(1秒)和长超时(30秒)两种取值。

7. 聚合模式

不同型号的设备支持的聚合模式不同,请以设备的实际情况为准。

 

根据成员端口上是否启用了LACP协议,可以将链路聚合分为静态聚合和动态聚合两种模式,它们各自的特点如 4所示。

表 4 不同聚合模式的特点

聚合模式

成员端口是否开启LACP协议

优点

缺点

静态聚合模式

一旦配置好后,端口的选中/非选中状态就不会受网络环境的影响,比较稳定

不能根据对端的状态调整端口的选中/非选中状态,不够灵活

动态聚合模式

能够根据对端和本端的信息调整端口的选中/非选中状态,比较灵活

端口的选中/非选中状态容易受网络环境的影响,不够稳定

 

处于静态聚合模式和动态聚合模式下的聚合组分别称为静态聚合组和动态聚合组,动态聚合组内的选中端口以及处于up状态、与对应聚合接口的第二类配置相同的非选中端口均可以收发LACPDU

静态聚合模式

在静态聚合模式下,聚合组内的成员端口上不启用LACP协议,其端口状态通过手工进行维护。静态聚合模式的工作机制如下:

1. 选择参考端口

当聚合组内有处于up状态的端口时,先比较端口的聚合优先级,优先级数值最小的端口作为参考端口;如果优先级相同,再按照端口的全双工/高速率->全双工/低速率->半双工/高速率->半双工/低速率的优先次序,选择优先次序最高、且第二类配置与对应聚合接口相同的端口作为该组的参考端口;如果优先次序也相同,则选择端口号最小的端口作为参考端口。

2. 确定成员端口的状态

静态聚合组内成员端口状态的确定流程如 2所示。

图 2 静态聚合组内成员端口状态的确定流程

 

l    静态聚合组内选中端口的最大数量与设备的型号有关,请以设备的实际情况为准。

l    当一个成员端口的端口属性类配置或第二类配置改变时,其所在静态聚合组内各成员端口的选中/非选中状态可能会发生改变。

l    当静态聚合组内选中端口的数量已达到上限时,后加入的成员端口即使满足成为选中端口的所有条件,也不会立刻成为选中端口。这样能够尽量维持当前选中端口上的流量不中断,但是由于设备重启时会重新计算选中端口,因此可能导致设备重启前、后各成员端口的选中/非选中状态不一致。

 

动态聚合模式

本特性的支持情况与设备的型号有关,请以设备的实际情况为准。

 

在动态聚合模式下,聚合组内的成员端口上均启用LACP协议,其端口状态通过该协议自动进行维护。动态聚合模式的工作机制如下:

1. 选择参考端口

(1)        首先,从聚合链路的两端选出设备ID(由系统的LACP优先级和系统的MAC地址共同构成)较小的一端:先比较两端的系统LACP优先级,优先级数值越小其设备ID越小;如果优先级相同再比较其系统MAC地址,MAC地址越小其设备ID越小。

(2)        其次,对于设备ID较小的一端,再比较其聚合组内各成员端口的端口ID(由端口的聚合优先级和端口的编号共同构成):先比较端口的聚合优先级,优先级数值越小其端口ID越小;如果优先级相同再比较其端口号,端口号越小其端口ID越小。端口ID最小的端口作为参考端口。

2. 确定成员端口的状态

在设备ID较小的一端,动态聚合组内成员端口状态的确定流程如 3所示。

图 3 动态聚合组内成员端口状态的确定流程

 

与此同时,设备ID较大的一端也会随着对端成员端口状态的变化,随时调整本端各成员端口的状态,以确保聚合链路两端成员端口状态的一致。

l    动态聚合组内选中端口的最大数量与设备的型号有关,请以设备的实际情况为准。

l    当动态聚合组内同时存在全双工端口和半双工端口时,全双工端口将优先成为选中端口;只有当所有全双工端口都无法成为选中端口,或动态聚合组内只有半双工端口时,才允许从半双工端口中选出一个成为选中端口,且只有一个半双工端口可成为选中端口。

l    当一个成员端口的端口属性类配置或第二类配置改变时,其所在动态聚合组内各成员端口的选中/非选中状态可能会发生改变。

l    当本端端口的选中/非选中状态发生改变时,其对端端口的选中/非选中状态也将随之改变。

l    当动态聚合组内选中端口的数量已达到上限时,后加入的成员端口一旦满足成为选中端口的所有条件,就会立刻取代已不满足条件的端口成为选中端口。

 

聚合负载分担类型

通过采用不同的聚合负载分担类型及其组合,可以灵活地实现对聚合组内流量的负载分担。聚合负载分担的类型包括以下几种:

l              根据报文的MAC地址进行聚合负载分担

l              根据报文的VLAN标签进行聚合负载分担

l              根据报文的服务端口号进行聚合负载分担

l              根据报文的入端口进行聚合负载分担

l              根据报文的IP地址进行聚合负载分担

l              根据报文的IP协议类型进行聚合负载分担

l              根据报文的MPLS标签进行聚合负载分担

用户可以指定系统按照上述聚合负载分担类型的其中之一或其组合来进行负载分担,此外用户也可以指定系统按照报文类型(如二层、IPv4IPv6MPLS等)自动选择聚合负载分担的类型,还可以指定系统对每个报文逐包进行聚合负载分担。

不同型号的设备支持的聚合负载分担类型不同,请以设备的实际情况为准。

 

附件下载

联系我们