【HCIP学习】RSTP和MSTP

一、RSTP(Rapid Spanning Tree Protocol,快速生成树)

1、背景:RSTP从STP发展而来,具备STP的所有功能,可以兼容stp运行

2、RSTP与STP不同点

(1)减少端口状态

STP:disabled\blocking\listening\learning\forwarding

RSTP:

discarding:不发送配置BPDU,不进行MAC地址学习,不收发数据

learning:发送配置BPDU,进行MAC地址学习,不收发数据

forwarding:发送配置BPDU,进行MAC地址学习,收发数据

(2)增加端口角色

STP:指定端口、根端口、阻塞端口

RSTP:

根端口:

指定端口:

Alternate端口:替代端口,根端口的备份

Backup端口:备份端口,指定端口的备份

总结:有替代端口后,就算网络拓扑发生变化,也不会发生重新选举STP的情况,白白浪费30秒

(3)BPDU格式不同

RSTP中:

协议版本ID变为2;

BPDU type变为2;

使用了Flag字段的全部8位,而STP只使用了0号和7号两位;

增加version  1 length字段;(为了兼容STP)

(4)BPDU处理方式不同

每台交换机都能从指定端口发出RST BPDU,发送周期为hello time。不需要等待来自根桥的RST BPDU;

RST BPDU老化时间(max age)为3个连续的hello time时长;

阻塞状态收到低优先级RST BPDU的处理:会立即做出回应;

分析:当SWB和SWA的链路down时,SWB就暂时收不到来自根桥的RST BPDU,此时它认为自己是根桥。会向SWC发送RST BPDU告知自己是根桥,SWC收到后就很惊讶,明明根桥好着呢,然后会向SWB发送RST BPDU告知它,SWA是根桥。这就是阻塞状态收到低优先级RST BPDU的处理:会立即做出回应;

举例:相当于皇帝和太子的关系。有一天太子找不到皇帝了,就给大臣说

太子:皇帝不在了,现在我要登基了,我就是皇帝

大臣:听到后很惊讶,这皇帝不是好好的吗?得赶紧告诉太子这个消息。

(5)当网络拓扑发生变化时,RSTP可以更快地恢复网络连通性

3、RSTP的快速收敛机制

(1)边缘端口机制:

定义:直接和终端相连的端口

边缘端口可以直接进入转发状态,不需要延时,并不会触发拓扑改变,不会成环;

边缘端口收到BPDU后,会转变为非边缘端口,重新参与生成树计算;

(2)根端口的快速切换

根端口故障后,如果新的根端口对端的指定端口处于转发状态,则新的根端口立即进入转发状态,不需要向stp一样等30秒切换时间

过程:

网络收敛好后:(被阻塞的口是AP,根端口的替代端口)

当SWA和SWC之间的链路故障时:

(3)指定端口的快速切换--P/A机制

握手请求报文:proposal

握手回应报文:agreement

sw1新增链路或故障链路恢复,指定端口进入转发状态前,向对端sw2发送proposal报文(把P位置位为1的BPDU报文);

sw2收到proposal报文后,立刻进行同步操作,即把除了边缘端口和收到p置位的BPDU报文端口外,其他所有端口阻塞掉,同时防止临时环路;

同步完成后,向对端sw1发送Agreement报文;

收到Agreement报文后,sw1的指定端口进入转发状态;

sw2上被同步阻塞的端口继续进行P/A流程,直至整个网络收敛

临时环路的产生:

分析:sw2收到proposal报文后,立刻进行同步操作,即把除了边缘端口和收到p位置的BPDU报文端口外,其他所有端口阻塞掉。如果不阻塞掉,假设SW3和SW1相连,会在物理上形成一个环路

注:根和指定端口的快速切换有一个共同点:根端口选举好后,会跳过listening和learning,直接进入forwarding

RSTP故障切换时间一般是1秒左右

4、RSTP拓扑改变机制

(1)STP与RSTP拓扑改变机制区别

STP需发TCN BDPU到根桥,由根桥发送TC置位的BPDU报文给其他交换机,而RSTP是直接发送TC置位的 BPDU报文给其他交换机;

收到TC置位的BPDU,RSTP清除其他所有端口学习的MAC地址,而stp是缩短老化时间;

(2)注意:由于每台交换机都可以主动发起RST BPDU,所以取消了TCN机制

5、RSTP和STP的兼容

RSTP端口连续三次收到版本为STP的BPDU,则端口协议直接切换到stp协议;

切换成STP协议的RSTP端口将丧失快速收敛特性;

