八、RSTP

2023-11-03

STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量。如果STP网络的拓扑结构频繁变化,网络也会频繁失去连通性,从而导致用户通信频繁中断。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Protocol),RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。
简单来说,就是STP收敛时间太长了,影响到用户体验。为了解决这一问题,所以引入了另一个生成树协议:RSTP

RSTP

在这里插入图片描述

RSTP端口角色:

除了STP中的根端口、指定端口、预备端口外,RSTP中还存在另一种端口角色—Backup(备份端口)
在这里插入图片描述
除了以上端口角色以外,RSTP中还提供了另一种端口角色:边缘端口(Edge Port

在这里插入图片描述
边缘端口不用经过状态变迁,只要启动端口即为Forwarding状态。一般而言,为了用户上网感受,会将与用户主机相连的接口配置为边缘端口。

RSTP端口状态

在这里插入图片描述
如上图所示,RSTP中将STP中的前三个状态统称为Discarding(不转发)。

RSTP BPDU

在这里插入图片描述
STP的配置BPDU中Flag字段的中间6位在RSTP中得到了应用。(STP中只存在TCA和TC)。
在这里插入图片描述
RSTP中,非根桥设备无论是否接收到根桥发送的配置BPDU,都会按照hello timer规定的时间间隔发送配置BPDU。
STP中非根桥设备只有收到上游设备发送的配置BPDU才会触发配置BPDU。

RSTP收敛过程

1.
在这里插入图片描述
每一台交换机启动RSTP后,都认为自己是“根桥”,并且发送RST BPDU。所有端口都为指定端口,处于Discarding状态。

2.
在这里插入图片描述
交换机互相发送Proposal置位的RST BPDU。SWA收到SWB的RST BPDU(优先级低的),会忽略。

3.
在这里插入图片描述
SWB收到了更优的RST BPDU,于是停止发送RST BPDU,并开始执行同步(设置下游端口为指定端口、Discarding状态)。如图上所示。

4.
在这里插入图片描述
阻塞所有非边缘端口之后, SWB 将会发送一个Agreement 置位的RST BPDU。端口确认为根端口,并处于Forwarding状态。

5.
在这里插入图片描述
根桥收到agreement置位的RST BPDU后,指定端口立即从Discarding迁移到Forwarding。
P/A进程向下游继续传递,SWB 和SWC会继续进行收敛。

链路故障/根桥失效

在这里插入图片描述
链路故障或者根桥失效都会导致交换机收不到上游交换机发送的RST BPDU,在故障产生之后,交换机将会使用P/A机制进行重新协商。
在STP中,当出现链路故障或者根桥失效导致交换机收不到BPDU时,交换机需要等待max age时间后才能确定出现了故障。而在RSTP中,如果交换机的端口在连接3次hello timer规定的时间间隔内没有收到上游交换机发送的RST BPDU,便会确认对端口和本端口的通信失败,从而需要初始化P/A进程重新选举端口角色。

RSTP拓扑变化处理

在这里插入图片描述
其他交换机接收到TC置位的BPDU后,清空所有其他端口学习到的MAC地址,收到TC BPDU的端口不清空。

STP兼容

在这里插入图片描述
运行RSTP的交换设备在某端口上接收到运行STP的交换设备发出的配置BPDU,会把该端口转换到STP工作模式。一般而言,都会采用向下兼容(即向前面的版本进行兼容)

RSTP配置命令

stp mode rstp						//配置RSTP模式(默认为MSTP)
display stp 						//配置验证
interface Ethernet */*/*			//进入接口视图
stp edged-port enable 				//设置边缘端口

拓扑:
在这里插入图片描述
配置验证
在这里插入图片描述
在这里插入图片描述

根保护

在这里插入图片描述
根保护功能确保了根桥的指定端口不会因为一些网络问题而改变端口角色。比如说当SWA为根桥时,此时在SWA的另一个接口再接入一个优先级高的交换机(SWD),此时不想拓扑中的根桥发生变化,即可以在与SWA与SWD之间相连的接口配置根保护功能。保证SWA的根桥地位不变。
配置命令:

[SWA]interface GigabitEthernet  */*/* 
[SWA-GigabitEthernet0/0/1]stp root-protection

BPDU保护

在这里插入图片描述
配置BPDU保护功能后,如果边缘端口收到BPDU报文,边缘端口将会被立即关闭,并通知网管系统。被关闭的边缘端口可配置成自动恢复或管理员手动恢复。
配置命令:

[SWC]stp bpdu-protection

环路保护

在这里插入图片描述
根端口如果长时间收不到来自上游的BPDU,则进入Discarding状态,避免在网络中形成环路。

RSTP与STP的对比

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

八、RSTP 的相关文章

  • java对象创建过程(jvm)

    虚拟机遇到一条new指令时 开始进行对象的创建 1 检查这个指令的参数是否能在常量池中定位到一个类的符号引用 true 则继续下一步 false 说明这个类还没有被定义 会抛出ClassNotFoundException 2 检查这个符号引
  • centos7自定义镜像运行Flask

    一 centos7自定义镜像 1 支持22端口的sftp连接 参考链接 Centos7创建支持ssh服务器的docker容器 2 支持flask 上一步保存的镜像名为 centos7 dn 0119 docker run d p 8023
  • TCP通信过程详解以及tcp长连接和短连接

    1 TCP连接 当网络通信时采用TCP协议时 在真正的读写操作之前 server与client之间必须建立一个连接 当读写操作完成后 双方不再需要这个连接 时它们可以释放这个连接 连接的建立是需要三次握手的 而释放则需要4次挥手 所以说每个
  • Swing001——入门简介

    一 Swing简介 Swing是什么 Swing 是新一代的图形界面工具 特点 轻量级组件 采用纯 Java 实现 跨平台支持 不再依赖于本地平台的图形界面 更多的图形界面组件 可以开发出美观的图形界面程序 二 Swing 容器 创建图形用
  • word2vec

    Author kangbingbing Email kangb93 126 com Datawhale word2vec简介 Word2vec是Google实现word embedding的一种具体的方式 因为速度快效果好 而广为人知 而W
  • 一些好用的vscode插件

    一直用的sublime text 喜欢它的轻巧 不过最近试了下vscode 发现还是蛮中意的 插件生态丰富而且配置挺人性化 另外一些shortcuts功能确实提高编辑效率 缺点是如果安装太多插件 内存会飙高些 这里记下目前用的一些觉得不错的
  • 何为智能指针以及QT中的智能指针

    目的 对于指针的使用中有两个导致软件崩溃的问题 一是忘记释放动态申请的内存 二是指针指向的内存被释放 为了解决这个问题 出现了智能指针 效果 智能指针其实是一个类 在这个类的构造函数和析构函数实现以下功能 当有一个指针指向对象A时 计数器加
  • printf、sprintf、fprintf的区别

    printf sprintf fprintf的区别 int printf const char format int fprtintf FILE stream const char format int sprintf char str c
  • chromecast投屏_利用谷歌Chromecast,3个简单的步骤教你将手机投屏到电视上

    无论是在线观看电影 视频通话 展示度假照片还是在电视上玩游戏 把你的安卓 Android 手机的屏幕内容投屏到电视机上都很简单 放过你的家人和朋友们吧 与其让他们挤在你的Android手机或平板电脑的小屏幕上前浏览照片或观看最新的疫情播报视
  • python文件读写函数总结

    1 python读取csv文件 usr bin python coding UTF 8 df pd read csv filepath usecols func name para value df t df fillna value 对空
  • 线性回归算法及案例

    线性回归 寻找 一种能预测的趋势 回归问题的条件 前提 1 收集的数据 2 假设的模型 即一个函数 这个函数里含有未知的参数 通过学习 可以估计出参数 然后利用这个模型去预测 分类新的数据 案例 from sklearn datasets
  • DRBD分布式存储解决方案实战

    一 DRBD分布式存储解决方案 1 DRBD简介 DRBD的全称为 Distributed Replicated Block Device DRBD 分布式块设备复制 DRBD是由内核模块和相关脚本而构成 用以构建高可用性 HA 的集群 其
  • Cas5.3.2 服务端 自定义登入界面

    第一 项目整体结构 自定义页面涉及资源全部存放再src main resources 文件夹目录下 目录 含义 services 配置自定义登入网站模板 static 静态文件目录 用于存放js css代码的 templates 模板文件目
  • Linux mount 命令

    mount 命令用来挂载文件系统 其基本命令格式为 mount t type o options device dirdevice 指定要挂载的设备 比如磁盘 光驱等 dir 指定把文件系统挂载到哪个目录 type 指定挂载的文件系统类型
  • 使用Python,OpenCV执行视觉显著性检测(Visual Saliency Detection)

    使用Python OpenCV执行视觉显著性检测 Visual Saliency Detection 这篇博客将介绍如何使用Python OpenCV执行显著性检测 这是一个应用图像处理和计算机视觉算法来自动定位图像中最 显著 区域的过程
  • 使用python读取xml文件批量生成ground-truth标注图片

    目标检测中 在对比自己算法的检测效果时 需要和标注的真实值进行对比 在网上找到的大部分功能是一样的 只不过不完全符合画出真实标注的训练图片 import cv2 import numpy as np import xml dom minid
  • ASP.NET中新建Web网站并部署到IIS上(详细图文教程)

    场景 ASP NET中新建MVC项目并连接SqlServer数据库实现增删改查 https blog csdn net BADAO LIUMANG QIZHI article details 107024544 在上面实现了新建简单的MVC
  • String index out of range: 100 报错详解与解决方案

    问题出错情况 字符串截取长度 没有那么长的长度所以截取失败 在这里进行debug之后可以看到 异常在substring中 也就是判断字符串的时候报错 具体原因就是string字符串indexof的值本身只有5 然后在这里去取其第100 个字
  • MFC六大关键技术(4)——永久保存(串行化)

    MFC六大关键技术 第四部分 永久保存 串行化 先用一句话来说明永久保存的重要 弄懂它以后 你就越来越像个程序员了 如果我们的程序不需要永久保存 那几乎可以肯定是一个小玩儿 那怕我们的记事本 画图等小程序 也需要保存才有真正的意义 对于MF

随机推荐

  • Java项目之使用Bootstraptable批量操作

    Java项目之使用Bootstraptable批量操作 开发工具与关键技术 IntelliJ IDEA java 作者 刘剑鸿 撰写时间 2021 5 15 一开始认识一下bootstrap table插件介绍 它是一个基于bootstra
  • solr 服务器 配置文件,Solr的部署模式详解

    前言 本文介绍的Solr版本 solr 7 7 3 部署环境 windows Solr的两种部署模式 Solr程序包安装好后 可以以两种模式来启动solr服务器 Standalone Server 独立服务器模式 适用于数据规模不大的场景
  • 无人机运动场景下移动物体检测和跟踪系统

  • Python+pytest邮件发送测试报告,附件添加测试报告,邮件正文显示测试报告内容

    发送邮件测试报告 这个可以直接复制粘贴代码 都通用 我这个文件里还有其他的代码 导入的包比较多 单说发邮件的话 只导入邮件相关的几个就可以了 coding utf 8 import smtplib import time from emai
  • 真实项目案例实战——【状态设计模式】使用场景

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 写在前面 设计模式源于生活 而又高于生活 什么是状态模式 状态模式允许一个对象在其内部状态改变的时候改变其行为 这个对象看上去就像是改变了它的类一样 状态模式应用场景 1
  • Jetson XAVIAR NX 上安装tensorflow

    目录 JetPack 版本 安装过程 异常处理 1 train 时提示scikit learn 错误 2 tensorflow lite infer 时提示invoke 错误
  • TensorFlow学习(5)数据结构 & 自定义组件(损失函数,激活函数,初始化,正则化和约束,层)

    神经网络架构进一步学习 TensorFlow模型花园 1 数据结构 在使用之前先要导入tensorflow import tensorflow as tf 1 1 张量 1 1 1 通过直接传入创建 使用tf constant 创建张量 p
  • leetcode 5. 最长回文子串(c++)

    题目 思路分析 中心扩向两边的思想 根据回文串的性质 如str aba 从b出发 往两边同时遍历并比较字符是否相同即可 令left i 1 right i 1 那么依次比较str left str right 是否成立 如成立 继续比较 若
  • DASH(QTUM)Java对接

    下载钱包 https github com dashpay dash releases download v0 15 0 0 dashcore 0 15 0 0 win64 setup exe 配置文件 rpcuser rpcpasswor
  • 银行卡交易手续费介绍

    文章目录 转接清算费 转接清算费双向计收 转接清算费单向计收 交换费 转接清算费 银行卡清算机构收取的网络服务费 对于跨境交易的转接清算费是包含跨境交易服务费在内的多项费用合计金额 转接清算费双向计收 每笔交易银联分别向收单机构和发卡机构收
  • springboot整合Druid+mybatis

    Druid Springboot集成Druid方案 一个是在POM中直接配置druid spring boot starter 不用写任何代码 一个是配置druid 写几行代码 可以加入 在方案一基础上加入stat wall后进行验证登录
  • 特征筛选之特征递归消除法及Python实现

    特征递归消除法 特征递归消除法 Feature Recursive Elimination 简称RFE 是一种特征选择的算法 它通过反复训练模型 并剔除其中的弱特征 直到达到所需的特征数量 该算法的步骤如下 首先 将所有的特征都输入模型 得
  • 【总结】【C++11】禁止拷贝新方法与相关知识点

    原理 依据 https isocpp github io CppCoreGuidelines CppCoreGuidelines Rc copy virtual C 67 A polymorphic class should suppres
  • Qt入门-下拉列表框QComboBox类

    QComboBox是QT GUI中的下拉列表框 class Q GUI EXPORT QComboBox public QWidget Q OBJECT 常用方法和属性 1 addItems void addItems const QStr
  • JavaWeb学习-02(response和request)

    JavaWeb学习 02 response和request 一 request对象 1 HttpServletRequest是ServletRequest的子接口 request对象用于接收客户端传递过来的请求内容 通过该对象的各种方法来获
  • weak_ptr 智能指针的使用

    目录 一 weak ptr 变量的定义 二 expired 成员函数 三 lock 成员函数 四 use count 成员函数 五 为什么要用 weak ptr 一 weak ptr 变量的定义 weak ptr 对象的构造有3种方法 1
  • 软件测试面试面对HR提出的问题,怎么回答才不会被面试官“套路”

    面试中 如何回答HR提出的问题很大程度上决定了面试能不能成功 下面是软件测试人员在面试过程中经常被问到的10个问题 告诉你怎么回答才不会被面试官套路 请你做一个自我介绍 误区 一般人回答这个问题过于平常 只说姓名 年龄 爱好 工作经验 这些
  • 深度学习中的优化算法之NAG

    之前在https blog csdn net fengbingchun article details 124648766 介绍过Momentum SGD 这里介绍下深度学习的另一种优化算法NAG NAG Nesterov Accelera
  • 【航模】凤凰模拟器安装

    固定翼飞手3 1 航模入门教程 凤凰模拟器的安装与初始设置 航模模拟器详细教程 到群里下载凤凰模拟器 并按照视频进行安装 群里的文件安装方式相比自己CSDN里面介绍的安装方式更省力 DirectX它能够自己进行安装 自己的天地飞6遥控器是右
  • 八、RSTP

    STP协议虽然能够解决环路问题 但是收敛速度慢 影响了用户通信质量 如果STP网络的拓扑结构频繁变化 网络也会频繁失去连通性 从而导致用户通信频繁中断 IEEE于2001年发布的802 1w标准定义了快速生成树协议RSTP Rapid Sp