HCIP——堆叠技术
堆叠
- 一、简介
- 二、堆叠的优势
- 1、提高可靠性
- 2、简化组网
- 3、简化管理
- 4、强大的网络拓展能力
- 三、堆叠的方式
- 1、堆叠卡堆叠
- 2、业务口堆叠
- 四、堆叠的原理
- 1、角色
- 2、单机堆叠
- 3、堆叠ID
- 4、堆叠的优先级
- 5、堆叠的建立过程
- 五、堆叠的配置
一、简介
堆叠技术 — 可以将多台真是得物理设备逻辑上抽象成一台。
思科 — VPC
华为 — iStack和CSS
华三 — IRF
锐捷 — VSU
iStack和CSS的区别:
CSS — 集群 — 仅支持将两台支持集群的交换机逻辑上整合成为一个设备。
iStack — 堆叠 — 可以将两台支持堆叠的交换机逻辑上整合成为一台。
集群和堆叠的主要区别 — 1、数量;2、设备
二、堆叠的优势
1、提高可靠性

堆叠实际上实现的是一个1:N的备份,任意一台设备出现故障,堆营系统中剩余的N台设备都相当于是备份。
2、简化组网

因为多台设备逻辑上被抽象成为了一台设备,且可以实现跨设备的链路聚合,极大的简化了组网。
3、简化管理
因为堆叠之后,多台交换机相当于变成了一台交换机,所以,我们可以通过任意一台交换机登录到堆叠系统中,并对整个堆叠系统进行统一的管理。
4、强大的网络拓展能力

堆叠系统可以通过增加堆叠系统中的成员设备,从而达到增加端口数量,提高带宽,提升整个对得系的处理能力。
三、堆叠的方式
参与堆叠的设备首先需要保证直连。
根据中间链接介质不同,可以将堆叠方式分为两种
1、堆叠卡堆叠

集成光纤线

注意:堆叠卡中有两个堆叠口,一个1口,一个2口。在链接成为堆叠系统时,一定注意,需要使用本端设备的1口去连接对端设备的2口,实现交叉互连。
2、业务口堆叠
逻辑堆叠端口 — Stack-port — 一种虚拟接口 — 最多也只能创建两个。也需要遵循交叉互联的原则。
物理成员端口— 逻辑口只是定义了功能,真实的数据传递还是需要通过物理接口实现。所以,我们需要将物理成员接口划入到逻辑端口中。不同设备型号和接口类型可以划入的接口数量可能不同,需要结合具体的产品文档来判断。
| 优点 | 缺点 | |
|---|---|---|
| 堆叠卡堆叠 | 配置简单,不用占用业务口 | 需要购买专用的堆叠卡,成本上升 |
| 业务口堆叠 | 无额外成本 | 需要占用业务口,配置麻烦 |
四、堆叠的原理
1、角色
只要加入到堆叠系统中的设置,都被称为成员交换机。
Master — 主交换机 — 一个堆叠系统中,有且仅有一个主交换机
Standby — 备交换机 — 如果主交换机出现故障,则由备交换机承担主交换机的职责,一个堆叠系统中,只有一个备交换机。
slave — 从交换机 — 一个堆叠系统中,除了主和备交换机外,剩余所有成员交换机都是从交换机。
2、单机堆叠
仅由一台交换机组建的堆叠系统
3、堆叠ID
用来区分和标定堆叠系统中不同的交换机的。堆叠ID在一个堆叠系统中是唯一的。堆叠ID的取值范围0-8。
- G 0/0/0— 槽位号/子卡号/端口号 — 槽位号一般默认为0,但是如果设备定义了堆叠ID,则槽位号会变成对应的堆叠ID。
- 注意:堆叠ID的唯一性可以由网络管理员手工配置保证,但是,如果配置存在冲突或者多台设备没有配置,堆叠系统中的主交换机会对多有成员交换机的堆叠ID进行管理,会对ID冲突设备从最小的ID进行遍历,找到第一个空闲的ID分配给该设备。
- 一台设备如果从一个堆叠系统中退出,他将继承堆叠系统中的堆叠ID,除非手工更改,或者他加入到其他堆叠系统中,存在冲突备主交换机修改。
4、堆叠的优先级
附加在每一个成员交换上,用来进行角色选举的属性。提供手工干涉选举的一个参数。优先级越大,成为主交换机的几率越大,其取值1- 255。其默认初始值为100。
堆叠角色的选举是非抢占模式的。
5、堆叠的建立过程
- 1、物理连接
首先,需要根据网络需求,选择适当的连接方式和连接拓扑,来组建堆叠网络。

