STP生成树协议详解

一、STP作用

如果链路断开或节点故障,那么互联的设备就无法正常通信了,这类网络问题叫做单点故障。没有备份的链路或节点,出现故障会直接断网。如果要提供 7×24 小时不间断的服务,那就需要在网络中提前部署冗余。避免出现单点故障,合理的做法是在网络中的关键设备和关键链路添加冗余。所以为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表振荡等问题,进而会影响到用户的通信质量。生成树协议STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题。

从不同的端口收到相同的数据帧,导致 MAC 地址表项发生变化的现象,就叫做 MAC 地址漂移,这种现象说明网络中可能存在环路。

广播帧不停泛洪的现象,叫做广播风暴

冗余链路带来的风险。重复帧、MAC 地址漂移和广播风暴,都是由一个广播帧引起的,可是网络中不可避免出现广播帧,也不能因为二层环路问题而忽略冗余链路增加网络可靠性的好处。

二、STP的作用

a)Stp通过阻塞端口来消除环路,并能够实现链路备份目的

b)消除了广播风暴

c)物理链路冗余,网络变成了层次化结构的网络

三、STP操作

选举一个根桥 每个非根交换机选举一个根端口 每个网段选举一个指定端口 阻塞非根,非指定端口

桥id 越小,优先级越高

四、STP名词解释:

根桥:生成树里面的‘老大’,桥id最小
​
备份根桥:生成树里面的“二把手”,老大挂了的时候,我当老大,桥ID第二小。
​
非根交换机:干活的小弟,都有一个根端口
​
根端口:离根桥最近的端口
​
指定端口:根桥所有参与生成树选举的端口,都一定是指定端口
​
非根非指定端口:被阻塞的端口---备用链路的端口
​
路径开销:是端口Cost值,可以用来选择最优的路径,值越小越优。根路径开销是端口到达根桥的过程中累计的路径开销。
​
BID:桥ID:是由桥优先级和桥MAC地址构成,桥优先级为高16位,MAC地址是低48位。
​
PID:端口ID:是由端口优先级和端口号构成,端口优先级为高4位,端口号

五、生成树选举办法

根桥交换机,备份根桥交换机,非根交换机

根端口,指定端口,非根非指定端口(阻塞端口/预备端口)

六、生成树选举因素

第一种根桥选举因素:优先级,MAC地址

第二种端口选举因素:路径开销>桥ID>对端端口ID>本端端口ID

如果我们要改变根桥直连端口的接口属性,要修改 路径开销。

七、根桥选举:

刚启动STP时,每台交换机都认为自己是根桥

根桥所有参与生成树选举的端口,都一定是指定端口

根桥交换机指定端口直连的交换机端口,都一定是指定端口

根桥:在参与生成树选举的网络里面 桥id肯定是最小的

备份根桥:在参与生成树选举的网络里面 桥id肯定是次优的存在

影响根桥选举的因素:

   1)优先级(交换机默认优先级是32768)越小越优先,0的优先级最高。
​2)优先级一样,看MAC地址表,最小的就是根桥。
​3)两种方式:优先级最小、MAC地址最小

八、根端口的选举

非根交换机在选举根端口时分别依据该端口的根路径开销、桥ID、对端PID和本端PID(接了hub的情况才会用到本端PID)

未被选举为根端口或指定端口的为预备口

九、端口五种转换状态

disable(端口未启用状态或初始状态,端口不处理任何数据端口状态为down)禁用状态。端口即不处理和转发BPDU报文,也不转发用户流量

blocking(阻塞状态,维持20秒)阻察状态。端口仅仅能接受并处理BPDU,不能转发BPDU,也不能转发用户流量。此状态是预备端口的最终状态

listening(监听状态,参与生成树计算,接受并发送BPDU报文维持15秒)侦听状态 端口可以转发BPDU报文,但不能转发用户流量

learning(学习状态,端口不转发用户流量,学习MAC表,参与生成树计算,接受并发送BPDU报文,防止环路维持15秒)学习状态端口可以根据收到的用户流量构建MAC地址表,但不转发用户流量。增加学习状态为了防止临时环路

forwarding(转发状态)转发状态端口即可以转发用户流量也可以转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态

十、STP的一些命令