出现stp与rstp混用的情况,建议将stp设备放在网络边缘;

运行stp协议网桥移除后,由RSTP模式切换到stp模式的端口仍将运行在stp模式;

6、基本配置

【h3c】stp global enable   全局模式下,开启STP功能

【H3c-ethernet0/1】undo stp enable  如果确定某个端口不会存在环路,就可关闭该接口的STP功能

【h3c】stp mode{stp|mstp|rstp|pvst}  配置生成树的模式

【H3c-ethernet0/1]stp edged-port    配置边缘端口

【H3c-ethernet0/1]stp cost cost值   配置端口的COST值

【h3c】stp priority  优先级值

【h3c】stp pathcost-standard {dot1d-1998|dot1t|legacy}  改端口的开销标准

【h3c】stp timer hello 配置hello时间

hello time时间过长会造成,生成树计算消耗,对链路故障迟缓

hello time时间过短,会造成频繁发送配置消息,加重CPU和网络的负担

【h3c】stp timer max-age 时间

max age时间过长会造成,对链路故障迟缓,不能及时被发现;

max age时间过短会造成,在网络拥塞的时候交换机误认为链路故障,造成频繁的生成树重新计算;

【h3c】stp timer forward-delay 时间

时间过长会造成,生成树收敛太慢;

时间过短会造成,在拓扑改变的时候,引入暂时的路径环路;

