当前位置: 首页 > article >正文

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 #创建一个聚合组

[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#将物理接口添加进聚合组

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.3LACP模式

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

相关文章:

HCIA-11.以太网链路聚合与交换机堆叠、集群

链路聚合背景 拓扑组网时为了高可用&#xff0c;需要网络的冗余备份。但增加冗余容易后会出现环路&#xff0c;所以我们部署了STP协议来破除环路。 但是&#xff0c;根据实际业务的需要&#xff0c;为网络不停的增加冗余是现实需要的一部分。 那么&#xff0c;为了让网络冗余…...

不与最大数相同的数字之和(信息学奥赛一本通-1113)

【题目描述】 输出一个整数数列中不与最大数相同的数字之和。 【输入】 输入分为两行&#xff1a; 第一行为N(N为接下来数的个数&#xff0c;N < 100)&#xff1b; 第二行N个整数&#xff0c;数与数之间以一个空格分开&#xff0c;每个整数的范围是-1000,000到1000,000。 【…...

Blender学习方法与技巧

以下是针对Blender零基础用户的学习教程推荐与高效学习方法总结&#xff0c;结合了多个优质资源整理而成&#xff0c;帮助快速入门&#xff1a; 一、Blender学习方法与技巧 制定学习计划与目标 明确短期目标&#xff08;如掌握基础操作&#xff09;和长期目标&#xff08;如独立…...

Amazon RDS ProxySQL 探索(一)

:::info &#x1f4a1; 在日常开发中&#xff0c;开发者们会涉及到数据库的连接&#xff0c;在使用Amazon RDS数据库时&#xff0c;若使用集群模式或者多数据库时&#xff0c;会出现一写多读多个Endpoint&#xff0c;在实际开发中&#xff0c; 开发者们配置数据库连接通常希望走…...

HTML嵌入CSS样式超详解(尊享)

一、行内样式&#xff08;Inline CSS&#xff09; 1. 定义与语法 行内样式是直接在HTML标签中使用style属性来定义样式。这种方式只对当前标签生效。 <tagname style"css 样式">2. 示例 <p style"color: red; font-size: 14px;">这是一个红…...

[C语言基础]13.动态内存管理

动态内存管理 1. 动态内存分配2. 动态内存函数的介绍2.1 malloc2.2 free2.3 calloc2.4 realloc 3. 动态内存错误3.1 NULL指针解引用3.2 动态开辟空间越界访问3.3 非动态开辟内存使用free释放3.4 free释放动态开辟内存的一部分3.5 同一块动态内存多次释放3.6 动态开辟内存未释放…...

200多种算法应用于二维和三维无线传感器网络(WSN)覆盖场景

2.1 二元感知模型 在当前无线传感器网络&#xff08;WSN&#xff09;覆盖场景中&#xff0c;最常见且理想的感知模型是二元感知模型[27]。如图2所示&#xff0c; Q 1 Q_1 Q1​和 Q 2 Q_2 Q2​代表平面区域内的两个随机点。 Q 1 Q_1 Q1​位于传感器的检测区域内&#xff0c;其感…...

模拟类似 DeepSeek 的对话

以下是一个完整的 JavaScript 数据流式获取实现方案&#xff0c;模拟类似 DeepSeek 的对话式逐段返回效果。包含前端实现、后端模拟和详细注释&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><titl…...

鸿蒙(OpenHarmony)开发实现 息屏/亮屏 详情

官网参考链接 实现点击关闭屏幕&#xff0c;定时5秒后唤醒屏幕 权限 {"name": "ohos.permission.POWER_OPTIMIZATION"}代码实现 import power from ohos.power;Entry Component struct Page3 {private timeoutID: number | null null; // 初始化 timeout…...

Flutter PopScope对于iOS设置canPop为false无效问题

这个问题应该出现很久了&#xff0c;之前的组件WillPopScope用的好好的&#xff0c;flutter做优化打算“软性”处理禁用返回手势&#xff0c;出了PopScope&#xff0c;这个组件也能处理在安卓设备上的左滑返回事件。但是iOS上面左滑返回手势禁用&#xff0c;一直无效。 当然之…...

SpringBoot + ResponseBodyEmitter 实时异步流式推送,优雅!

ChatGPT 的火爆&#xff0c;让流式输出技术迅速走进大众视野。在那段时间里&#xff0c;许多热爱钻研技术的小伙伴纷纷开始学习和实践 SSE 异步处理。 我当时也写过相关文章&#xff0c;今天&#xff0c;咱们换一种更为简便的方式来实现流式输出&#xff0c;那就是 ​​Respon…...

网络运维学习笔记(DeepSeek优化版) 016 HCIA-Datacom综合实验01

文章目录 综合实验1实验需求总部特性 分支8分支9 配置一、 基本配置&#xff08;IP二层VLAN链路聚合&#xff09;ACC_SWSW-S1SW-S2SW-Ser1SW-CoreSW8SW9DHCPISPGW 二、 单臂路由GW 三、 vlanifSW8SW9 四、 OSPFSW8SW9GW 五、 DHCPDHCPGW 六、 NAT缺省路由GW 七、 HTTPGW 综合实…...

02 windows qt配置ffmpeg开发环境搭建

版本说明 首先我使用ffmpeg版本是4.2.1 QT使用版本5.14.2 我选择是c编译 在02Day.pro⾥⾯添加ffmpeg头⽂件和库⽂件路径 win32 { INCLUDEPATH $$PWD/ffmpeg-4.2.1-win32-dev/include LIBS $$PWD/ffmpeg-4.2.1-win32-dev/lib/avformat.lib \$$PWD/ffmpeg-4.2.1-win32-dev/l…...

vue-treeselect 【单选/多选】的时候只选择最后一层(绑定的值只绑定最后一层)

欢迎访问我的个人博客 &#xff5c;snows_ls BLOGhttp://snows-l.site 一、单选 1、问题&#xff1a; vue-treeselect 单选的时候只选择最后一层&#xff08;绑定的值只绑定最后一层&#xff09; 2、方法 1、只需要加上 :disable-branch-nodes"true" 就行&#xff0…...

焊接机器人与线激光视觉系统搭配的详细教程

以下是关于焊接机器人与线激光视觉系统搭配的详细教程&#xff0c;包含核心程序框架、调参方法及源码实现思路。本文综合了多个技术文档与专利内容&#xff0c;结合工业应用场景进行系统化总结。 一、系统硬件配置与视觉系统搭建 1. 硬件组成 焊接机器人系统通常由以下模块构…...

微信小程序实现根据不同的用户角色显示不同的tabbar并且可以完整的切换tabbar

直接上图上代码吧 // login/login.js const app getApp() Page({/*** 页面的初始数据*/data: {},/*** 生命周期函数--监听页面加载*/onLoad(options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函…...

Git 本地常见快捷操作

Git 本地常见快捷操作 &#x1f4cc; 1. 基本操作 操作命令初始化 Git 仓库git init查看 Git 状态git status添加所有文件到暂存区git add .添加指定文件git add <file>提交更改git commit -m "提交信息"修改最后一次提交信息git commit --amend -m "新…...

Elastic Stack 8.16.0 日志收集平台的搭建

简介 1.1 ELK 介绍 ELK 是 ‌Elasticsearch‌、‌Logstash‌、‌Kibana‌ 三款开源工具的首字母缩写&#xff0c;构成了一套完整的日志管理解决方案&#xff0c;主要用于日志的采集、存储、分析与可视化‌。 1&#xff09;Logstash&#xff1a;数据管道工具&#xff0c;负责从…...

江科大51单片机笔记【16】AD/DA转换(下)

写在前言 此为博主自学江科大51单片机&#xff08;B站&#xff09;的笔记&#xff0c;方便后续重温知识 在后面的章节中&#xff0c;为了防止篇幅过长和易于查找&#xff0c;我把一个小节分成两部分来发&#xff0c;上章节主要是关于本节课的硬件介绍、电路图、原理图等理论知识…...

Podman 运行redis 报错

Podman 运行redis 报错 一、报错内容 find: .: Permission denied chown: changing ownership of .: Permission denied二、问题分析 SELinux 模式 SELinux(Security-Enhanced Linux)是一种安全模块,旨在通过强制访问控制(MAC)来增强 Linux 系统的安全性。SELinux 具有…...

基于深度学习的多模态人脸情绪识别研究与实现(视频+图像+语音)

这是一个结合图像和音频的情绪识别系统&#xff0c;从架构、数据准备、模型实现、训练等。包括数据收集、预处理、模型训练、融合方法、部署优化等全流程。确定完整系统的组成部分&#xff1a;数据收集与处理、模型设计与训练、多模态融合、系统集成、部署优化、用户界面等。详…...

WordPress the_category与single_cat_title的区别

在wordpress网站主题开发用常会用到调用分类目录的名称&#xff0c;the_category与single_cat_title都可以调用出分类目录的名称。 <?php single_cat_title(); ?> <?php the_category(); ?>但是&#xff0c;不少人搞不清楚二者有什么区别&#xff0c;其实很简…...

以太坊AI代理与PoS升级点燃3月市场热情,2025年能否再创新高?

币热网深度报道&#xff1a;以太坊AI代理与PoS升级引爆3月热潮&#xff0c;2025年能否再攀历史新高&#xff1f; 原文来源&#xff1a;币热网 - 区块链信息资讯平台 以太坊升级&#xff0c;市场热情高涨 近期&#xff0c;以太坊市场犹如被一股神秘力量点燃&#xff0c;掀起了…...

Go语言入门基础详解

一、语言历史背景 Go语言由Google工程师Robert Griesemer、Rob Pike和Ken Thompson于2007年设计&#xff0c;2009年正式开源。设计目标&#xff1a; 兼具Python的开发效率与C的执行性能内置并发支持&#xff08;goroutine/channel&#xff09;简洁的类型系统现代化的包管理跨…...

Web网页制作(静态网页):千年之恋

一、是用的PyCharm来写的代码 二、代码中所用到的知识点&#xff08;无 js&#xff09; 这段HTML代码展示了一个简单的注册页面&#xff0c;包含了多个HTML元素和CSS样式的应用。 这段HTML代码展示了一个典型的注册页面&#xff0c;包含了常见的HTML元素和表单控件。通过CSS样…...

JVM 的不同组成部分分别有什么作用?

JVM&#xff08;Java Virtual Machine&#xff09;主要由以下几个核心组成部分构成&#xff1a; 1. 类加载器子系统 (Class Loader Subsystem): 作用&#xff1a; 加载类&#xff1a; 负责查找并加载 Java 类文件&#xff08;.class 文件&#xff09;到 JVM 中。 类文件可以来…...

正则表达式 - 修饰符

正则表达式 - 修饰符 正则表达式是一种强大的文本处理工具,它广泛应用于数据验证、文本搜索、替换、匹配等场景。在正则表达式中,修饰符是用于调整正则表达式行为的特殊字符。本文将详细解析正则表达式中的常用修饰符,帮助读者更好地理解和运用正则表达式。 1. 字符串定位…...

K8s 1.27.1 实战系列(十二)Ingress

一、Ingress介绍 1、Ingress 的核心概念 Ingress 是 Kubernetes 中管理外部流量访问集群内服务的 API 对象,通过 7 层(HTTP/HTTPS)协议实现流量路由、负载均衡和 SSL 终止。它弥补了传统 Service(如 NodePort 和 LoadBalancer)的不足,例如端口占用过多、不支持路径路由…...

tomcat应用的作用以及安装,以及tomcat软件的开机自启动。

一.tomcat介绍 1.作用 tomcat是一款用来部署网站服务器的一款软件。 动态网站主流语言&#xff1a; PHP, lamp/lnmp平台 Java语言&#xff0c;运行在tomcat平台。【只要这个网站或者软件是Java语言写的&#xff0c;我们都可以在tomcat平台上去运行这个java程序。】 网站是…...

Unity中WolrdSpace下的UI展示在上层

一、问题描述 Unity 中 Canvas使用World Space布局的UI&#xff0c;想让它不被3d物体遮挡&#xff0c;始终显示在上层。 二、解决方案 使用shader解决 在 UI 的材质中禁用深度测试&#xff08;ZTest&#xff09;&#xff0c;强制 UI 始终渲染在最上层。 Shader "Custo…...