华为配置 之 STP

news2024/10/28 8:46:24

目录

简介:

STP:

RSTP:

如何改变根网桥:

(1)改变优先级:

(2)改变root:

各端口的状态:

总结:


简介:

        STP(Spanning Tree Protocol | 生成树协议)是交换式以太网中的重要概念和技术,该协议的目的是实现交换机之间冗余连接的同时避免网络环路的出现,实现网络的可用性;生成树协议通过阻断相应端口来消除网络环路

        它在交换机之间传递BPDU(Bridge Protocol Data Unit | 桥接协议数据单元),互相告知诸如:交换机的BID、链路开销和根桥ID等信息,以确定根桥,从而决定将哪些端口置于转发状态,将哪些端口置于阻断状态,用于消除环路

STP:

(1)环路引起的问题:

  • 交换机通信产生环路:交换机之间通过多条链路互连时,虽然能够提升网络可靠性,但同时也会带来环路问题。而环路会带来一系列的问题,继而导致通信质量下降和通信业务中断等问题。
  • 广播风暴:环路会引起广播风暴;网络中的主机会收到重复数据帧。交换机性能会因此急速下降,导致业务中断。
  • MAC地址表震荡:环路会引起MAC地址表震荡。交换机根据所接收到的源地址和接收端口生成MAC地址表项的。

(2)STP的作用:

  • 逻辑上断开环路,防止广播风暴的产生
  • 当线路出现故障,断开的接口被激活,恢复通信,起备份线路的作用

(3)STP的算法:

        STP将一个环形网络生成无环拓扑结构的步骤为:

  • 选择根网桥(Root Bridge)
  • 选择根端口(Root Ports)
  • 选择指定端口(Designated Ports)

(4)选择根网桥的依据:

        1>网桥ID(BID)

  • 网桥ID是唯一的,交换机之间选择BID值最小的交换机作为网络中的根网桥
  • 选择根网桥的目的是为了给将生成的树形结构确定一个树根
  • 网桥优先级取值范围:0 - 61440
  • 缺省值为:32768
  • 默认网桥为:32768,网桥优先级需要被2整除,还需要被16的整除 ,还需要最小值是4096

(5)STP的5种端口状态:

  • Disabled(禁用状态):该端口不参与生成树计算,也不会转发数据帧。(不会发送BPDU、不会接收BPDU,不会学习MAC地址、不会转发数据)
  • Discarding(阻塞状态):该端口为非指定端口,也不会参与数据帧的转发,该端口通过接收BPDU来判断根交换机的位置和根ID,以及在STP拓扑收敛结束之后,各交换机端口应该处于什么状态,在默认情况下,端口会在这种状态下停留20秒钟的时间。(不会发送BPDU、会接收BPDU,不会学习MAC地址、不会转发数据)
  • Listening(侦听状态):生成树此时已经根据交换机所接收到的BPDU而判断出了这个端口应该参与数据帧的转发,于是交换机端口就将不再满足于接收BPDU,而同时也开始发送自己的BPDU,并以此通告邻接的交换机端口会在活动拓扑中参与转发数据帧的工作,在默认情况下,该端口会在这种状态下停留15秒钟的时间。(会发送BPDU、会接收BPDU,不会学习MAC地址、不会转发数据)(中间态)
  • Learning(学习状态):该端口准备参与数据帧的转发,并开始填写MAC表;默认情况下,端口会在该状态下停留15秒钟的时间。(会发送BPDU、会接收BPDU,会学习MAC地址、不会转发数据)(中间态)
  • Forwarding(转发状态):该端口已经成为了活动拓扑的一个组成部分,它会转发数据帧,并同时收发BPDU(会发送BPDU、会接收BPDU,会学习MAC地址、会转发数据)

(6)STP的计时器

  • 交换机开机需要等待30秒的时间以便开始转发数据
  • 当某个正在使用的链路段掉,阻塞的端口需要50秒的时间转变为转发状态,开始转发数据
  •  STP规定:一个端口从阻塞状态进入到侦听状态需要20s(Maxage | 最大老化时间);一个端口从侦听状态进入到学习状态需要15s;一个端口从学习状态进入到转发状态需要15s(15s + 15s = 30s | 转发延迟),因此,一个阻塞端口从阻塞状态最终恢复至转发状态,共需要50s


RSTP:

        RSTP(快速生成树协议),当网络拓扑发生变更的时候,快速生成树协议(802.1w)能显著加快重新计算生成树的速度

(1)RSTP定义了其他端口角色:

  • 替代端口:替代的是自身的根端口,若根端口出现故障,则替代端口将成为新的根端口
  • 备份端口:备份的是自身的指定端口,若当前的指定端口出现故障,则备份端口将成为新的指定端口

(2)定义了三种端口状态:

  • 丢弃状态
  • 学习状态
  • 转发状态

如何改变根网桥:

(1)改变优先级:

SW1:

SW2:

SW3:

通过查看你三个交换机的stp,可以发现他们的优先级都是一样的,并且MAC地址最小的是SW2,所以SW2是根网桥,如果我想让SW1当根网桥,可以修改他的优先级为4096,配置如下:

这个时候根网桥就是SW2了

配置命令如下:

[Xzzzz911]stp priority ?
  INTEGER<0-61440>  Bridge priority, in steps of 4096

[Xzzzz911]stp priority 4096
[Xzzzz911]dis stp

(2)改变root:

依旧在上面的拓扑图的基础上,修改SW3为根网桥,只需修改他的root

配置命令如下:

[Xzzzz911]stp root ?
  primary    Primary root switch       #根桥
  secondary  Secondary root switch     #备份根桥

[Xzzzz911]stp root pri	
[Xzzzz911]stp root primary 
[Xzzzz911]dis stp

各端口的状态:

SW1的端口:

SW2的端口:

SW3的端口:


总结:

(1)三种生成树协议的比较

(2)BPDU报文解读

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

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

相关文章

【数据分析】Power BI的使用教程

目录 1 Power BI架构1.1 Power BI Desktop1.2 Power BI服务1.3 Power BI移动版 2 Power Query2.1 Power Query编辑器2.2 Power Query的优点2.3 获取数据2.4 数据清洗的常用操作2.4.1 提升标题2.4.2 更改数据类型2.4.3 删除错误/空值2.4.4 删除重复项2.4.5 填充2.4.6 合并列2.4.…

JAVA面试八股文(五)

#1024程序员节&#xff5c;征文# 在1024程序员节这个特别的日子里&#xff0c;首先&#xff0c;我想对每一位程序员表示最诚挚的祝贺&#xff01;祝愿大家在未来的日子里&#xff0c;能够继续热爱编程、追求卓越&#xff0c;携手共创更美好的科技未来&#xff01;让我们共同庆祝…

基于Django+python的酒店客房入侵检测系统设计与实现

项目运行 需要先安装Python的相关依赖&#xff1a;pymysql&#xff0c;Django3.2.8&#xff0c;pillow 使用pip install 安装 第一步&#xff1a;创建数据库 第二步&#xff1a;执行SQL语句&#xff0c;.sql文件&#xff0c;运行该文件中的SQL语句 第三步&#xff1a;修改源…

Luma API 的使用

Luma 是一个专注于高质量视频生成的平台&#xff0c;用户只需上传素材&#xff0c;即可根据不同的风格和效果自动生成高质量的视频。该 AI 视频生成器是由来自知名科技公司的团队开发&#xff0c;旨在让每个人在不使用复杂编辑工具的情况下&#xff0c;轻松制作优秀的视频。 然…

docker sameersbn/bind dns服务器

1. 安装 #下载docker 镜像 docker pull sameersbn/bind#运行 53端口若被占用会启动失败 docker run --name dns -d --restartalways \ --publish 53:53/tcp \ --publish 53:53/udp \ --publish 10000:10000/tcp \ -v /etc/localtime:/etc/localtime \ -v /data/bind/:/data \…

Semantic Kernel进阶:创建和管理聊天(ChatCompletion)历史记录对象(四)

一、引言 在构建基于Semantic Kernel的AI应用时&#xff0c;聊天历史记录对象&#xff08;Chat History&#xff09;是维护对话上下文和连续性的关键。本文将一步步指导你如何创建和管理聊天历史记录对象&#xff0c;从而为你的AI代理提供一个强大的对话管理工具。 二、聊天…

java平方根计算 C语言指针变量