Stp enable 关闭生成树
​
Display mac-address查看MAC地址表
​
Stp priority 设置交换机优先级(取值范围0-61440,默认优先级32768)
​
Display STP 查看生成树日志
​
Display stp brief查看接口是什么端口
​
stp cost cost命令取决于路径开销计算方法:
使用华为的私有计算方法时,cost取值范围是1~200000。 
使用IEEE 802.1d标准方法时,cost取值范围是1~65535。 
使用IEEE 802.1t标准方法时,cost取值范围是1~200000000。
stp pathcost-standard { dot1d-1998 | dot1t | legacy }命令用来配置指定交换机上路径开销值的标准。
stp mode { mstp | stp | rstp }命令用来配置交换机的生成树协议模式
​
修改生成树优先级:
Stp pri +优先级数(0-61440)必须是4096的倍数
32768 交换机默认优先级 *2得到B类地址总数
65536 B类地址总数 /2 得到交换机默认优先级

注意:想要一个交换机一定为根桥,修改优先级,优先级可以为0。 在后面加入新设备时,要使原根桥不变可以增大加入的新设备的优先级。 交换机默认情况下直连的路径开销最小,但人工修改后则修改的可以为最小。

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

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

相关文章

Python爬虫零基础入门教程

文章目录: 一:Python基础 二:爬虫须知 1.流程 2.遵守规则 三:HTTP请求和响应 1.相关定义 2.HTTP请求响应 2.1 完整的HTTP请求 2.2 完整的HTTP响应 3.Requests库 四:HTML 1.HTML网页结构 2.常用标签 3.…

前端包管理器的工具,npm和Yarn以及pnpm是最常用的

目录 前言npm (Node Package Manager)npm简介npm的优势npm常用指令 YarnYarn简介Yarn的优势Yarn常用指令 pnpmpnpm简介pnpm的优势pnpm常用指令 npm、Yarn和pnpm这三种前端包管理工具的对比性能比较特点和用例比较选择依据 👍 点赞,你的认可是我创作的动力…

快速入门python机器学习

