HCIA-11.以太网链路聚合与交换机堆叠、集群
链路聚合背景
拓扑组网时为了高可用,需要网络的冗余备份。但增加冗余容易后会出现环路,所以我们部署了STP协议来破除环路。
但是,根据实际业务的需要,为网络不停的增加冗余是现实需要的一部分。
那么,为了让网络冗余符合用户增长的流量,需要增加带宽时怎么办?
现实中,一条1000M的带宽和10000M的带宽的建设成本,差异是巨大的。为了节省网络组建的成本,我们通过添加链路来增加带宽是最优方案:
A1、添加链路相当于增加了链路冗余,会被STP的防环机制阻塞掉。
学习目标
- 学完本课程后,您将能够:
- 了解链路聚合的作用
- 了解链路聚合的分类
- 理解LACP模式的链路聚合协商过程
- 了解iStack和CSS的优点与原理
- 了解链路聚合与堆叠技术常见应用与组网
1、网络的可靠性需求
1.1、网络的可靠性
网络的可靠性指当设备或者链路出现单点或者多点故障时保证网络服务不间断的能力。
网络的可靠性可以从单板、设备、链路多个层面实现。
随着网络的快速普及和应用的日益深入,各种增值业务得到了广泛部署,网络中断可能导致大量业务异常、造成重大经济损失。因此,作为承载业务主体的基础网络,其可靠性成为备受关注的焦点。
1.2、单板可靠性
- 框式交换机由机框、电源模块、风扇模块、主控板、交换网板(SFU)、线路板(LPU)构成。
- 机框:为各种板卡、模块提供插槽,实现板卡间的通信。
- 电源模块:设备的供电系统
- 风扇模块:设备的散热系统
- 主控板(MPU,Main Processing Unit):负责整个系统的控制平面和管理平面。
- 交换网板(SFU,Switch Fabric Unit):负责整个系统的数据平面。数据平面提供高速无阻塞数据通道,实现各个业务模块之间的业务交换功能。
- 线路板(LPU,Line Processing Unit):线路处理单元是物理设备上用于提供数据转发功能的模块,提供不同速率的光口、电口。
- 以S12700E-8为例,设备提供8个线路板槽位、4个交换网板槽位、2个主控板槽位、6个电源模块槽位、4个风扇模块槽位。
- 框式交换机配置多个主控板、交换网板可保证设备自身的可靠性,单个槽位的交换网板、主控板损坏不影响设备的正常运行。
- 框式交换机的线路板损坏后,该板卡上的接口无法正常转发数据。
1.3、设备可靠性
设备无冗余设计的网络中,下游交换机采用单上行接入,上行交换机的接口故障或设备故障会导致下游网络全部中断。
设备冗余设计的网络中,下游交换机双上行接入,采用链路一主一备的方式,主链路上行接口、设备故障可以切换到备份链路,通过备份设备转发。
1.4、链路可靠性
为保证设备间链路可靠性,在设备间部署多条物理线路,为防止环路STP只保留一条链路转发流量,其余链路成为备份链路。
2、链路聚合技术原理与配置
2.1、基本原理
链路聚合:Eth-trunk,通过虚拟化(多虚一)将多条物理链路逻辑上整合为一条链路。
逻辑上的链路是STP计算的链路(即STP不会再计算物理链路)。
Eth-trunk设计了相应的机制防止多条物理链路出现环路:在一个链路捆绑组中的物理接口1收到的数据,不会再从链路捆绑组中的其它物理接口转发。
2.1.1、提升链路带宽
设备之间存在多条链路时,由于STP的存在,实际只会有一条链路转发流量,设备间链路带宽无法得到提升。
2.1.2、以太网链路聚合
以太网链路聚合Eth-Trunk:简称链路聚合,通过将多个物理接口捆绑成为一个逻辑接口,可以在不进行硬件升级的条件下,达到增加链路带宽的目的。
2.1.3、链路聚合基本术语/概念
A1、聚合组(Link Aggregation Group,LAG):若干条链路捆绑在一起所形成的的逻辑链路。每个聚合组唯一对应着一个逻辑接口,这个逻辑接口又被称为链路聚合接口或Eth-Trunk接口。
A2、成员接口和成员链路:组成Eth-Trunk接口的各个物理接口称为成员接口。成员接口对应的链路称为成员链路。
A2.1、活动接口和活动链路:活动接口又叫选中(Selected)接口,是参与数据转发的成员接口。活动接口对应的链路被称为活动链路(Active link)
A2.2、非活动接口和非活动链路:又叫非选中(Unselected)接口,是不参与转发数据的成员接口。非活动接口对应的链路被称为非活动链路(Inactive link)。
A3、聚合模式 :根据是否开启LACP(Link Aggregation Control Protocol,链路聚合控制协议),链路聚合可以分为手工模式和LACP模式。
A4、其他概念:活动接口上限阈值和活动接口下限阈值。
2.2、手工模式
设备老旧、低端,不支持LACP协议,我们就采用手工模式。
手工模式由缺点,是 单通 的。
[S1]interface Eth-Trunk 1 #创建一个聚合组
[S1-Eth-Trunk1]mode manual load-balance #设置工作模式为手工静态(默认的模式)
[S1-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 0/0/2 #将物理接口添加进聚合组
[S1]int gi 0/0/3
[S1-GigabitEthernet0/0/3]eth-trunk 1 #将物理接口添加进聚合组
2.2.1、手工模式的Eth-Trunk的问题:
A1、链路两端不能相互检测,容易造成单通问题:
A1.1、没有报文检测机制;
A1.2、只要接口是UP状态,就认为对方可达。
情景1、没有报文检测机制:
S1交换机是Eth-Trunk端口,与S2相连且为RP口。
S2交换机有3个端口与S1的Eth-Trunk连接,且都为DP口。
现在,两端没有AP阻塞口,一定会:
形成小的环路;
S2不知该通过哪个接口与S1通信?
情景2、只要接口是UP状态,就认为对方可达:
在S1 GE02口与S2断开的情况下,S1交换机的Eth-Trunk三个口都是正常连接的:
而S2与S1连接的GE 02口已断开。
因为Eth-Trunk手工聚合通信发送报文接口是随机的,所以当S2向S1发送的报文通过S1的GE 02口发出时,就会出现单通。
2.3、LACP模式
2.3.1、特点
1、通过交互LACPDU检测链路两端的接口状态;
2、可以设置备份链路。
例:用户需要"2千兆"带宽,且需要存在备份链路,当主链路失效,备份链路转发数据。
[S1]interface Eth-Trunk 1
[S1-Eth-Trunk1]mode lacp-static #设置链路聚合模式为LACP
[S1-Eth-Trunk1]trunkport GigabitEthernet 0/0/1 0/0/2 0/0/3
[S2]执行与S1相同的Eth-Trunk配置。
[S2-Eth-Trunk1]max active-linknumber 2 #设置最大活跃链路为2(默认为8)
2.3.2、链路聚合两端的带宽
链路聚合的“一端”要求是同速率,同带宽。
链路聚合的“两端”不是同速率、同带宽的链路的情况,则向下兼容(一端为百兆链路、一端为千兆链路,则取百兆链路为最大带宽)。
链路聚合的两端,聚合组号没有一致性要求。
2.3.3、在聚合组中确定某接口为备份接口
每一个接口都有对应的LACP接口优先级,优先级值越小越高;
优先级值相等,则比较接口编号,越小越高。
[S2-GigabitEthernet0/0/1]lacp priority #设置接口的LACP优先级,只在备份接口未选举前生效
如下,即时变更了0/0/1口的优先级,0/0/3口依然是备份口,只有等到下一次主备选举,才能生效。
在聚合链路的两端,需要选举一个主动端设备来确定备份接口的选择,被动端则使用主动端选举的结果。
2.3.4、如何选举主动端
每一个运行了LACP的交换机都会存在LACP系统优先级:
优先级值越小越高;
优先级值相同,则比较MAC地址,越小越高。
[S1]lacp priority ? #修改LACP全局优先级
INTEGER<0-65535> Priority value, the default value is 32768
2.3.5、负载分担
2.3.5.1、基于包
在使用Eth-Trunk转发数据时,由于聚合组两端设备之间有多条物理链路,如果每个数据帧在不同的链路上转发,则有可能导致数据帧到达对端时间不一致,从而引起数据乱序。
2.3.5.2、基于流(华为设备默认基于流转发)
Eth-Trunk推荐采用逐流负载分担的方式,即一条相同的流负载到一条链路,这样既保证了同一数据流的数据帧在同一条物理链路转发,又实现了流量在聚合组内各物理链路上的负载分担。
常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源目MAC。
[S2-Eth-Trunk1]load-balance ?
dst-ip According to destination IP hash arithmetic
dst-mac According to destination MAC hash arithmetic
src-dst-ip According to source/destination IP hash arithmetic
src-dst-mac According to source/destination MAC hash arithmetic
src-ip According to source IP hash arithmetic
src-mac According to source MAC hash arithmetic
2.3.x、扩展
链路聚合的成员接口都会发送LACPDU(不管是活跃链路还是非活跃链路);
在多个活跃的成员接口中,会随机选择一个接口发送STP报文。
3、堆叠/集群概述
3.1、什么是堆叠、集群
堆叠(iStack):多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上变成一台交换设备,作为一个整体参与数据转发。主要针对盒式设备,最大支持16台设备融合组网。
集群(Cluster Switch System,CSS ):将两台支持集群特性的交换机设备组合在一起,从逻辑上组合成一台交换设备。
主要针对框式设备,最大支持2台设备融合组网,一般做核心。
3.2、堆叠、集群的优势
↓↓↓ CSS、iStack网络的逻辑形态 ↓↓↓
交换机多虚一:堆叠交换机对外表现为一台逻辑交换机,控制平面合一,统一管理。
转发平面合一:堆叠内物理设备转发平面合一,转发信息共享并实时同步。
跨设备链路聚合:跨物理设备的链路被聚合成一个Eth-Trunk端口,和下游设备实现互联。
指令集
指令 | 功能 |
interface Eth-Trunk ? | <0-63> Eth-Trunk interface number |
[Eth-Trunk1]mode ? | 动态:lacp-static Static working mode 静态:manual Manual working mode |
[Eth-Trunk1]mode manual ? | 手工静态模式 load-balance Load balance working mode |
[S1-GigabitEthernet0/0/3]eth-trunk 1 | 将GE 0/0/3接口添加进聚合组1 |
trunkport GigabitEthernet 0/0/1 0/0/2 | 将GE 0/0/1和GE 0/0/2接口添加进组合组1 |
dis interface Eth-Trunk ? | 显示Eth-Trunk聚合组状态 |
mode lacp-static | 设置链路聚合的模式为LACP lacp-static Static working mode manual Manual working mode |
max active-linknumber ? | 设置最大活跃链路为2(默认为8) INTEGER<1-8> Value of max active linknumber |
lacp priority | INTEGER<0-65535> Priority value, the default value is 32768 |
]load-balance ? | 设置负载分担的方式 dst-ip According to destination IP hash arithmetic dst-mac According to destination MAC hash arithmetic src-dst-ip According to source/destination IP hash arithmetic src-dst-mac According to source/destination MAC hash arithmetic src-ip According to source IP hash arithmetic src-mac According to source MAC hash arithmetic |