网络协议——RSTP(快速生成树)与MSTP(多实例生成树)

一. RSTP

1. STP的不足
  •      1、依靠计时器超时的方式进行收敛导致它的收敛时间需要30到50秒
  •      2、端口状态和端口角色没有细致区分,指导数据转发依靠的不是端口状态而是端口所扮演角色。
  •      3、如果拓扑频繁变化导致用户通信质量差,甚至通信中断,因此STP不能适用于不稳定的拓扑。(现网使用量很少)
  •      4、对此等BPDU的处理方式底下,依赖MAX age 20s的BPDU老化。
  •      5、与终端链接的端口也需要参与生成树计算,需要30s才能进入转发状态。
  • 2. RSTP做出的改进

     1、增加了预备端口和备份端口、减少状态机制。

 

     2、P/A机制:发起请求和回复同意的机制,不需要等待计时器超时

进行P/A机制的两个接口互相发送p/a置1的BPDU,上游的bpdu更优,.上游端口阻塞 ,下游停 止发送BPDU,

上游给下游发送p置-的bpdu, 下游收到后,阻塞所有的非边缘端口,下游端口转化为根端口并进入转发状态, 下游给上游发送A置1的bpdu,上游收到后,进入转发状态; .

     3、根端口和指定端口快速切换机制:预备端口作为根端口的备份、备份端口作为指定端口的备份、在RSTP计算之初就是另外的无环路径。

     4、边缘端口机制:将与终端设备链接的端口配置为边缘端,边缘端口不参与生成树计算直接进入转发状态。

     5、次优BPDU处理机制:当本端设备收到一个次优的BPDU时,会迅速将本地存储的最优的BPDU反馈给对端。

3. RSTP的保护机制

      1、BPDU保护:边缘端口收到BPDU后会变成普通端口,参与生成树计算,导致网络拓扑动荡。保护之后收到BPDU的端口直接关闭,需要管理员手工开启。

      2、根保护:由于根桥的角色是可以被强占的,收到更优的BPDU后拓扑会重新计算,从而导致拓扑震荡。保护之后收到更优的BPDU后会进入到初始化状态,长时间未收到更优的BPDU恢复正常。

      3、TC-BPDU泛洪保护:交换机收到TC-BPDU后老化自己的MAC地址表,为防止黑客伪造TC-BPDU的攻击,可以配置单位时间内的TC-BPDU泛洪次数。

      4、环路保护:由于光纤链路,收不到上游设备发送的BPDU,能发出去BPDU,导致产生的单点临时环路。保护后,一旦有单点故障会直接阻断该接口的通信。

4. RSTP配置
#
全局开启STP:stp enable        
配置STP模式为RSTP:stp mode rstp        
stp root primary:配置SWA为根桥
#
全局开启STP:stp enable        
配置STP模式为RSTP:stp mode rstp        
配置备份根桥:stp root secondray
全局开启BPDU防护,配合边缘端口一起使用:stp bpdu-protection
进入边缘接口:interface E 0/0/3    
配置端口为边缘端口:stp edged-port enable     
#
配置泛红次数保护:stp tc-protection threshold 5(在每个设备里面配置)
#
进入根端口: interface GigabitEthernet0/0/1
配置环路保护: stp loop-protection(在每个非根设备的根端口配置)
#
进入根桥的指定端口:interface GigabitEthernet0/0/2
配置根保护:stp root-protection (在根桥设备的指定端口配置)
#
其他命令:
禁用生成树:stp disable
开启生成树:stp enable
启用stp协议stp mode stp
查询stp简要信息:Display stp brief
设定开销确定阻塞端口:stp cost +数值

二. MSTP

1. MSTP的引出,STP/RSTP共同缺陷

        所有的vlan共享一棵生成树,导致部分vlan的数据无法通信

        阻塞的链路没有数据流通,导致带宽被浪费

2. MSTP的相关概念

       1. MSTP域及域根

       MSTP域:使能了MSTP,拥有相同的域名,相同的vlan映射关系,具有相同MSTP修订级别的网桥的集合

       MSTP域根:就是MSTP域内拥有最优ID的设备

3. CST/ISTCIST/SST/总根/主桥

        1.CST公共生成树:链接MST域之间的生成树

        2. IST内部生成树:每一个MST域内的生成树

        3.CIST公共和内部生成树:链接mstp域内的生成树,CST+IST=CIST

        4.SST单生成树:运行STP或RSTP生成树即只有实例0的映射

        5.总根:也就是CIST的根桥,即在整个MSTP域内最优的设备

        6.主桥:也就是IST的根桥,即在一个MST域内最优的设备

4. MSTIMSTI域根

        1.MSTI虚拟生成树:也就是MSTP域内的一个实例对应的生成树

        2.MSTI根:虚拟生成树的根桥

5. 新增的端口角色和比较向量

        1.MAST端口和域边缘端口

        MAST端口:其他MST域距离总根最优路径上的端口

        域边缘端口:连接MST域与MST域的端口被称之为域边缘端口

        2.CIST比较向量:总根ID,外部路径开销,域根ID,内部路径开销,对端设备ID,对端接口ID,本段接口ID

       IST,MSTI比较向量:域根ID,内部路径开销,对端设备ID,对端接口ID,本段接口ID

       3.MSTP的增强型P/A机制

       同时发送P置位和A置位BPDU,请求快速迁移端口状态和端口角色。下游身边认同上游发送的RST BPDU时自身的端口角色切换为根端口,并进入转发状态,同时回复A置位的MST BPDU上游设备收到后端口切换为指定端口并进入转发状态。

5. MSTP计算流程

      第一步先计算CST,第二步计算IST,得出CIST保证物理层面无环,第三步MSTI计算得出虚拟的生成树,直至MSTP计算完成

6. 配置流程
使能MSTP:  stp mode mstp
创建并进入MSTP域:stp region-configuration
指定域名:region-name huawei
实例vLAN映射关系:instance 1 vlan 10
实例vLAN映射关系:instance 2 vlan 20
实例vLAN映射关系:instance 3 vlan 30
实例vLAN映射关系:instance 4 vlan 40
用于提交配需:active region-configuration
实例0为根桥(物理层面): stp instance 0 root primary
实例1为根桥: stp instance 1 root primary
实例2为备份根桥: stp instance 2 root secondary
实例3为根桥: stp instance 3 root primary
实例4为备份根桥:stp instance 4 root secondary

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

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

相关文章

详解cmake简单语法与使用

注意:这是一篇cmake入门浅显的文章,深入学习的话没必要阅读。 CMake的使用流程及其语法非常丰富(其实就是过于灵活,一个项目一个风格,看上去相当麻烦),下面逐步介绍一些核心概念和常用命令&…

排序:冒泡排序,直接插入排序,简单选择排序,希尔排序,快速排序,堆排序,二路归并排序

目录 一.冒泡排序 代码如下 冒泡排序时间复杂度分析 二.直接插入排序 直接插入排序时间复杂度分析 直接插入排序优化:折半插入排序 三.简单选择排序 简单选择排序优化:双向选择排序 选择排序时间复杂度 双向选择排序时间复杂度 四.希尔排序 希…

rust学习(recursive mutex 实现)

问题: 编写如下代码的时候出现死锁: pub fn test_double_lock() {let t Arc::new(Mutex::new(1));let t1 t.clone();let t2 t.clone();let h std::thread::spawn(move || {println!("hello trace1");let l1 t1.lock().unwrap();println…

达梦的归档日志参数ARCH_RESERVE_TIME测试

达梦的参数ARCH_RESERVE_TIME测试 前面有提到和oracle相比,达梦的归档日志相关参数有个比较特别,可以通过设置它去规定归档日志的保留时间。 ARCH_RESERVE_TIME:归档日志保留时间,单位分钟,取值范围 0~2147483647。只…

黄金白银价格上涨是投资机会吗?

黄金和白银,作为历史悠久的贵重金属,一直以来都被投资者视为避险资产。近年来,随着全球经济环境的变动,我们观察到黄金与白银的价格不断攀升,这是否预示着投资机会的到来?今天,就让我们来深度探…

R+VIC模型融合实践技术应用及未来气候变化模型预测

在气候变化问题日益严重的今天,水文模型在防洪规划,未来预测等方面发挥着不可替代的重要作用。目前,无论是工程实践或是科学研究中都存在很多著名的水文模型如SWAT/HSPF/HEC-HMS等。虽然,这些软件有各自的优点;但是&am…

如何在 Ubuntu 14.04 上使用 Rsyslog、Logstash 和 Elasticsearch 实现日志集中管理

Elastic 的一篇文章 介绍 理解组织生成的数百万条日志行可能是一个艰巨的挑战。一方面,这些日志行提供了对应用程序性能、服务器性能指标和安全性的视图。另一方面,日志管理和分析可能非常耗时,这可能会阻碍对这些日益必要的服务的采用。 …

【软考】哈希表

目录 一、概念1.1 定义 二、哈希函数的构造方法2.1 说明2.2 特性 三、处理冲突的方法3.1 说明3.2 开放定址法3.2.1 说明3.2.2 线性探测 3.3 链地址法3.4 再哈希法3.5 建立公共溢出区 四、哈希表的查找4.1 查找过程4.2 查找特点4.3 装填因子 一、概念 1.1 定义 1.一般存储结构由…

Es中bool 查询中的四个(must must_not should filter)

1.must :相当于and 2.must_not :相当于not 3.should:相当于or 4. filter:过滤 gte 大于 gt大于 lte小于等于 lt小于 使用示例: {“bool”:{“must”:{“match”:{“title”:”how to make millons “}},“must_not”:{“match”:{“tag”:”spam“}},“should”:[{…

C++11 用户自定义字面量

在 C 中,operator"" 是用户定义字面量(User-Defined Literals)的一部分,它允许程序员扩展现有的字面量类型或者创建新的字面量类型。用户定义字面量是在 C11 标准中引入的特性,主要用于提供更易读、更具表达…

S7-1500F和S7-1200F安全PLC实现安全相关控制器与智能设备PN通信的程序示例

S7-1500F和S7-1200F安全PLC实现安全相关控制器与智能设备PN通信的程序示例 在TIA 安全系统中具有PROFINET接口的S7-1500F和S7-1200F CPU 之间可以进行安全相关的控制器与智能设备通信。 通信通过两个安全应用程序指令进行,即SENDDP指令用于发送数据,而RCVDP指令用于接收数据…

Redis+lua脚本限制ip多次输入错误密码

Redislua脚本限制ip多次输入错误密码 不能锁username,因为如果有人恶意保留破解密码的话。会导致用户本人无法登录。 这里我采用 以ip的方式进行锁定。利用redis 设置key:ip。value:当前ip尝试登录的次数 实现逻辑 逻辑简单,假设…

30个商业赚钱的思考(上)

从一名一线技术从业者,到如今技术创业者,不同角色,有了对技术更加深刻的认识和理解。所谓创业、所谓商业,本质就是打通产品、流量和变现的过程。​ 本小节精选30篇商业赚钱思考内容,覆盖商业、认知、营销、管理、创业…

centos7部署zabbix6.4.9

文章目录 [toc]一、环境准备1)部署lnmp2)修改配置文件3)安装数据库 二、部署zabbix1)下载zabbix2)安装zabbix服务端3)修改配置4)开机启动5)安装客户端 三、登录配置1)访问…

在Windows电脑上上传iOS应用至App Store

引言 📱 使用UniApp开发iOS应用十分便捷,一套代码即可兼容多个平台。然而,UniApp开发iOS应用需要进行证书打包和将IPA文件上传至App Store,这两个步骤通常需要在Mac电脑上完成。那么,如果我们使用的是Windows开发环境…

three.js跟着教程实现VR效果(四)

参照教程:https://juejin.cn/post/6973865268426571784(作者:大帅老猿) 1.WebGD3D引擎 用three.js (1)使用立方体6面图 camera放到 立方体的中间 like “回” 让贴图向内翻转 (2)使…

机器学习 —— 使用机器学习进行情感分析 详细介绍版

机器学习 —— 使用机器学习进行情感分析 详细介绍版 机器学习 —— 使用机器学习进行情感分析 演示版 目录 一、 绪论二、 数据处理1. 构建CSV文档2. 构建模型前的思考2.1. 问题2.2. 解决方法 3. 读取数据4. 用正则表达式来进行对特定符号的剔除5. 使用口袋模型进行文本处理和…

大厂面试:找出数组中第k大的数的最佳算法

一.前置条件 假如数组为a,大小为n,要找到数组a中第k大的数。 二.解决方案 1.使用任意一种排序算法(例如快速排序)将数组a进行从大到小的排序,则第n-k个数即为答案。 2.构造一个长度为k的数组,将前k个数复制过来并降序…

vscode 配置文件settings.json和c_cpp_properties.json的作用

前言 在 Visual Studio Code (VSCode) 中,settings.json 和 c_cpp_properties.json 都是配置文件,它们分别用于不同的目的。 settings.json settings.json 文件是 VSCode 的用户或工作区设置文件。它允许你自定义 VSCode 的各种行为和外观。 用户设置…

HarmonyOS开发实例:【状态管理】

状态管理 ArkUI开发框架提供了多维度的状态管理机制,和UI相关联的数据,不仅可以在组件内使用,还可以在不同组件层级间传递,比如父子组件之间,爷孙组件之间等,也可以是全局范围内的传递,还可以是…