文章目录 机器学习概述1.1 人工智能概述机器学习与人工智能、深度学习1.1.2 机器学习、深度学习能做些什么 1.2 什么是机器学习1.2.1 定义1.2.2 解释1.2.3 数据集构成 1.3 机器学习算法分类1.3.1 总结1.3.2 练习1.3.3 机器学习算法分类 1.4 机器学习开发流程(了解&a…

Java封装JDBC通用工具类

Java封装通用工具类 一、JDBC配置类二、配置文件三、通用工具类 一、JDBC配置类 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties;public …

centos安装supervisor和配置进程

使用 yum 安装 Supervisor: sudo yum install epel-release sudo yum install supervisor启动 Supervisor 服务并设置开机启动: sudo systemctl start supervisord sudo systemctl enable supervisord3.验证 Supervisor 是否已成功安装并正在运行 sud…

ubuntu基本操作

好记性不如烂笔头,把一些常用的ubuntu文件操作记录下来 1. 把一个文件夹下的所有文件复制到另一个文件夹下 sudo cp -r source_dir/* aim_dir/ 2. 克隆一个文件夹: 创建一个文件夹dir2,复制dir1中的所有文件到dir2中 cp -r dir1 dir2 3. 命令行查看…

ECharta雷达图 样式调整

预期效果&#xff1a; <template><div id"operationalRisk-radar-chart" class"h-290 w-385"></div> </template><script>export default {name: radarChart} </script> <script setup>import { onMounted, r…

Arduino驱动BMM150三轴地磁传感器(惯性测量传感器篇)

目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序

day39

今日内容概要 数据库数据的演变史 数据存储的发展史 数据库的本质 数据库的分类 SQL与nosql的介绍 MySQL的介绍 MySQL的下载与安装 MySQL服务的制作 MySQL如何登录 管理员密码的修改以及忘记密码怎么办 基本的SQL语句(针对库、表、记录的增删改查) 数据库的演变史 …

【数据库】SQL 检索数据

检索数据 基本检索数据检索单个列检索多个列检索所有列检索不同的值限制检索数量 注释规则排序检索数据单列排序多列排序按列位置排序指定排序方向 基本检索数据 检索单个列 从 Products 表中检索一个名为 prod_name 的列&#xff1b; SELECT prod_name FROM Products;该 s…

CleanMyMac X4.14.4最新免费版本功能介绍

最新版CleanMyMac X 让您的Mac焕然一新&#xff0c;时刻保持安全&#xff01;CleanMyMac X是一款专业的Mac清理软件&#xff0c;可智能清理mac磁盘垃圾和多余语言安装包&#xff0c;快速释放电脑内存&#xff0c;轻松管理和升级Mac上的应用。同时CleanMyMac X可以强力卸载恶意软…

GEO生信数据挖掘(八)富集分析(GO 、KEGG、 GSEA 打包带走)

第六节&#xff0c;我们使用结核病基因数据&#xff0c;做了一个数据预处理的实操案例。例子中结核类型&#xff0c;包括结核&#xff0c;潜隐进展&#xff0c;对照和潜隐&#xff0c;四个类别。第七节延续上个数据&#xff0c;进行了差异分析。 本节对差异基因进行富集分析。 …

大咖云集,智慧碰撞|第 18 届 CLK 大会完整议程揭晓(内附报名通道)

自 2006 年以来&#xff0c;在国内 Linux 技术爱好者和行业公司的鼎力支持下&#xff0c;中国 Linux 内核开发者大会已走过 17个年头&#xff0c;是中国 Linux 内核领域最具影响力的峰会之一。今年的中国内核开发者大会依然秉承历届理念&#xff0c;以“自由、协作、创新”为理…

Kotlin协程简介

文章目录 官网地址1 来源2 出现原因3 特点1&#xff09; 轻量2&#xff09;内存泄漏更少3&#xff09;内置取消支持4&#xff09;Jetpack 集成 4 依赖项信息5 在后台线程中执行6 使用协程确保主线程安全7 处理异常 官网地址 https://developer.android.google.cn/kotlin/corou…

挑战分布式架构,解密Java在业务场景下的高效应用面试题目介绍常用的通信方式有哪些请分别说明各自的特点和适用场景

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》作者 公众号:山峯草堂,非技术多篇文章,专注于天道酬勤的 Java 开发问题、中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 转载说明:务必注明来源(注明:…

Python-Python高阶技巧:闭包、装饰器、设计模式、多线程、网络编程、正则表达式、递归

版本说明 当前版本号[20231018]。 版本修改说明20231018初版 目录 文章目录 版本说明目录Python高阶技巧闭包简单闭包修改外部函数变量的值实现以下atm取钱的闭包实现了闭包注意事项 装饰器装饰器的一般写法&#xff08;闭包写法&#xff09;装饰器的语法糖写法 设计模式单例…

x86 架构的机载计算机,它来了!

Allspark 2-x86采用Intel酷睿11代或12代CPU&#xff0c;x86架构&#xff0c;适用于无人机等机器人运行SLAM、VIO等复杂逻辑和高精度的机器视觉任务。预装 Ubuntu 22.04或Windows 11&#xff0c;满足多种使用场景。 市面上现有的一些NUC产品&#xff0c;不仅没有针对移动机器人使…

【数据结构】线性表(三)循环链表的各种操作(创建、插入、查找、删除、修改、遍历打印、释放内存空间)

目录 线性表的定义及其基本操作&#xff08;顺序表插入、删除、查找、修改&#xff09; 四、线性表的链接存储结构 1. 单链表 2. 循环链表 a. 循环链表节点结构体 b. 创建新节点 c. 在循环链表末尾插入节点 d. 删除循环链表中指定值的节点 e. 在循环链表中查找指定值的…

Java 中用的是值传递还是引用传递?

值传递&#xff08;Pass by Value&#xff09;和引用传递&#xff08;Pass by Reference&#xff09;是两种参数传递的方式。 值传递是指在调用函数或方法时&#xff0c;将参数的值复制给一个临时变量然后传递给函数或方法。在函数或方法内部&#xff0c;对参数进行修改不会影…

HZOJ-271: 滑动窗口

题目描述 ​ 给出一个长度为 N&#xfffd; 的数组&#xff0c;一个长为 K&#xfffd; 的滑动窗口从最左移动到最右&#xff0c;每次窗口移动&#xff0c;如下图&#xff1a; 找出窗口在各个位置时的极大值和极小值。 输入 ​ 第一行两个数 N,K&#xfffd;,&#xfffd;。 …