RSTP/MSTP 笔记和配置实验

RSTP:  Rapid Spanning Tree Protocol (802.1w)

一、问题:  Why RSTP 可以快速切换?
1、端口角色增加:  两种到五种 

    从 STP 的两种角色:
    DP:Designated Port
    RP:Root Port
    ====================
    增加到了五种角色:
    AP:Alternative Port,用于替代 RP 的端口
    BP:Backup Port,用于备份 DP 的端口
    判断 AP、BP 的关键是保存在端口中的最优 BPDU 是从哪里来的,if 来源于对方,此端口为AP;if 来源于自己,此端口为BP。以前STP的阻塞端口现在分成两个预先选举好的角色,一个 BP、一个AP,BP 相当于是 DP 的备份,A P相当于是 RP 的备份端口,这样预先选举好的角色端口,就免去了 15s 的等待时间,快速收敛
    EP:Edge Port,边缘端口,仅用于终端接口,平时只转发数据,EP 收发 BPDU
    a、EP 跳过 Listening 和 Learing ,直接进入 Forwarding 状态,down --> up ,秒切
    b、EP 如果收到 对方的 BPDU,则端口转变为正常 STP 端口,Discarding --> Learning --> Forwarding
    c、EP 端口不会被同步(阻塞)
    d、EP 不会触发 TC、转发 TC、不会受 TC 影响

2、STP 端口状态减少,  由五种精简到 RSTP 的三种:

    ┌───────────┬──────────┐
    │       STP               │          RSTP      │
    ├───────────┼──────────┤ 
    │ Disable                │                          │
    │ Blocking              │    Discarding     │
    │ Listing                 │                          │
    ├───────────┼──────────┤
    │ Learning              │    Learning        │
    ├───────────┼──────────┤
    │  Forwarding         │    Forwarding    │
    └───────────┴──────────┘

        * 端口之间最本质的区别在于端口的角色,而不在于端口状态

3、BPDU发送方式变化:

    1)STP:
    只有根桥能产生 Config BPDU,其他非根交换机转发 config bpdu
    STP 默认层数7层:7*2s转发时间 + 3*2s Hello时间=20s 接口BPDU 老化时间
    2)RSTP:
    RSTP/MSTP 专用 BPDU:Rapid/Multiple BPDU,不再存在Config BPDU
    每个交换机都可以发专用 BPDU,这样就没有7*2s转发时间,仅剩下 3*2s 的 hold 时间(思科的),华为再乘以、时间因子,用 stp time-factor 配置,默认为3,就是18s(为了避免网络震荡,稳定一些)

4、增加了 rstp flag 

    bit0:  TC:Topology Change Flag 拓扑变更标志
    bit1:  Proposal,  P=1 表示能否成为你的DP
    bit2、bit3:端口角色:
        0    0:unknown
        0    1:ap/bp
        1    0:rp
        1    1:dp
    bit4、bit5:端口状态
        Forwarding    Learning
        1        1    Forwarding
        0        1    Learning
        0        0    Discarding
    bit6:  Aggrement 同意成为自己的DP,  和bit1 一起,  表示 P/A 机制
    bit7:TCA:Topology Change Acknowledgment Flag 拓扑变更公告

5、增加了 Link Type 链路类型:

    p2p:点对点
    Non p2p:非点对点
    当链路类型为p2p时,A=1,可以快速切换,秒切
    当链路类型为non p2p时,A=0,正常切换(30s)
    1)默认:根据双工
    全双工,接口类型为p2p
    半双工,接口类型为non p2p
    2)手工指定:stp point-to-point auto | force-false | false-true    #强制为默认 | 非点对点 | 点对点

6、快速切换机制:

    1)连接终端的接口:EP快速:秒切
    2)直连链路切换:
    RP down,同交换机的 AP 立刻切换为 RP,发 BPDU,秒切
    3)非直连链路切换:P/A 机制,
            当RP发生变化,为了防临时环,会引发同步机制:非EP端口,进入DP Discarding)
            过程:1、RP down,引发同步机制,DP进入 DP Discarding,进行 P/A 机制,向对端发  P=1、A=1的 BPDU 包;
            2、if 对端离根桥更近,存的 RP 的 BPDU 更优,AP 收到包,发现是次级 BPDU,也进行 P/A 机制,回复 P=1、A=1 的包;
            3、收到包的交换机收到更优的 BPDU 包,同意秒切,由 DP Discarding 变为 RP Fording,发 P=0、A=1 的包
            4、对端收到包,从 DP Discarding 变为 DP Forwarding 

    if 需要切回来(根桥先发):
            1、如果 DP 连 RP 线路恢复,根桥原来断开的 DP Discarding 端口进行 P/A,发 P=1、A=1的包;
            2、对端端口状态变为 RP Forwarding,RP变化触发同步机制;
            3、同交换机的 DP Forwarding 变为 DP Discarding,并回复给连接根桥的 RP 口 P=0、A=1 的包,根桥端口变为 DP Forwarding
            4、同交换机的 DP 向对端进行 P/A 机制,发 P=1、A=1 的包,由于比对端的DP优,对端变为AP Discarding,并不回应包
            5、同交换机等待30s切换到DP Forwarding状态

    总结:
            DP---->RP,秒切
            DP---->AP,等待30s

            TC:Topology Change 拓朴变更:拓扑变更后,由于MAC地址老化时间长(5minutes),导致流量转发出现问题
            解决方案:TCM:Topology Change Mechanism 拓扑变更机制
    TCA:TC Flag 的 0 位

        7、STP/RSTP的触发条件不同:

            STP 的触发条件:T 点接口发生变更后(Up 或者 Down),下游设备的RP端口会不断向上游设备发送TCN BPDU报文(TC置位1,第7个bit)
            上游设备收后,把TCA位置1,发给下游设备,告知已经收到,同时复制一份TCN BPDU向根桥方向发送,直到根桥收到TCN BPDU 报文
            根桥把Flag中的TC和TCA同时置1后发送,TC置1是为了通知下游设备直接删除桥MAC地址表项,TCA置1是为了通知下游已收到,停发TCN BPDU

        RSTP的触发条件:
            一个非EP端口迁移到Forwarding状态
            一旦检测到拓扑变化,将启动一个TC While Timer计时器(Hello Time的两倍),在这时间内,清空所有端口上的MAC表项。同时由所有的非EP端口发送RST BPDU,其中TC置位,其他收到的,重复操作,操作时间均为TC While Timer计时器时间内(病毒式泛洪式扩散)

二、MSTP(802.1s)华为 stp 默认模式:

region:行政区域:
    1、name 域名
    2、revision-level 修订号
    3、vlan 映射表(Instance 和 Vlan 的映射 关系)
    以上3个一致,则为同一区域(单域),实现:
    1、防环
    2、冗余 
    3、快速切换
    4、最优
    5、负载

条件实现:
    1、所有交换机都具有相同instance,且vlan映射一致
    2、所有交换机instance name相同
    3、所有交换机修订号一样

总根:--instance 0 root ----ist root
    ist root---总根 ----\
                                    >单域中,ist和msti0重合
    ist root---ist域根--/
    
域根可以有多个:MSTIxx

三、MSTP配置示例:

        1、配置思路:

        a、交换机环境配置:每个交换机开启vlan batch 10 20,配置 vlanif 10 接口为 1.1.1.x/24,vlanif 20 接口为2.2.2.x/24;  交换机默认 stp 开启,  默认模式为 mstp ,  这里省略配置
        b、交换机1、2、3、4 开启域配置,  配置 stp 实例,  instance 1 绑定 vlan 10,  instance 2 绑定 vlan 20,  并激活域配置
stp region-configuration
  region-name A
  instance 1 vlan 10
  instance 2 vlan 20
  active region-configuration
        c、配置 sw1 为 instance 1 的根桥,sw2 为 instance 2 的根桥
stp instance 1 root primary
stp instance 2 root lsecondary
        d、配置 sw3 的 2 口为 instance 2 的阻塞端口,sw4 的 2 口 为 instance 2 的阻塞端口(配置端口开销值为更大,如 20000)
stp pathcost-standard leagcy
int G0/0/2
  stp instance 2 cost 20000
        e、在 sw3 和 sw4 上的 DP 端口配置根保护

多域:vlan不一致的场景下,可以做多域
总根域:所有交换机,RootID最小的,0最小 
域根:到达总根域最优的边界交换机,以累加外部cost来计算
Master Bridge 主桥:Instance 0 的域根就是主桥
    主桥以Instance 0来计算,域根以各个Instance x来计算
    vlan x 划入 Instance n 以后,域内走域根(个性化选路),域间走主桥
过程:先根据外部cost选总根CST,然后域根被选出,然后各个域里再选择IST
多域的优点:
    隔离

保护
1、EP保护:用于连接终端,一旦收到bpdu就失去EP功能,进入error-down状态,防止进入拓扑选举,全局或者端口下配置:
    1)bpdu-protection:bpdu保护
    stp bpdu-protection
    自动恢复:
    error-down auto-recovery cause bpdu-production interval x(秒)
    dis error-down recovery
过滤:
1、bpdu-filter:bpdu过滤
    针对ep端口,一旦配置过滤,不收发bpdu(慎用,防止有环路)
    全局或者端口下配置

2、Root Protection 根保护,仅配置在 DP 上,防止失去根桥失去root bridge地位:


        int G0/0/1
          stp root-protection
        在 DP 接口上配置,一旦收到更优的 bpdu,进入 Discarding 状态,两个 Forward Delay 后,if 未再收到,再重新进入 Forwarding 状态

3、loop-protection 环路保护:防止因拥塞的原因而进入根桥重新选举,从而形成的环路
        配置在非 DP 端口,AP和BP上配置环路保护


 

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

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

相关文章

java项目之网上商城系统设计与实现(源码+文档)

项目简介 网上商城系统设计与实现实现了以下功能: 网上商城系统设计与实现的主要使用者管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,还进行了对用户名称的模糊查询的条件。 💕…

虚拟机Linux+Ubuntu操作系统 如何在虚拟机上安装docker VMPro 2024在线激活资源

一般情况下 不建议在windows系统上安装docker Windows本身就自带一个虚拟机叫WSL 但是不推荐在日常使用的电脑上安装 我们要下一个虚拟机 我们在window上安装docker会被告知WSL内核太老 我们要一个专业的 隔离的虚拟机软件 推荐使用虚拟机 这是我们的虚拟机软件 我们这边…

音视频推流中使用wireshark进行抓包分析RTMP

一、前期工作 最近使用开发板采集音视频数据合成FLV流后进行推流到PC端(RTMP协议),PC端需要安装对应的nginx以及支持rtmp的nginx,在网上找了教程后安装成功,现在使用wireshark工具对开发板于pc端之间的通信协议进行解析…

计算架构模式之负载均衡技巧

通用负载均衡算法 负载均衡算法 -轮询 & 随机 如果服务器挂掉了,那么负载均衡器还是可以感知到的,因为连接已经断掉了。 负载均衡算法-加权轮询 假设你有4核的和8核的,由于你的程序没有办法跑完CPU,那么有可能出现4核的和8核…

计算机网络30——Linux-gdb调试命令makefile

1、开始调试 编译时带-g为调试,带调试信息编译后的可执行文件更大 2、进入调试 使用gdb 可执行文件名——进入调试 失败版: 成功版: 3、l命令 l什么都不加——列出10行代码 l 行号——行号的行在中间,向上向下展示10行 4、st…

Modbus协议03:Modbus功能码和协议分类

视频链接:【3】Modbus协议功能码说明_哔哩哔哩_bilibili【3】Modbus协议功能码说明是【直播回放】小白也可以听懂的Modbus协议讲解的第3集视频,该合集共计4集,视频收藏或关注UP主,及时了解更多相关视频内容。https://www.bilibili…

关于使用Mybatis-Plus 自动填充功能失效问题

关于使用Mybatis-Plus 自动填充功能失效问题 关于使用Mybatis-Plus 自动填充功能失效 首先遇到的第一个问题 自动填充失败 或被填充为NULL 原因:字段类型 与 填充类型 不一致导致 解决方法:将类型替换成一致的类型 全部为Date 或 LocalDateTime 即可解…

Flutter Web首次加载时添加动画

前言 现在web上线后首次加载会很慢&#xff0c;要5秒以上&#xff0c;并且在加载的过程中界面是白屏。因此想在白屏的时候放一个加载动画 实现步骤 1.添加以下<style>标签内容到<head>标签中 <style>.loading {display: flex;justify-content: center;ali…

python容器四之字典

文章目录 1. 字典介绍2. 使用字典3. 字典的常见操作3.1 添加元素3.2 删除元素3.3 修改元素3.4 查找元素 4. 字典遍历方法4.1 遍历字典元素 5. 公共运算符6. 公共方法 1. 字典介绍 先来看看现实生活中的字典。我们知道&#xff0c;可以应用字典来查找汉字。 在这里插入图片描述…

