HCIP —— 快速生成树 (RSTP)

2024-03-25 23:28
文章标签 快速 生成 hcip rstp

本文主要是介绍HCIP —— 快速生成树 (RSTP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RSTP --- 802.1w --- 快速生成树

主要针对STP的收敛速度进行改进升级。

RSTP 改进点:

1.更改端口角色

2.修改端口状态

3.对配置的BPDU的报文内容进行修改:P/A机制   (核心机制)

4.对配置的BPDU的处理方式

5.快速收敛机制 (总结)

6.拓扑变更,重新收敛机制

1.更改端口角色

生成树端口角色:根端口、指定端口、非指定端口

快速生成树端口角色:根端口、指定端口、替代端口、备份端口

非指定端口 ——   > 替代端口、备份端口

替代端口:

相当于根端口的替代通过和对端端口比较配置BPDU,则参数不优,导致落选的端口。如果根端口故障,将直接选择设备的替代端口最好的直接成为新的根端口,则直接进入转发状态(Forwarding)

备份端口:

备份指定端口(连接集线器(物理层设备),可能导致自环)。因为自身发送的配置BPDU导致阻塞端口,如果指定端口故障,将直接选择设备替代端口最好的端口,直接成为新的指定端口,则直接进入转发状态。

2.修改端口状态

                                                                STP与RSTP端口状态的对比

根据图可知,RSTP端口状态中把Listening侦听、Blocking阻塞、Disabled禁用 三个状态合成一个 Discarding 丢弃状态,但是总体的工作过程未发生改变。

Alternate ---- 替代端口   backup ---- 备份端口

3.对配置的BPDU的报文内容进行修改:P/A机制   (核心机制)

STP中,Flag 只用到了 Bit7 和 Bit0

RSTP中,启用了中间六位:

Agreement : A 位

Forwarding: 若置 1 ,则进入转发状态

Learning: 若置1 ,则进入学习状态

Port Role : 00  --- 刚开始建立生成树还没有确定端口,保留结果  

01  ---  Alternate替代 / Backup备份 端口  10  --- 根端口   11 --- 指定端口

Proposal:P位

RSTP 将选举角色的过程变更成 两两交换机之间的行为,优先级高的设备会发送一个P位  置1的RSTP - BPDU,请求该端口直接进入 转发 状态,对端设备收到后,将进入  “同步状态”  --- 将自身其他没有角色的端口进行直接关闭(保证在此期间内不会产生临时环路)

4.对配置的BPDU的处理方式

STP只有根桥每2S为周期发送配置BPDU,而在RSTP所有的设备均可以发送 RST - BPDU完成角色的选举。 Max age 减少为3个周期发送RST - BPDU 的时间,即 2S*3=6S。

5.快速收敛机制 (总结)

RSTP修改端口角色

非指定端口  —— > 替代端口:相当于根端口的替代。  通过和对端端口比较配置BPDU参数不优,导致落选的端口。如果根端口故障,将直接选择设备的替代端口最好的直接成为新的根端口,则直接进入转发状态

备份端口:备份指定端口   (连接集线器时,可能导致自环(物理层设备)):因为自身发送的配置BPDU导致阻塞端口,如果指定端口故障,将直接选择设备替代端口最好的直接成为新的指定端口,则直接进入转发状态

边缘接口 (交换机与PC端直接相连的接口)  --- 设置边缘接口,仅仅是 不让这个接口参与生成树的选举。

[sw5 - g0/0/0]stp edged-port enable --- 将连接PC的端口配置为边缘端口,快速进入转发状态,该发BPDU 依然会发。

[sw5-g0/0/4]stp bpdu-filter enable --- 不让交换机接口发送BPDU  --- 类似沉默接口

[sw5]stp bpdu-protection --- BPDU 保护

万一配置错误,交换机对交换机,一旦配置为边缘端口的接口收到BPDU,那么该接口将直接变成普通端口,重新进行生成树的选举。

6.拓扑变更,重新收敛机制

如果拓扑发生变化,首先感知到变化的设备,直接将自身的Mac地址表清空,然后和对端直连设备发送TC位置1的RST - BPDU 告知其他设备清空自身Mac地址表,如果有数据发送,则重新记录。


 

这篇关于HCIP —— 快速生成树 (RSTP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/846587

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快

C/C++随机数生成的五种方法

《C/C++随机数生成的五种方法》C++作为一种古老的编程语言,其随机数生成的方法已经经历了多次的变革,早期的C++版本使用的是rand()函数和RAND_MAX常量,这种方法虽然简单,但并不总是提供... 目录C/C++ 随机数生成方法1. 使用 rand() 和 srand()2. 使用 <random

Flask 验证码自动生成的实现示例

《Flask验证码自动生成的实现示例》本文主要介绍了Flask验证码自动生成的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 目录生成图片以及结果处理验证码蓝图html页面展示想必验证码大家都有所了解,但是可以自己定义图片验证码

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase