链路聚合技术原理与配置


链路聚合技术原理与配置

[TOC]

基本原理

  • 设备之间存在多条链路时,由于STP的存在,实际只会有一条链路转发流量,设备间链路带宽无法得到提升

以太网链路聚合 Eth-Trunk

简称链路聚合,通过将多个物理接口捆绑成为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的

链路聚合基本术语/概念:
  • 聚合组 [Link Aggregation Group,LAG] :若干条链路捆绑在一起所形成的的逻辑链路
  • 每个聚合组唯一对应着一个逻辑接口,这个逻辑接口又被称为链路聚合接口或Eth-Trunk接口
  • 成员接口和成员链路:组成Eth-Trunk接口的各个物理接口称为成员接口。成员接口对应的链路称为成员链路
  • 活动接口和活动链路:活动接口又叫选中[Selected]接口,是参与数据转发的成员接口。活动接口对应的链路被称为活动链路[Active link]
  • 非活动接口和非活动链路:又叫非选中[Unselected]接口,是不参与转发数据的成员接口。非活动接口对应的链路被称为非活动链路[Inactive link]
  • 聚合模式 :根据是否开启LACP [Link Aggregation Control Protocol,链路聚合控制协议],链路聚合可以分为手工模式和LACP模式
  • 其他概念:活动接口上限阈值和活动接口下限阈值
  • 链路聚合接口可以作为普通的以太网接口来使用,与普通以太网接口的差别在于:转发的时候链路聚合组需要从成员接口中选择一个或多个接口来进行数据转发
  • 一个聚合组内要求成员接口以下参数相同:
    • 接口速率
    • 双工模式
    • VLAN配置:接口类型都是Trunk或者Access,如果为Access接口的default VLAN需要一致,如果为Trunk接口,接口放通的VLAN、缺省VLAN需要一致

手工模式

手工模式: Eth-Trunk的建立、成员接口的加入均由手动配置,双方系统之间不使用LACP进行协商

正常情况下所有链路都是活动链路,该模式下所有活动链路都参与数据的转发,平均分担流量,如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量

  • 当聚合的两端设备中存在一个不支持LACP协议时,可以使用手工模式

负载模式的缺点:

  • 为了使链路聚合接口正常工作,必须保证本端链路聚合接口中所有成员接口的对端接口:

    • 属于同一设备
    • 加入同一链路聚合接口
    • 手工模式下,设备间没有报文交互,因此只能通过管理员人工确认
    • 容易导致部分流量被错误的负载分担,从而导致通信异常
  • 手动模式下,设备只能通过物理层状态判断对端接口是否正常工作

LACP模式

LACP模式:采用LACP协议的链路聚合模式

  • 设备间通过链路聚合控制协议数据单元 [Link Aggregation Control Protocol Data Unit,LACPDU] 进行交互

  • 通过协议协商确保对端是同一台设备、同一个聚合接口的成员接口

  • LACPDU报文中包含设备优先级、MAC地址、接口优先级、接口号等

系统优先级:

  • LACP模式下,两端设备所选择的活动接口数目必须保持一致,否则链路聚合组就无法建立
    • 可以使其中一端成为主动端,被动端根据主动端选择活动接口
  • 通过系统LACP优先级确定主动端
    • 系统LACP优先级默认32768,越小越优,通常保持默认
    • 当优先级一致时,LACP会通过比较MAC地址选择主动端,MAC地址越小越优

接口优先级

选出主动端后,两端都会以主动端的接口优先级来选择活动接口,优先级高的接口将优先被选为活动接口

  • 接口LACP优先级默认为32768,越小越优,通常保持默认
  • 当优先级一致时LACP会通过接口编号选择活动接口,越小越优

最大活动接口数

LACP模式支持配置最大活动接口数目

  • 当成员接口数目超过最大活动接口数目时会通过比较接口优先级、接口号选举出较优的接口成为活动接口,其余的则成为备份端口
  • 对应的链路分别成为活动链路、非活动链路
  • 交换机只会从活动接口中发送、接收报文

当活动链路中出现链路故障时,可以从非活动链路中找出一条优先级最高的链路替换故障链路,实现总体带宽不发生变化、业务的不间断转发

活动链路选举过程示例:

选举主动端:

  • SW1、SW2配置LACP模式的链路聚合,将四个接口加入Eth-Trunk中,接口编号分别为1、2、3、4。SW1、SW2配置Eth-Trunk最大活动接口数目为2,其余配置保持默认
  • SW1、SW2分别从成员接口1、2、3、4对外发送LACPDU。
  • SW1、SW2收到对端发送的LACPDU,比较系统优先级,都为默认的32768,继续比较MAC地址,SW1 MAC:4c1f-cc58-6d64,SW2 MAC:4c1f-cc58-6d65,SW1拥有更小的MAC地址,优选成为LACP选举的主动端

选举活动接口并告知对方:

  • SW1在本端通过比较接口优先级、接口编号选举出活动接口,其中1、2号接口在相同的接口优先级下拥有更小的接口编号,成为活动接口
  • SW1通过LACPDU将本端活动端口选举结果告知对端

完成链路选举:

  • SW2依据SW1的选举结果,明确本端的活动接口,同时对应的链路成为活动链路

负载分担

负载分担模式

  • Eth-trunk支持基于报文的IP地址或MAC地址来进行负载分担,可以配置不同的模式将数据流分担到不同的成员接口上

  • 常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源目MAC

  • 实际业务中用户需要根据业务流量特征选择配置合适的负载分担方式

    • 如果报文的IP地址变化较频繁,那么选择基于源IP、目的IP或者源目IP的负载分担模式更有利于流量在各物理链路间合理的负载分担
    • 如果报文的MAC地址变化较频繁,IP地址比较固定,那么选择基于源MAC、目的MAC或源目MAC的负载分担模式更有利于流量在各物理链路间合理的负载分担
  • 如果负载分担模式选择的和实际业务特征不相符,可能会导致流量分担不均,部分成员链路负载很高,其余的成员链路却很空闲

聚合链路配置命令

1. 创建链路聚合组:

[Huawei] interface eth-trunk trunk-id [.subnumber ]
#	创建Eth-Trunk接口,并进入Eth-Trunk接口视图
参数 参数说明 取值
trunk-id 指定Eth-Trunk编号 整数,取值范围由命令assign forward eth-trunk mode确定
subnumber Eth-Trunk的子接口编号 整数,取值范围是1~4094

2. 配置链路聚合模式:

[Huawei-Eth-Trunk1] mode { lacp-static | lacp-dynamic | manual [ load-balance ] }
#	Mode lacp配置链路聚合模式为lacp模式,mode manual load-balance配置链路聚合模式为手工模式
#	需要保持两端链路聚合模式一致
参数 参数说明
lacp-static 指定Eth-Trunk工作模式为静态LACP模式
lacp-dynamic 指定Eth-Trunk工作模式为动态LACP模式
manual [ load-balance ] 指定Eth-Trunk工作模式为手工负载分担模式

3.将接口加入链路聚合组中 [以太网接口视图]:

[Huawei-GigabitEthernet0/0/1] eth-trunk trunk-id #在接口视图下,把接口加入到Eth-Trunk中

4. 将接口加入链路聚合组中 [Eth-Trunk视图]:

[Huawei-Eth-Trunk1] trunkport interface-type { interface-number1 [ to interface-number2 ] } &<1-n>
#	在Eth-Trunk视图中将接口加入到链路聚合组中
  • interface-type表示接口类型。
  • interface-number1表示第一个接口的编号
  • interface-number2表示最后一个接口的编号
    • interface-number2的取值必须大于interface-number1的取值,它和interface-number1共同确定一个接口范围
    • 如果不指定to interface-number2参数,则只表示interface-number1所指定的接口

5. 使能允许不同速率端口加入同一Eth-Trunk接口的功能:

[Huawei-Eth-Trunk1] mixed-rate link enable
#	缺省情况下,设备未使能允许不同速率端口加入同一Eth-Trunk接口的功能,只能相同速率的接口加入到同一个Eth-Trunk接口中

6. 配置系统LACP优先级:

[Huawei] lacp priority priority	#配置系统LACP优先级,缺省情况下,系统LACP优先级为32768
参数 参数说明 取值
priority LACP优先级值。取值越小LACP优先级越高 整数形式,取值范围是0~65535

7. 配置接口LACP优先级:

[Huawei-GigabitEthernet0/0/1] lacp priority priority
#	在接口视图下配置接口LACP优先级
#	缺省情况下,接口的LACP优先级是32768。接口优先级取值越小,接口的LACP优先级越高
#	只有在接口已经加入到链路聚合中才可以配置该命令

8. 配置最大活动接口数:

[Huawei-Eth-Trunk1] max active-linknumber {number}
#	配置时需注意保持本端和对端的最大活动接口数一致,只有LACP模式支持配置最大活动接口数
参数 参数说明 取值
link-number 链路聚合组活动接口数目阈值 整数形式,取值范围由设备决定

9. 配置最小活动接口数:

[Huawei-Eth-Trunk1] least active-linknumber {number}
#本端和对端设备的活动接口数下限阈值可以不同,手动模式、LACP模式都支持配置最小活动接口数
#配置最小活动接口数目的是为了保证最小带宽,当前活动链路数目小于下限阈值时,Eth-Trunk接口的状态转为Down

堆叠与集群

  • 堆叠 [iStack]:多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上变成一台交换设备,作为一个整体参与数据转发
  • 集群 [Cluster Switch System,CSS ]:将两台支持集群特性的交换机设备组合在一起,从逻辑上组合成一台交换设备
  • 集群只支持两台设备,一般框式交换机支持CSS,盒式设备支持iStack

堆叠与集群的优势

  • 堆叠交换机对外表现为一台逻辑交换机,控制平面合一,统一管理
  • 堆叠内物理设备转发平面合一,转发信息共享并实时同步
  • 跨设备链路聚合:跨物理设备的链路被聚合成一个Eth-Trunk端口,和下游设备实现互联

推荐架构


  目录