openstack之cinder介绍

概念 cinder 为虚拟机提供管理块存储服务。支持的文件系统&#xff1a;lvm、iscsi、nfs、san、RBD 组件构成及功能介绍 cinder api&#xff1a;在控制节点运行&#xff0c;管理服务的接口&#xff0c;被命令行、其他组件调用&#xff1b; cinder scheduler&#xff1a;类似n…

HTML标签优先级

HTML&#xff08;HyperText Markup Language&#xff09;标签的位置对于页面的结构、性能以及可维护性至关重要。合理安排标签的位置不仅有助于提高网页的加载速度&#xff0c;还能使得代码更加清晰易懂。以下是一些关于HTML标签放置的基本规则和建议&#xff1a; 1. 文档类型…

【查看谷歌浏览器的个人文件路径】

查看谷歌浏览器的个人文件路径 chrome://version/

第307题|快速掌握 反常积分敛散性判定的方法|武忠祥老师每日一题

解题思路&#xff1a;先判断这个反常积分的敛散性&#xff0c;再讨论a的取值范围; 判断反常积分的敛散性&#xff0c;我们通常有三个方法&#xff1a; &#xff08;1&#xff09;根据定义&#xff0c;通常在原函数比较好求的情况下&#xff0c;可以根据定义 &#xff08;2&am…

Windows上指定盘符-安装WSL虚拟机(机械硬盘)

参考来自于教程1&#xff1a;史上最全的WSL安装教程 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/386590591#%E4%B8%80%E3%80%81%E5%AE%89%E8%A3%85WSL2.0 教程2&#xff1a;Windows 10: 将 WSL Linux 实例安装到 D 盘&#xff0c;做成移动硬盘绿色版也不在话下 - 知乎 (z…

React源码学习(一):如何学习React源码

本系列源码学习&#xff0c;是基于 v16.13.1&#xff0c;v17.x与v16.x区别并不太大&#xff01; 一、如何正确的学习React源码&#xff1f; 找到Github&#xff0c;转到React仓库&#xff0c;fork / clone源码&#xff1a;React 查看Readme&#xff0c;在Documentation中有Cont…

昇思MindSpore AI框架MindFormers实践3:ChatGLM3-6B对一段文字进行提取

MindSpore和MindFormers安装参见&#xff1a;昇思AI框架实践1:安装MindSpoe和MindFormers_miniconda 安装mindspore-CSDN博客 使用了MindSpore2.2和MindFormers1.0 支持的模型&#xff1a; KeyError: "model must be in odict_keys([gpt2, gpt2_lora, gpt2_xl, gpt2_xl…

2024.9.14 Python与图像处理新国大EE5731课程大作业,马尔可夫随机场和二值图割,校正立体图像的深度

1.马尔科夫随机场和二值图割 马尔可夫随机场&#xff08;MRF, Markov Random Field&#xff09;&#xff1a; MRF 是一种用来描述图像像素之间空间关系的概率模型。它假设图像中的像素不仅取决于自身的值&#xff0c;还与周围像素有关。这种模型经常用于图像分割、去噪等任务。…

51单片机 - DS18B20实验1-读取温度

上来一张图&#xff0c;明确思路&#xff0c;程序整体裤架如下&#xff0c;通过单总线&#xff0c;单独封装一个.c文件用于单总线的操作&#xff0c;其实&#xff0c;我们可以把点c文件看成一个类操作&#xff0c;其属性就是我们面向对象的函数&#xff0c;也叫方法&#xff0c…

iPhone 16预售已开,沙漠金色最抢手,喜提新机后别忘了这件事!

9月13日20点&#xff0c;iPhone 16系列正式开启官方预购。今年全新的iphone16不仅新增相机按钮和AI功能&#xff0c;还增加了沙漠金配色。“加量不加价”的iPhone 16系列开售依旧火爆&#xff0c;iPhone 16系列开售1分钟内&#xff0c;苹果官方网站一度被消费者买到崩&#xff…

(Python+selenium)UI自动化测试

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 前言 我们在进行UI自动化测试时&#xff0c;一般采用javaselenium或者pythonselenium的方式。由于python比较简单&#xff0c;上手快&#xff0c;因此建议大家采…