链形连接
1、其首尾不用相连,更适合远距离堆叠
2、图形结构简单,容错较低,任何一条链路断开都将堆警分裂
环形连接
1、可靠性更高,对堆叠分裂具有一定的容错
2、因为首尾需要相连,所以,不太适合远距离的堆叠
总结:近距离堆叠,推荐使用环形拓扑,其稳定性更好;远距离堆叠,推荐使用链形拓扑,部署成本更低。 - 2、主交互机的选举
1、堆叠成员的加入— 因为堆叠系统是非抢占模式的,所以,如果一个完成的堆叠系统中需要加入一台成员设备,该设备将直接以从交换机的身份加入,不影响远系统的角色。
2、堆叠合并 — 两个堆叠系统中的主交换机进行竞选。竞选成功的主设备所在的堆叠系统其角色不会发生变化,竞选失败的主所对应的堆叠系统,所有设备将重新启动,以从交换机的身份加入到胜利堆叠系统中,并同步主交换机的配置。
因为华为交换机默认使能了堆叠,而且超时时间只有20S。所以,想要区分这两种场景,只能通过控制设备的启停进行区分,如果交换机关机再加入,则为堆叠成员加入场景;若开机加入,则为堆叠合并场景。
竞选规则(逐条比较)
1、设备的运行状态比较,已经运行的交换机比处于启动状态的交换机优先竞选为主交换机。如果是堆叠合并时两个系统的主进行竞争,则需要比较设备的运行时间,运行时间长的为主。
2、如果第一条相同时,则比较设备堆叠的优选级,优先级高的为主。
3、若优先级相同,则比较设备的MAC地址,优选MAC地址小的作为主交换机 - 3、堆叠ID的分配和备交换的选举
主交换机竞选完成后,主设备会收集所有成员交换机的拓扑信息;之后将拓扑信息同步给所有成员交换机,并分配堆叠ID。之后进行备交换机的选举。
备交换机的选举规则
1、所有设备除了主交换机外最先完成启动的设备为作为备交换机。
2、若启动时间相同,则比较优先级,除主交换机外最高的为备交换机。
3、若优先级相同,则比较MAC地址,除交换机外MAC地址最小的为备交换机。 - 4、软件版本和配置文件的同步
因为堆叠系统要作为一个整体,所以,若备或从交换机和主交换的软件版本不一样,则将自动同步主系统的软件版本,并且,为了保证整体功能一致,也需要同步主的配置信息。
堆叠MAC地址问题
因为整个堆叠系统需要被看作是一个整体,所以需要一个统一的MAC地址。堆叠系统的MAC地址默认使用主交换机的MAC地址。这个MAC地址一旦发生变化,可能会导致流量的中断。如果主交换机发生故障,理论上需要切换成新主的MAC地址。但是为了防止MAC地址变换引起的震荡,华为设定,主退出10分钟(默认值,可以改)内依然使用其MAC地址,如果超时未归,则使用新主的MAC地址。
堆叠分裂
堆叠分裂:指因为堆叠线缆故障导致原来一个堆叠系统分裂成为多个堆叠系统。堆叠一旦分裂,意味着多个堆叠系统将具有完全相同的配置,IP地址,包括10分钟内MAC地址也完全相同,相当于整个网络中出现了两台完全相同的设备,就可能会造成冲突,导致流量中断。
1、原系统中的主和备分裂到了一个堆叠系统中

2、原堆叠系统中的主和备分裂到不同的系统中

MAD — 多主检测
1、直连检测

工作逻辑 — 在堆叠发生之前,检测线缆不传递报文。堆叠一旦发生,分裂的两台设备自身可以检测到,则将通过MAD检测链路默认以1S为周期发送MAD报文,通知分裂的发生,并采取后续处理。
两种直连方式,相对而言,全连的方式可靠性更高,但是需要占用更多的接口。而且,如果设备相距较远,全连成本较高。
2、代理检测