1. public static void main(String[] args) { Scanner scnew Scanner(System.in);System.out.println("请输入你的数&#xff1a;"); int numsc.nextInt();for (int i 1; i < num; i) {if (i*inum){System.out.println(i"就是"num"的平方根"…

基于Python的B站视频数据分析与可视化

基于Python的B站视频数据分析与可视化 爬取视频、UP主信息、视频评论 功能列表 关键词搜索指定帖子ID爬取指定UP主的主页爬取支持评论爬取生成评论词云图支持数据存在数据库支持可视化 部分效果演示 爬取的UP主信息 关键词搜索爬取 指定UP主的主页爬取 指定为黑马的了 爬取视…

ubuntu2204配置cuda

ubuntu2204配置cuda ✅系统版本&#xff1a;ubuntu22.04 LTS ✅显卡&#xff1a;英伟达2070S ✅CPU&#xff1a;i9 10900 ✅主板&#xff1a;戴尔品牌机 教程&#x1f4a8;&#x1f4a8;&#x1f4a8;&#x1f4a8;&#xff1a; ps&#xff1a;本人按照该方法一遍成功&#…

Python的协程与传统的线程相比,是否能更有效地利用计算资源?在多大程度上,这种效率是可测量的?如何量化Python协程的优势|协程|线程|性能优化

目录 1. 协程与线程的基本概念 1.1 线程 1.2 协程 2. 协程的实现原理 2.1 基本示例 3. 协程与线程的效率对比 3.1 资源利用率 3.2 性能测试 4. 使用场景分析 4.1 适用场景 4.2 不适用场景 5. 性能监测与测量 5.1 使用时间记录 5.2 使用第三方库 6. 总结与展望 P…

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——15.C++11(1)

1. 自动类型推导 (auto) C11 引入了 auto 关键字&#xff0c;可以根据初始值的类型自动推导变量的类型&#xff0c;从而减少了手动声明类型的繁琐。例如&#xff1a; std::vector<int> vec {1, 2, 3, 4}; auto it vec.begin(); // 自动推导类型为 std::vector<in…

C++类和对象 (中)

文章目录 前言一. 类的默认成员函数1.1 构造函数概念特点 1.2 析构函数定义与特点作用注意 1.3 拷贝构造函数概念特性 2. 赋值运算符重载2.1 运算符重载特性注意 2.2 赋值运算符重载定义特性 2.3 流运算符重载概念注意 3. 日期类实现4. const成员函数概念注意 5. 取地址运算符重…

【c++丨STL】string模拟实现(附源码)

&#x1f31f;&#x1f31f;作者主页&#xff1a;ephemerals__ &#x1f31f;&#x1f31f;所属专栏&#xff1a;C、STL 目录 前言 一、头文件&#xff08;成员变量与函数声明&#xff09; 二、源文件&#xff08;功能实现&#xff09; 交换两字符串 构造函数 拷贝构造…

人工智能进程;算子加速的具体计算部分;大模型GPT5:参数18万亿;大模型面临问题

目录 人工智能进程 算子加速的简单理解,举例说明 一、简单理解 二、举例说明 一、算子加速的具体计算部分 二、举例说明 三、算子加速是否仅针对GPU 大模型GPT5:参数18万亿 大模型面临问题 算力集群设计框架 人工智能进程

【c++高级篇】--多任务编程/多线程(Thread)

目录 1.进程和线程的概念&#xff1a; 1.1 进程&#xff08;Process&#xff09;&#xff1a; 1.2线程&#xff08;Thread&#xff09;&#xff1a; 1.3 对比总结&#xff1a; 2.多线程编程&#xff1a; 2.1 基于线程的多任务处理&#xff08;Thread&#xff09;&#xf…

jenkins ssh 免密报错Host key verification failed.

jenkins 发布项目&#xff0c;ssh连接远程服务器时报错&#xff1a;Host key verification failed. 解决&#xff1a; 原因是生成的sshkey不是用的jenkins用户&#xff0c;所以切换用户到&#xff1a;jenkins重新生成sshkey su jenkins ssh-keygen -t rsa ssh-copy-id -i ~/…

Linux: Shell编程入门

Shell 编程入门 1 ) Shell 概念 shell 是 在英语中 壳, 外壳的意思可以把它想象成嵌入在linux这样的操作系统里面的一个微型的编程语言不像C语言, C 或 Java 等编程语言那么完整&#xff0c;它可以帮我们完成很多自动化任务例如保存数据监测系统的负载等等&#xff0c;我们同样…

MATLAB生物细胞瞬态滞后随机建模定量分析

&#x1f3af;要点 基于随机动态行为受化学主方程控制&#xff0c;定量分析单细胞瞬态效应。确定性常微分方程描述双稳态和滞后现象。通过随机性偏微分方程描述出暂时性滞后会逐渐达到平稳状态&#xff0c;并利用熵方法或截断方法计算平衡收敛速度的估计值。随机定量分析模型使…

什么是字节序、大小端、高低字节、高低地址?

目录 1. 什么是字节序&#xff08;Endianness&#xff09;&#xff1f; 2. 什么是大小端&#xff08;Big-Endians and Little-Endian&#xff09;&#xff1f; 3. 什么时候需要用到大小端的概念&#xff1f; 4. 如何确认系统的大小端模式&#xff1f; 5. 什么是大小端定义…

[LVGL] MessageBox

该例子用lvgl9 来测试&#xff0c;对话框从底部升上来。当点击关闭或者确认按键时&#xff0c;会向绑定对象发送按键事件&#xff0c;参数 100/101. /*** file lv_demo_test.c**/#include "stdio.h" #include "stdlib.h" #include "lvgl.h"#ifde…