二、MSTP(Multiple Spanning Tree Protocol,多生成树协议

1、MSTP产生的背景

STP与RSTP的局限:

两个都是单一生成树,所有VLAN共享一颗生成树,造成资源浪费;

无法实现不同VLAN在多条trunk链路上的负载分担;

2、定义:基于实例计算出多颗生成树,实例间实现负载分担

3、MSTP基本概念

MSTP分区域的好处:每个区域独立计算自己的生成树,减少网络拓扑层次,生成树计算时间大幅度缩短,方便每个区独立管理;

MST域:拥有相同MST配置标识的交换机构成的集合,划区域可加快收敛速度和方便管理,相同域的必要条件;

IST:内部生成树,默认存在,每个MST域独立计算的内部生成树实例

CST:公共生成树,默认存在。用来互联MST域的单生成树(把每个MST域作为一台交换机,计算出生成树实例)

CIST:公共内部生成树,默认存在。CST+每个域内部IST。

            实例0:默认所有VLAN都映射在实例0

MST:手动创建的生成树实例,只在一个区域内有效

CIST域根:每个IST的根网桥

CIST总根:整个CIST的根网桥

master端口:CST的根端口,单域MSTP中不可能存在Master端口,多域MSTP中,根域不可能存在Master端口,其他域只有一个;

MSTP 与RSTP的端口角色一样,新增了一个master端口

思考:只有一个域,还存在master端口吗?

答案:不存在

4、MSTP的BPDU格式=RST BPDU+MST专有字段(了解)

5、MSTP计算过程(了解)

先选举总根,再选举域根;

CIST和MST的计算是同步进行的;

在对比优先级向量时,先对比外部向量,再对比内部向量;

MSTP计算结果

6、MSTP中的P|A机制

上游桥发送proposal BPDU中,P、A标志位都置为1;

下游收到P标志位和A标志位的proposal BPDU,再将端口同步后会回应Agreement BPDU,此时A标志位为1,使得上游的定端口快速进入转发状态

特殊情况:SW1给SW2发送  P置位的BPDU,但SW2只认识P、A都置位的BPDU,所以这种情况下P/A机制失败了。失去了快速收敛的特性,只能通过30秒STP计算收敛网络。

解决RSTP和MSTP的P/A机制不兼容问题:

7、MSTP兼容性

当上游交换机是RSTP(根桥),当RSTP做快速转发时,只能发送P置位为1的BPDU报文,而下游的MSTP收到后,不会有任何反应,因为MSTP需要p|A双置位,会导致上游交换机收不到回复,不能进行P|A机制,不能快速收敛,只能等30秒收敛;

解决MSTP与RSTP兼容性用此命令:在下游设备设置【sw1-ethernet0/1】stp no-agreement-check;

【sw1-ethernet0/1】stp compliance{auto|dot1s|legacy}   配置MSTP的兼容性

auto  自动识别

dot1s  标椎格式

Legacy  与非标准格式兼容的格式

摘要侦听:

 全局开启:[h3c]stp config-digest-snooping

端口开启:[h3c-ethernet1/0/1]stp config-digest-snooping

其他厂商设备可能用私有秘钥计算配置摘要

开启摘要侦听使设备不再对比配置摘要,但会导致,只要域名和修订级别一致,VLAN映射关系不一致,也能属于同一个域

三、STP保护机制

1、BPDU保护:

针对边缘端口的保护:

技术背景:若边缘端口收到配置消息,将会转变为非边缘端口新参与生成树计算;使用pc伪造的BPDU报文恶意攻击,将导致频繁参与生成树计算,导致网络不稳定。

措施:启动BPDU保护功能后,如果边缘端口收到了配置消息,MSTP就将这些端口自动关闭。

配置命令:

[sw1]stp bpdu-protection

[sw1-ethernet1/0/1]stp edged-port

2、根桥保护:

技术背景:合法根桥收到优先级更高的BPDU,将失去根桥的角色,并重新引起STP计算

解决方案:设置根桥保护端口,一旦收到优先级更高的BPDU,则立刻将端口设置为lestening状态,不再转发。

配置命令:[sw1-ethernet1/0/1]stp root-protection

3、环路保护:

技术背景:环形链路拥塞,导致没及时收到BPDU,从而重新计算STP、开启阻塞端口,形成逻辑环路

解决方案:配置环路保护端口,当接受不到对端交换机的BPDU时,若端口参与了STP计算,则该端口进入discarding状态。

配置命令:[sw1-ethernet1/0/1]stp loop-protection

4、TC保护:

技术背景:在有伪造的TC BPDU报文恶意攻击设备时,设备短时间会收到很多TC BPDU报文,频繁的删除操作会给设备带来很大负担,给网络的稳定带来很大隐患。

解决方案:

设置设备在收到TC BPDU报文后的10秒内,记性地址表项删除操作的最大次数;

监控在该时间内收到的TC BPDU报文树是否大于门限值;

配置命令:

[sw1]stp tc-protection

[sw1]stp tc-protection threshold 数目

四、MSTP实验

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

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

相关文章

【Python搞定车载自动化测试】——Python实现CAN总线Bootloader刷写(含Python源码)

系列文章目录 【Python搞定车载自动化测试】系列文章目录汇总 文章目录 系列文章目录💯💯💯 前言💯💯💯一、环境搭建1.软件环境2.硬件环境 二、目录结构三、源码展示1.诊断基础函数方法2.诊断业务函数方法…

《最新出炉》系列入门篇-Python+Playwright自动化测试-40-录制生成脚本

宏哥微信粉丝群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 1.简介 各种自动化框架都会有脚本录制功能, playwright这么牛叉当然也不例外。很早之前的selenium、Jmeter工具,发展到每种浏览器都有对应的录制插件。今天我们…

python机器学习及深度学习在空间模拟与时间预测

原文链接https://mp.weixin.qq.com/s?__bizMzUyNzczMTI4Mg&mid2247628504&idx2&sn6fe3aeb9f63203cfe941a6bb63b49b85&chksmfa77a9e5cd0020f3aa4f01887e75b15096a182c2b5b42c1044787aa285c650f1469a0ef28aec&token2124656491&langzh_CN&scene21#we…

C++语法|虚函数与多态详细讲解(六)|如何解释多态?(面试向)

系列汇总讲解,请移步: C语法|虚函数与多态详细讲解系列(包含多重继承内容) 多态分为了两种,一种是静态的多态,一种是动态的多态。 静态(编译时期)的多态 函数重载 boo…

基于51单片机温度报警系统—数码管显示

基于51单片机温度报警系统 (仿真+程序+原理图+设计报告) 功能介绍 具体功能: 1.DS18B20采集温度,数码管显示温度; 2.温度测量范围:0-99度; 3.当温度低于…

NDIS小端口驱动开发(三)

微型端口驱动程序处理来自过度驱动程序的发送请求,并发出接收指示。 在单个函数调用中,NDIS 微型端口驱动程序可以指示具有多个接收 NET_BUFFER_LIST 结构的链接列表。 微型端口驱动程序可以处理对每个NET_BUFFER_LIST结构上具有多个 NET_BUFFER 结构的多…

阻塞信号集和未决信号集_代码实现

1. 程序验证内容 将编号为0,1,2添加到阻塞信号集中&#xff0c;i<信号编号时&#xff0c;发出信号&#xff0c;观察未决信号集状态 当解除阻塞后&#xff0c;原先的信号是否执行&#xff0c;执行顺序是什么 2. 代码实现 #include <unistd.h> #include <stdlib.h…

【全开源】海报在线制作系统源码(ThinkPHP+FastAdmin+UniApp)

打造个性化创意海报的利器 引言 在数字化时代&#xff0c;海报作为一种重要的宣传媒介&#xff0c;其设计质量和效率直接影响着宣传效果。为了满足广大用户对于个性化、高效制作海报的需求&#xff0c;海报在线制作系统源码应运而生。本文将详细介绍海报在线制作系统源码的特…

Spring AI实战之二:Chat API基础知识大串讲(重要)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos Spring AI实战全系列链接 Spring AI实战之一&#xff1a;快速体验(OpenAI)Spring AI实战之二&#xff1a;Chat API基础知识大串讲(重要)SpringAIOllama三部曲…

JavaFX学习教程二

一、JavaFX 体系结构 JavaFX 场景图(Scene Graph)是构建 JavaFX 应用程序的起点&#xff0c;一种树状数据结构&#xff0c;用于排列&#xff08;和分组&#xff09;图形对象&#xff0c;以便于逻辑表示。 stage:舞台&#xff0c;操作系统窗口的 JavaFX 表示&#xff0c;是所有…

Qt for android 获取USB设备列表(一)Java方式 获取

简介 QtActivity 作为 Qt 应用程序的入口点&#xff0c;负责启动和配置 Qt 应用程序的信息&#xff0c; 后面我们继承 QtActivity 做自定义控制&#xff0c;了解一下 Activity 生命周期概念&#xff0c; 因为 QtActivity 继承自Android的activity&#xff0c;使用周期函数完成我…

VMare下载安装

一.下载 1.百度搜索BROADCOM官网 打开官网&#xff1a; https://www.broadcom.com/​ 2.点击右上角&#xff0c;进行账号注册&#xff0c;注册好后&#xff0c;进行登陆 3.注册好后&#xff0c;进入个人界面&#xff1a;https://support.broadcom.com/#. 按下图所示点击进…

VMware虚拟机中ubuntu使用记录(10)—— 如何在Ubuntu18.04中使用自己的单目摄像头运行ORB_SLAM3(亲测有效,踩坑记录)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、ORB_SLAM3源码编译二、ORB_SLAM3实时单目相机测试1. 查看摄像头的话题2. 运行测试 三. 运行测试可能的报错1. 报错一(1) 问题描述(2) 原因分析(3) 解决 2. …

大作业爬取手机数据,实现手机推荐系统以及朋友圈手机论坛

1、功能简介 &#xff08;1&#xff09;用户注册与用户登录 &#xff08;2&#xff09;手机搜索、手机比拼、手机个性化推荐 &#xff08;3&#xff09;点击搜索的手机图片会就用户行为&#xff0c;轮播展示用户行为&#xff0c;推荐点击次数靠前的手机 &#xff08;4&#xf…

基于springboot+vue的智慧外贸平台

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

论文精读:HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face

HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face Status: Reading Author: Dongsheng Li, Kaitao Song, Weiming Lu, Xu Tan, Yongliang Shen, Yueting Zhuang Institution: 微软亚洲研究院&#xff08;Microsoft Research Asia&#xff09;, 浙江…

【408精华知识】指令的寻址方式

文章目录 一、指令寻址&#xff08;一&#xff09;顺序寻址&#xff08;二&#xff09;跳跃寻址 二、数据寻址&#xff08;一&#xff09;隐含寻址&#xff08;二&#xff09;立即&#xff08;数&#xff09;寻址&#xff08;三&#xff09;直接寻址&#xff08;四&#xff09;…

外卖系统源码开发全攻略:外卖小程序与后台管理系统的设计与实现

今天&#xff0c;小编将详细介绍外卖系统源码的开发全攻略&#xff0c;从需求分析到设计与实现&#xff0c;为开发者提供全面指导。 一、需求分析 1.用户需求 用户是外卖系统的核心&#xff0c;需满足以下基本需求&#xff1a; -浏览菜单并下单 -实时追踪订单 -多种支付方…

移动硬盘难题:不显示容量与无法访问的解决策略

在使用移动硬盘的过程中&#xff0c;有时会遇到一些棘手的问题&#xff0c;比如移动硬盘不显示容量且无法访问。这种情况让人十分头疼&#xff0c;因为它不仅影响了数据的正常使用&#xff0c;还可能导致重要数据的丢失。接下来&#xff0c;我们就来详细探讨一下这个问题及其解…

Python | Leetcode Python题解之第112题路径总和

题目&#xff1a; 题解&#xff1a; class Solution:def hasPathSum(self, root: TreeNode, sum: int) -> bool:if not root:return Falseif not root.left and not root.right:return sum root.valreturn self.hasPathSum(root.left, sum - root.val) or self.hasPathSum…