代理检测,必须通过聚合链路来实现检测,不过,聚合链路可以是业务通道,不用占用额外的接口.
工作逻辑:成员交换机默认会以30S为周期沿着聚合链路发送检测报文,正常情况下,收到检测报文不需要做任何处理;如果分裂发生,则和直连检测相同,分裂设备会以1S为周期发送检测报文,通知分裂的产生并实施冲突处理。
冲突处理
其逻辑就是需要将分裂出来的系统进行一次竞选,规则和之前相同,竞选成功的系统将保留配置;竞选失败,则被置为Recovery状态 — 除了配置保留的接口外,所有接口将被关闭。
五、堆叠的配置
1、创建虚拟的堆叠端口
[Stack1]interface stack-port 0/1 --- 创建堆叠口
[Stack1-stack-port0/1]
2、将物理接口拉入堆叠口
[Stack1-stack-port0/1]port interface GigabitEthernet 0/0/1 GigabitEthernet 0/0/2 enable
3、修改堆叠优先级
[Stack1]stack slot 0 priority 200
4、修改堆叠ID
[Stack2]stack slot 1 renumber 2
5、MAD代理检测
堆叠系统配置
[Stack1Jinterface Eth-Trunk 0 --- 进入聚合口
[Stack1-Eth-Trunk0]mad ?
detect Specify detect actionrelay
Relay config
[Stack1-Eth-Trunk0]mad detect mode relay
代理设备
[D1]interface Eth-Trunk 0 -- 进入聚合口
[D1-Eth-Trunk0]mad relay

相关文章:
HCIP——堆叠技术
堆叠 一、简介二、堆叠的优势1、提高可靠性2、简化组网3、简化管理4、强大的网络拓展能力 三、堆叠的方式1、堆叠卡堆叠2、业务口堆叠 四、堆叠的原理1、角色2、单机堆叠3、堆叠ID4、堆叠的优先级5、堆叠的建立过程 五、堆叠的配置 一、简介 堆叠技术 — 可以将多台真是得物理…...
芯片工程师求职题目之CPU篇(3)
1. 什么是cache(缓存)?它的工作原理是什么? Cache是少量的快速内存。它位于主存储器和中央处理器之间。每当CPU请求memory位置的内容时,首先检查cache中是否有此数据。如果数据存在于cache中,CPU直接从cache中获得数据。这是更快…...
Grounding dino + segment anything + stable diffusion 实现图片编辑
目录 总体介绍总体流程 模块介绍目标检测: grounding dino目标分割:Segment Anything Model (SAM)整体思路模型结构:数据引擎 图片绘制 集成样例 其他问题附录 总体介绍 总体流程 本方案用到了三个步骤,按顺序依次为:…...
如何选择更快更稳定的存储服务器
选择更快、更稳定的存储服务器需要考虑以下几个方面: 存储介质:存储服务器的主要存储介质包括固态硬盘(SSD)和机械硬盘(HDD)。相比于机械硬盘,固态硬盘具有更高的读写速度和更低的延迟…...
此芯科技加入 openKylin 开源社区
导读近日消息,据此芯科技官方公众号表示,此芯科技目前已经签署 openKylin 社区 CLA(Contributor License Agreement 贡献者许可协议),正式加入 openKylin 开源社区。 此芯科技成立于 2021 年,是一家专注于设…...
开发一个RISC-V上的操作系统(七)—— 硬件定时器(Hardware Timer)
目录 往期文章传送门 一、硬件定时器 硬件实现 软件实现 二、上板测试 往期文章传送门 开发一个RISC-V上的操作系统(一)—— 环境搭建_riscv开发环境_Patarw_Li的博客-CSDN博客 开发一个RISC-V上的操作系统(二)—— 系统引导…...
电池的正极是带正电?
首先说明结论:电池正极带正电,负极带负电。 一个错误的实例: 如果说电流是从电池正极流动到电池负极,那么电子就是从负极流动到正极,那么正极就是带负电。----这个说法是错误的。这是因为,根据那么很出名…...
Go 协程为什么比进程和线程占用的系统资源低?
1 介绍 进程是一个程序在执行时所占据的独立虚拟内存空间,Linux为每个进程分配一个虚拟内存空间,包括栈、未使用的内存、堆、BSS、DATA和TEXT等。 线程可以看作是轻量级的进程,多个线程在一个进程中“共生”,每个线程拥有独立的…...
性能测试—Jmeter工具
文章目录 性能测试1. 术语介绍2. 方法3. 应用场景4. 工具(Jmeter)4.1 介绍4.2 元件和组件4.2.2 元件4.2.1 组件 4.3 作用域4.4 参数化4.5 执行脚本 性能测试 1. 术语介绍 响应时间(Response time):对请求作出响应所需要的时间。 在互联网上对…...
【分布式系统】聊聊高性能设计
每个程序员都应该知道的数字 高性能 对于以上的数字,其实每个程序员都应该了解,因为只有了解这些基本的数字,才能知道对于CPU、内存、磁盘、网络之间数据读写的时间。1000ms 1S。毫秒->微秒->纳秒-秒->分钟 为什么高性能如此重要的…...
自动驾驶数据集汇总
1.Nuscenes 数据集链接:nuScenes nuscenes数据集下有多个任务,涉及Detection(2D/3D)、Tracking、prediction、激光雷达分割、全景任务、规划控制等多个任务; nuScenes数据集是一个具有三维目标注释的大型自动驾驶数…...
面向对象的基本原则
背景 面向对象是抽象技术的一种实现,将对象作为真实世界中实体的抽象,代表了特定的一块密集而内聚的信息。在面向对象设计及实现中,重点考虑的就是如何做到关注点分离。因为对象内的联系通常比对象间的联系更强。关注点分离就是将对象中高频…...
C语言开发基础知识(一)
文章目录 数据类型宏变量函数inline 内联函数static 关键字的作用const 关键字的作用extern 关键字的作用volatile 关键字的作用include 关键字的作用数组、字符串指针堆内存管理结构体文件操作数据类型 C语言中数据类型分有符号和无符号,默认是有符号的。 有符号类型: 数据…...
API网关类型与区别
什么是API网关? 在现代软件架构中,API(应用程序编程接口)网关起着重要的作用。它是一个中间层,用于管理和控制应用程序之间的通信。API网关可以提供一些关键功能,如流量控制,安全认证ÿ…...
linux:nginx网站升级至http2
参考: 怎样把网站升级到http/2 - 知乎 HTTP/2 与 HTTP/1.1:它们如何影响 Web 性能? | Cloudflare 总结: nginx.conf修改 http2需要ssl支持 listen 443 ssl http2;...
Flutter:屏幕适配
flutter_screenutil flutter_screenutil是一个用于在Flutter应用程序中进行屏幕适配的工具包。它旨在帮助开发者在不同屏幕尺寸和密度的设备上创建响应式的UI布局。 flutter_screenutil提供了一些用于处理尺寸和间距的方法,使得开发者可以根据设备的屏幕尺寸和密度…...
中科亿海微ROM使用
标题 ROM(Read-Only Memory,只读存储器)是一种在FPGA(Field-Programmable Gate Array,现场可编程门阵列)中常用的存储器类型。与RAM(Random Access Memory,机存取存储器)…...
Python接口自动化测试之UnitTest详解
基本概念 UnitTest单元测试框架是受到JUnit的启发,与其他语言中的主流单元测试框架有着相似的风格。其支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。 它分为四个部分test fixture、TestC…...
python——案例17:判断某年是否是闰年
案例17:判断某年是否是闰年 判断依据:闰年就是能被400整除,或者能被4整除的年份numint(input(输入年份:))if num%1000: if num%4000: #整百年份的判断print("%s年是闰年"%num) #…...
allure测试报告
使用pytest结合Allure进行测试报告生成的简单教程 allure测试报告 Allure基于Java开发,因此我们需要提前安装Java 8或以上版本的环境。 ◆安装allure-pytest插件在DOS窗口输入命令“pip3 install allure-pytest”,然后按“Enter”键。 下载安装Allure…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
