HCIP第十一(生成树基础知识点)

news2024/9/21 14:53:45

企业网三层架构-冗余(线路,设备,网关,电源Ups)

三层架构-冗余,线路冗余:二层桥接技术

一台交换机上的一个接口可以映射多个MAC地址,但是一个MAC地址只能对应一个接口

当交换机触环导致的问题:

1.广播风暴

2.对于同一个数据帧反复拷贝

3.MAC地址表翻滚

以上上个问题将不断占用资源,逐渐导致设备性能受限,设备过热,重启或者关机

一。STP生成树的定义:

在一个二层交换机网络中,生成一棵树型结构,逻辑的阻塞部分接口,使得从根到所有节点仅存在唯一的路径,当最佳链路故障的时候,再打开部分阻塞端口,来恢复通讯,实现线路的备份,逻辑阻塞交换网路中的部分接口,实现从根到所有节点唯一尽量最短的路径,最好选用星型结构

STP:802.1D      网桥(交换机)

        PVST  PVST+  802.1S  RSTP  802.1W  MSTP

(二层帧,三层包,四层段,应用层报文)

二。802.1D:一个交换网络内仅存在一棵生成树实例:

查看命令:show spanning-tree

交换机间使用BPDU协议数据单元---交换机间沟通互动收发的数据

配置BPDU只有根网桥可以进行发送,在交换机网络初始状态时,所有交换机均定义本地为根网桥,进行BPDU的发送,使得网络中所有的交换机均收到其他设备的BPDU,之后基于数据中的参数进行对比,选举出根网桥,再所有非根网桥不再发送BPDU,而是仅接受和转发网桥的BPDU,周期为2s,hold time20s

拓展:TCN(拓扑变更消息,也是BPDU),本地交换机链路故障后,STP重新收敛,为了快速刷新全网所有交换机的MAC表,向本地所有的STP接口发送TCN(标记位的TCN位置1),邻居交换机收到TCN后,先标记为ACK为回复,用于可靠传输信息,之后将TCN逐级转发到根网桥处,由根网桥回复TC消息来逐级回复到所有的交换机,使所有的交换机临时将MAC表的老化时间修改为15s(默认的,转发延时)

802.1D的收敛时长:

1.初次收敛:30s=15s侦听+15s学习

2.结构变化:

(1)30s 存在直连检测=本地仅存在一个阻塞端口,可以接受来自根网桥的BPDU

(2)50s 非直连检测:20s hold time+30s收敛

802.1D的缺点:

1.收敛慢

2.链路利用率低

三。BPDU的选举:

根网桥:一台交换机,在没有棵树形结构中有且仅有一台,负责周期的发送BPDU,计算整棵树的树形结构,保活和指挥整棵树的收敛

1.比较BPDU中的桥ID=BID(优先级),默认为32768(0-65535),越小越好

2.优先级相同,比较MAC地址数值,越小越好

注释:1.透明交换机无MAC地址,自然不支持生成树 2.支持stp的交换机,一定也支持SVI技术(可以让交换机配置ip地址,称为源或者目标设备,自然出厂时携带MAC地址,stp可以借用该mac地址)

综上:BID=网桥优先级+MAC地址

四。根端口和指定端口的介绍:

根端口:一个接口在每台非根网桥上,有且仅有一个接口为根接口,该交换机离根网桥最近的接口,用于接受来自根的BPDU,也正常转发用户的数据(不被阻塞)

1.cost:比较从根网桥发出的BPDU,通过该接口进入时最小的cost值,出接口的cost不进行计算,只累计进入的cost值

2.BID:入向的cost值相同的时候,比较对端(上级)设备的BID(也就是该设备上一个接口的BID号),小的对应接口为根端口

3.PID:若上级设备的BID相同,比较对端(上级)设备的PID(PUD=接口优先级0-255,默认为128+接口编号,都是越小越好

4.本地PID:最后比较自己本地的PID

cost值:

V1(802.1d标准):100M(19)        1000M(4)        10G(2)        >10G(1)

V2(802.1T标准):1000M(200000)        1000M(20000)

指定端口:一个接口,在每条两端均运行stp的物理链路上,有且仅有一个接口,转发来自根的BPDU,也正常转发用户数据(不被阻塞),根端口的对端一定是指定端口,且根网桥上的所有接口为指定端口

1.比较从根网桥发出的BPDU,通过该接口转出最小cost值

2.比较本地BID,关键为MAC值,越小越好

3.比较本地PID,越小越好

4.直接阻塞

非指定端口:以上所有角色选择完成后,剩下没有角色的接口全部称为非指定端口,非指定端口为阻塞状态(不是down,是可以收数据,但是不转发)

五。接口角色与状态分类

接口角色:根网桥        根端口        指定端口        非指定端口(堵塞端口)

状态:

1.down:STP未运行

2.侦探:所有交换机收发BPDU,选举所有角色(根端口+指定端口进入学习状态,非指定端口进入堵塞状态)

3.学习:关注用户流量中的源MAC地址,生成MAC表,之后进入转发状态

4.转发:只有转发状态后,方可进行用户数据的转发

5.阻塞状态

六。PVST--基于vlan的生成树

cisco私有,主要是在802.1D的基础上,提高了链路的利用率

内容:一个vlan一棵树,一棵树的内部正常进行802.1D计算,将不同vlan的根网桥放置于不同汇聚层设备处,可以实现所有链路均存在部分vlan可通讯并且互为备份,不同vlan的BPDU的区别在于优先级,优先级=4096的倍数+vlan id(人为可以修改4096倍数备份,且只能修改为4096的整倍)

更改优先级:spanning-tree vlan 1 priority 4096(更改的优先级都应该为4096的倍数)

存在的缺点:

1.树多- cisco设备使用专用芯片来处理stp流量

2.收敛慢

3.在trunk干道上仅支持ISL封装,不支持802.1Q封装

七。PVST+ 在PVST的基础上,兼容802.1Q封装,提供了三种加速

1.端口加速:用于连接端口的接口,不需要30s(进入接口:spanning-tree portfast)

2.上层链路加速:正对直连检测条件下的阻塞端口,不需要30s,同时本地网桥优先级自动被加大,故只能接入层交换机配置

3.骨干加速:针对次优BPDU,所有交换机均可以进行配置,在接受到次优BPDU时候,省去20s的hold time

缺点:1.加速不彻底        2.私有协议        3.树多

八。快速生成树:彻底提速,不再计时

1.PSTP:PVST+的升级版 私有(基于一个vlan一棵树,同时进行快速收敛)

2.802.1w:802.1D升级版 共有(一个共有网络一棵树,快速加速)

快速的原理:

1.取消计时器,在完成了一个状态的工作后,直接进入下一个状态

2.分段式同步,两台设备间逐级收敛,使用请求和同意标记,依赖标记位的第一位和第六位

3.BPDU的保活时间为6s,hello time2s

4.将端口加速(边缘接口),上行链路加速,骨干加速集成了

5.兼容802.1D和PVST,但802.1D和PVST没有使用标记位中的1-6位,故不能快速收敛,因此如果网络中有一台设备不支持快速收敛,那么其他开启快速收敛的设备也不能快速,但TCN消息出现的时候,不需要等待其他网桥的BPDU,就可以刷新本地的cam表

私有快速生成树:优点:分流  链路利用路高        缺点:树多,需要专用芯片管理

共有快速生成树:一个网络一棵树,利用率低

九。基于组的快速生成树

MSTP(802.1S)-基于组的生成树,一个组一棵树,一个组内可以管理多个vlan,各个组的BPDU,参考PVST的方案,基于网桥优先级4096*n+组号,默认存在组0,且默认所有vlan处于组0

查看生成树类型:[SW1]display stp brief

<Huawei>undo ter monitor (去除交换机更新杂志)

[SW1]vlan batch 2 to 100
[SW1]port-group group-member e0/0/1 to e0/0/2
[SW1-port-group]port link-type trunk
[SW1-Ethernet0/0/1]port link-type trunk
[SW1-Ethernet0/0/2]port link-type trunk
[SW1-port-group]port trunk allow-pass vlan 2 to 100
[SW1-Ethernet0/0/1]port trunk allow-pass vlan 2 to 100
[SW1-Ethernet0/0/2]port trunk allow-pass vlan 2 to 100

[SW1]stp mode mstp(开启mstp协议)
[SW1]stp region-configuration
[SW1-mst-region]region-name aa(取名为aa)
[SW1-mst-region]instance 1 vlan 1 to 50(组1监管1-50)
[SW1-mst-region]instance 2 vlan 51 to 100(组2监管51-100)
[SW1-mst-region]active region-configuration (启动)

[SW1]dis current-configuration (查看配置设置)

[SW1]dis stp region-configuration (查看分组信息)

[SW1]stp instance 1 root primary (配置为组1的主根)
[SW1]stp instance 2 root secondary (配置为组2的备份根)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2054739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024.8.19 学习记录 —— 作业

一、TCP机械臂测试 #include <myhead.h>#define SER_PORT 8888 // 与服务器保持一致 #define SER_IP "192.168.0.114" // 服务器ip地址int main(int argc, const char *argv[]) {// 创建文件描述符打开键盘文件int fd open("/dev/input/event1…

设备实时数据采集:开启制造业智能化、自动化的新篇章

传统制造业在进行生产过程中&#xff0c;会涉及到设备实时数据采集需求&#xff0c;这些数据对于监控生产流程、优化生产效率、保证产品质量以及降低成本等方面至关重要。以下是一些常见的数据采集需求&#xff1a; 1.生产数据&#xff1a;包括生产数量、生产批次、生产速度等&…

Facebook与区块链:社交网络如何融入去中心化技术

随着区块链技术的飞速发展&#xff0c;去中心化理念逐渐渗透到各个领域&#xff0c;社交网络也不例外。作为全球领先的社交平台&#xff0c;Facebook在这一趋势下开始积极探索区块链技术的潜力&#xff0c;希望利用这一前沿技术来提升平台的安全性、透明度和用户控制权。本文将…

Maven-02.介绍安装

一.介绍 首先从本地仓库中寻找所需要的jar包&#xff0c;如果没有就从中央仓库中寻找。然后从中央仓库中下载使用。但是中央仓库的服务器在国外&#xff0c;因此速度和稳定性都不好&#xff0c;因此我们在中间设立远程仓库&#xff08;私服&#xff09;&#xff0c;远程仓库一般…

光伏气象站——提升光伏发电效率和稳定运行

光伏气象站作为现代光伏电站的必备组成部分&#xff0c;‌特别适用于地理分布广泛、‌气象条件复杂多变的地区&#xff0c;‌如山区、‌森林或分散的屋顶安装等。‌这些地方由于可能存在微气候差异&#xff0c;‌对光伏系统的运行效率和性能有着显著影响。‌因此&#xff0c;‌…

LeetCode:3148. 矩阵中的最大得分(DP Java)

目录 3148. 矩阵中的最大得分 题目描述&#xff1a; 实现代码与解析&#xff1a; DP 原理思路&#xff1a; 3148. 矩阵中的最大得分 题目描述&#xff1a; 给你一个由 正整数 组成、大小为 m x n 的矩阵 grid。你可以从矩阵中的任一单元格移动到另一个位于正下方或正右侧…

STM32裸机和RTOS中的线程安全问题及STM32cubeMX中的线程安全策略

STM32线程安全问题 术语“线程” 和“多线程” 适用于裸机和基于RTOS的应用程序&#xff0c;线程安全问题并不只存在于基于RTOS的应用程序中&#xff1b;裸机应用程序中也存在这个问题&#xff0c;在裸机应用程序中&#xff0c;中断服务程序允许调用C库函数。线程安全问题可能…

『Z-Workshop』 The Graph workshop mini hackathon活动

Community Meetup In Hangzhou ZJUBCA 2024 求是 创新 概述 / OVERVIEW The Graph作为一个去中心化的查询协议&#xff0c;为区块链数据的索引和查询提供了强大的支持。我们希望通过这场黑客松&#xff0c;激发大家对区块链技术更深层次的探索和应用&#xff0c;共同推动这一…

第七十四:前端实现点击页面某个菜单跳转到对应的锚点功能

1.用js来实现 scrollIntoView方法 先定义个id或者class随意&#xff0c;因为我是循环好几个小模块所以用动态的来实现 点击的时候传对应的类名进行滑动 document.getElementById(item.variableCode).scrollIntoView({behavior:“smooth”}); 加上behavior:“smooth” 进行平…

为Linux/centos虚拟机已有硬盘扩容

为Linux已有硬盘扩容 旧盘扩容的大体流程与关键命令&#xff1a; 为虚拟机磁盘加容量&#xff1b; 为磁盘新容量分区&#xff08;fdisk&#xff09;&#xff1b; 将分区信息写入内核&#xff08;partx&#xff09;&#xff1b; 为分区创建物理卷&#xff08;pvcreate&#xff0…

电脑如何录屏?三款电脑录屏工具分享

电脑如何录屏&#xff1f;作为一个经常需要录制电脑屏幕大职场人&#xff0c;不是为了制作教程、记录会议&#xff0c;就是偶尔想自己做个游戏解说视频。市面上的录屏软件琳琅满目&#xff0c;经过一番尝试和比较&#xff0c;我选出了三款我个人认为表现不错的软件&#xff0c;…

Qt qss以及对话框

字体对话框的实现 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_fontbtn_clicked() {bool ok;QFont ret…

开源的向量数据库Milvus

Milvus是一款开源的向量数据库&#xff0c;专为处理向量搜索任务而设计&#xff0c;尤其擅长处理大规模向量数据的相似度检索。 官网地址&#xff1a;https://milvus.io/ 以下是关于Milvus的详细介绍&#xff1a; 一、基本概念 向量数据库&#xff1a;Milvus是一款云原生向量…

pyinstaller打包vnpy项目

因为我写的软件主要是自己用&#xff0c;很少有打包的习惯&#xff0c;直接源代码部署&#xff0c;导致打包&#xff0c;以下记录一下给一个朋友做的&#xff0c;对vnpy的改写&#xff0c;实现实时读取信号文件&#xff0c;发现文件中信号改变就做出相应的交易动作&#xff0c;…

离线安装 MySQL 数据库系统并实现远程登录

MySQL 5.7.25 的安装包&#xff0c;存放在 /opt/software 目录下 详细步骤 一、离线安装 MySQL 数据库系统1. 解压安装包2. 安装 MySQL 组件3. 登录 MySQL&#xff08;1&#xff09;初始化 MySQL 的数据库&#xff08;2&#xff09;启动 MySQL 服务&#xff08;3&#xff09;登…

书生大模型学习笔记9 - LMDeploy 量化部署

LMDeploy 量化部署 InternLM 2.5 20b量化前部署W4A16 模型量化量化模型部署streamlit web InternLM 2.5 20b量化前部署 lmdeploy serve api_server \/root/learning/InternLM/XTuner/merged_20b \--model-format hf \--quant-policy 0 \--cache-max-entry-count 0.01\--server…

创建干净虚拟环境对YOLOV8进行打包

背景 基于Yolov8写了一个视频检测小demo&#xff0c;考虑后续要到项目上使用&#xff0c;所以研究了一下打包流程。使用的工具是Pyinstaller&#xff0c;在原有的环境下面打包发现&#xff0c;大小有6个多G。所以想再弄一个干净的环境&#xff0c;只安装需要的模块&#xff0c…

前端基础4

本节内容&#xff1a; 1.CSS的弹性布局&#xff0c;也称Flex布局 2.Vue2的生命周期 一、Flex布局 弹性布局是前端页面布局最常用的方式之一&#xff0c;通常使用四个属性。 1.创建盒子 先创建一个盒子并为其添加一些样式可以更直观的体验弹性布局&#xff0c;代码如下&#…

xcode如何编译python

1、找到Python位置&#xff1a; 终端输入&#xff1a;which python 获取python的安装位置&#xff0c;一般为/usr/bin/python。获取到这个路径方便使用它来搭建python的编译环境。 2、在Xcode中创建python程序 打开Xcode&#xff0c;新建工程&#xff08;ShiftCommandN&…

前端基础知识(一些基本标签的用法)

前端&#xff1a;html,css,javascript html:超文本结构化标记语言 使用角度 1、供显示的元素 2、供收集信息的元素 css层叠联样式单 选择器&#xff08;给谁做样式&#xff09; 盒子模型&#xff08;了解html元素内部结构&#xff09; 布局&#xff08;把元素进行摆布&a…