链路聚合
链路聚合
1.1 链路聚合简介
-
如图1-1所示,链路聚合是将多个物理以太网端口聚合在一起形成一个逻辑上的聚合组,使用链路聚合服务的上层实体把同一聚合组内的多条物理链路视为一条逻辑链路。
图1-1 链路聚合的产生链路聚合可以实现数据流量在聚合组中各个成员端口之间的分担,以增加带宽。同时,同一聚合组的各个成员端口之间彼此动态备份,提高了连接可靠性。
链路聚合技术的正式标准为 IEEE Standard 802.3ad,由IEEE制定。链路聚合在IEEE802.3结构中的位置,处于MAC CLIENT和MAC之间,是一个可选的子层。标准中定义了链路聚合技术的目标、聚合子层内各模块的功能和操作的原则,以及链路聚合控制的内容等。其中,聚合技术应实现的目标定义为必须能提高链路可用性、线性增加带宽、分担负责、实现自动配置、快速收敛、保证传输质量、对上层用户透明、向下兼容等。
-
链路聚合相关概念
图1-2 链路聚合的相关概念如图1-2所示,链路聚合中的相关概念如下:
(1)聚合接口:聚合接口是一个逻辑接口,它可以分为二层聚合端口和三层聚合接口。
(2)聚合组:聚合组是一组以太网接口的集合。聚合组是随着聚合接口的创建而自动生成的,其编号与聚合接口编号相同。根据聚合组中可以加入以太网接口的类型,可以将聚合组分为二层聚合组和三层聚合组。
(3)聚合成员端口的状态:聚合组中的成员端口有两种状态。Selected状态,处于此状态的端口可以参与转发用户数据;Unselected状态,处于此状态的端口不能转发用户数据。聚合端口的速率、双工状态由其Selected成员端口决定,聚合端口的速率是Selected成员端口的速率之和,聚合端口的双工状态与Selected成员端口的双工状态一致。
(4)操作Key:操作Key是在链路聚合时,聚合控制根据成员端口的某些配置自动生成的一个配置组合,包括端口速率、双工模式和链路状态的配置。在聚合组中,处于Selected状态的成员端口具有相同的操作Key。
(5)第一类配置:此类配置可以在局和端口和成员端口上配置,但是不会参与操作Key的计算,比如GVRP、MSTP等。
(6)第二类配置:第二类配置所包含内容如表1-1所示,同一聚合组中,如果成员端口与聚合端口的第二类配置不同,那么该成员端口将不能成为Selected端口。
类别 配置内容 端口隔离 端口是否加入隔离组 QinQ配置 端口的QinQ功能开启/关闭状态、VLAN Tag的TPID值、添加的外层VLAN Tag、内外层VLAN优先级映射关系、不同内层VLAN ID添加外层VLAN Tag的策略、内层VLAN ID替换关系 VLAN配置 端口上允许通过的VLAN、端口默认VLAN ID、端口的链路类型(Trunk、Hybrid、Access类型)、基于IP子网的VLAN配置、基于协议的VLAN配置、VLAN报文是否带Tag配置 MAC地址学习配置 是否具有MAC地址学习功能、端口是否具有最大学习MAC地址个数的限制、MAC地址表满后是否继续转发 表1-1 第二类配置 -
LACP协议
基于IEEE802.3ad标准的LACP(Link Aggregation Control Protocol,链路聚合控制协议)是一种实现链路动态聚合与解聚合的协议。LACP协议通过LACPDU(Link Aggregation Control Protocol Data Unit,链路汇聚控制协议数据单元)与对端交互信息。
在LACP协议中,链路的两端分别称为Actor和Partner,双方通过交换LACPDU报文,向对端通告自己的系统优先级、系统MAC地址、端口优先级、端口号和操作Key。对端接收到这些信息后,将这些信息与其他端口所保存的信息比较,选择能够汇聚的端口。双方对端口加入或退出某各动态汇聚组达成一致,从而决定哪些链路可以加入同一聚合组以及某一条链路何时能够加入聚合组。
1.2 链路聚合模式
按照聚合方式的不同,链路聚合可以分为两种模式。
(1)静态聚合模式。在这种模式下,端口禁止启动LACP,设备不与对端设备交互信息。参考端口的选择依据本端设备信息。
(2)动态聚合模式。在这种模式下,端口的LACP协议自动使能,与对端设备交互LACP报文。参考端口的选择根据本端设备与对端设备交互的信息。
静态聚合流程如图1-3所示。静态聚合模式中,成员端口的LACP协议为关闭状态。系统按照以下原则设置成员端口的选中状态。
(1)当聚合组内有处于UP状态的端口时,系统按照端口全双工/高速率、全双工/低速率、半双工/高速率、半双工/低速率的优先次序,选择优先次选最高且处于UP状态的、端口的第二类配置和对应聚合端口的第二类配置相同的端口作为改组的参考端口(优先次序相同的情况下,端口号最小的端口为参考端口)。
(2)与参考端口的端口属性配置和第二类配置一致且处于UP状态的端口成为可能处于Selected状态的候选端口,其他端口处于Unselected状态。
(3)聚合组中处于Selected状态的端口数是有限制的,当候选端口的数目未达到上限时,所有候选端口都为Selected状态,其他端口为Unselected状态;当候选端口的数目超过这一限制时,系统将按照端口号从小到大的顺序选择一些候选端口保持在Selected状态,端口号较大的端口则变为Unselected状态。
(4)当聚合组全部成员都处于Down状态时,全组成员均为Unselected状态。
(5)因硬件限制而无法与参考端口聚合的端口将处于Unselected状态。
动态聚合流程如图1-4所示,当聚合组配置为动态聚合模式后,聚合组中成员端口的LACP协议自动开启。在动态聚合模式中,Selected端口可以收发LACP协议报文。处于UP状态的Unselected端口如果配置和对应的聚合端口配置相同,可以收发LACP协议报文。
在动态聚合模式中,本端系统和对端系统会进行协商,根据两端系统中设备ID较优的一端的端口ID的大小来决定两端端口的状态。具体协商步骤如下:
(1)比较两端系统的设备ID(设备ID=系统的LACP协议优先级+系统MAC地址)。先比较系统的LACP协议优先级,如果相同再比较系统MAC地址。设备ID小的一端被认为较优(系统的LACP协议优先级和MAC地址越小,设备ID越小)
(2)比较设备ID较优的一段的端口ID(端口ID=端口的LACP协议优先级+端口号)。对于设备ID较优的一端的各个端口,首先比较端口的LACP协议优先级,如果优先级相同再比较端口号。端口ID小的端口作为参考端口(端口的LACP协议优先级和端口号越小,端口ID越小)。
(3)与参考端口的端口属性配置和第二类配置一致且处于UP状态的端口,并且该端口的对端端口与参考端口的对端端口的配置也一致时,该端口才成为可能处于Selected状态的候选端口,否则,端口将处于Unselected状态。
(4)聚合组中处于Selected状态的端口数是有限制的,当候选端口的数目超过这一限制时,系统将按照端口ID从小到大的顺序选择一些端口保持在Selected状态,端口ID较大的端口则变为Unselected状态。同时,对端设备会感知这种状态的改变,相应端口的状态将随之变化
(5)因硬件限制而无法与参考端口聚合的端口将处于Unselected状态。