当前位置: 首页 > news >正文

MSTP 多生成树协议

MSTP 多生成树协议

STP/RSTP 的局限性

  • 所有 vlan 共享一颗生成树
  • 无法实现不同 vlan 在多条 Trunk 链路上的分担
    • 二层链路负载均衡
image-20250719110204414

STP/RSTP 的局限——次优二层路径

image-20250719110615108

**次优二层路径(Suboptimal Layer 2 Path) 是指: ** 数据帧在交换网络中传输时,没有走 最优的、最短的或带宽最高的路径,而是走了 一条绕行的、效率较低的路径

说白了就是,其实 3700 --> 5700-B 才是最优路径,但是由于 STP 的原因,这条链路被堵塞了,只能走 3700 --> 5700-A --> 5700-B 这条路径,这条路径并不是最优的。

MSTP 的基本概念及优势

MSTP 的定义

  • MSTP(Multiple Spanning Tree,多生成树协议)
  • 基于实例计算出多颗生成树,实例间实现负载分担
  • MSTP 标准协议为 IEEE802.1s
image-20250719111629378

MST 域

  • MST 域(MST Region):拥有相同 MST 配置标识的网桥构成的集合
    • 域名
    • 配置修订号
    • VLAN 与实例映射关系
image-20250719112027433

CST、IST、CIST、总根和域根 – 实例0

image-20250719112758032
  • CST:公共生成树

    • 跨 MSTP 域的生成树
    • 负责在不同 MSTP 域之间构建无环路径
    • CST 是整个网络中的一棵生成树,不考虑 VLAN,只考虑域之间的连接
  • IST:内部生成树

    • 每个 MSTP 域内部的一棵生成树
    • 所有未被映射到其他 MST 实例的 VLAN 都默认属于 IST
    • IST 就是 MST Instance 0
    • IST 负责域内的生成树计算
  • CIST:公共与内部生成树

    • 整个网络中的一棵“主生成树”
    • 由所有 MSTP 域的 IST(即 Instance 0) 和 域之间的 CST 构成
    • CIST 是 MSTP 网络中的全局生成树
    • 所有 VLAN 如果未被映射到其他 MST 实例,都走 CIST 路径
  • 总根

    • CIST 的根桥(Root Bridge)
    • 是整个网络中 CIST 的“最高优先级桥”
    • 所有 MSTP 域都会选举出一个“通往总根”的路径
    • 通常由网络中优先级最高的交换机担任
  • 域根

    • 某个 MSTP 域中 CIST 的根桥
    • 在一个 MSTP 域内,CIST 的根桥就是域根
    • 域根是通往总根的“第一跳”
  • 实例0

    • MSTP 中的默认实例
    • 所有未被映射到其他 MST 实例的 VLAN 都属于 Instance 0
    • Instance 0 就是 IST(Internal Spanning Tree)
    • 所有 MSTP 域必须有一个 Instance 0
    • Instance 0 构成了整个网络的 CIST

MSTI和MSTI域根

image-20250719114838217
  • MSTI:多生成树实例

    • MSTP 允许你将多个 VLAN 映射到一个 MSTI
    • 每个 MSTI 是一个独立的生成树,可以有自己独立的根桥、路径和拓扑
    • 这样就可以为不同的 VLAN 设置不同的转发路径,实现 负载均衡路径优化
  • MSTI域根

    • 每个 MSTI 在一个 MSTP 域中都有一个“域根”

    • 这个域根是该 MSTI 在该域中的根桥

    • 域根是通往“总根(CIST Root)”的入口

    • 与“总根”的区别

      总根(CIST Root)整个网络整个 MSTP 网络中 CIST 的根桥,全局唯一
      MSTI 域根(Regional Root)每个 MSTP 域每个 MSTI 在域内的根桥,域内唯一
  • MSTI 域根的作用

路径控制每个 MSTI 可以有自己独立的根桥,实现路径优化
负载均衡不同 MSTI 走不同路径,提高带宽利用率
域内转发MSTI 域根是该 MSTI 在域内的“主控桥”
域间转发域根负责将 MSTI 的流量传递给其他域

MSTP中的端口角色

  • Master端口

    • IST根桥在CIST上的根端口
  • 其他端口角色的定义和RSTP相同

image-20250719124430009

MSTP工作原理

  • MSTP的BPDU格式
image-20250719124525460

CIST的优先级向量

  • CIST优先级向量={RootID:ERPC:RRootID:IRPC:DesignateBridgeID:DesignatePortID:RcvPortID}

  • 比较原则:最小最优

    • 首先比较CIST总根ID
    • 其次比较CIST外部开销
    • 再次比较CIST域根ID
    • 再其次比较CIST内部路径开销
    • 再其次比较CIST指定桥ID
    • 再其次比较CIST指定端口ID
    • 最后比较CIST接收端口ID

MSTI的优先级向量

  • MSTI优先级向量={RRootID:IRPC:DesignateBridgeID:DesignatePortID:RcvPortID}
  • 比较原则:最小最优
    • 首先比较MSTI域根ID
    • 其次比较MSTI内部路径开销
    • 再其次比较MSTI指定桥ID
    • 再其次比较MSTI指定端口ID
    • 最后比较MSTI接收端口ID

MSTP计算方法

  • CST/IST的计算和RSTP类似
  • MSTI的计算仅限于区域内
  • MSTI计算参数包含在IST BPDU中,和IST的计算同步完成
image-20250719131136741

CST计算

image-20250719131219597

IST计算

image-20250719131255588

MSTI计算过程-Region1

image-20250719131406462

MSTI计算过程-Region2

image-20250719131456134

MSTP计算结果

image-20250719131559215

MSTP计算结果及分析

image-20250719131631198 image-20250719131656154

MSTP的P/A机制

  • 上游桥发送的Proposal BPDU中,P标志位和A标志位都置位
  • 下游收到P标志位和A标志位都置位的Proposal BPDU,在终端口头同步后会回应Agreement BPDU,使得上游的指定端口快速进入转发状态
image-20250719131930379

MSTP兼容性

MSTP和RSTP的互操作

  • RSTP桥将MSTP域看做一个桥ID为域根ID的RSTP桥
  • 实例0就是标准的RSTP,MSTP使用实例0与STP/RSTP对接
image-20250719132134384

MSTP工作模式

image-20250719132231997

典型配置案例

MSTP组网应用

  • MSTP单域多实例组网
    • 某局域网分为核心层、接入层两个层次,运行MSTP协议
    • SW1为实例0和实例1的根网桥,SW2为实例2的根网桥,实现局域网二层流量负载
image-20250719132514091

MSTP基本配置 - 物理拓扑

image-20250719132551604

MSTP基本配置 - 配置SWA的MST域参数

image-20250719132715637

MSTP基本配置 - 设置RSTP点到点链路和边缘端口

image-20250719132808484

MSTP基本配置 - 验证MSTP基本信息

image-20250719132847931 image-20250719132906641

保护机制

保护特性分类

  • BPDU保护
  • 根桥保护
  • 环路保护
  • TC保护

保护需求—边缘端口受到攻击

  • 如果一个边缘端口接收到配置消息,将从边缘端口转换成非边缘端口,从而导致生成树重新计算
image-20250719133112436

BPDU保护机制

  • 启动了BPDU保护功能后,如果边缘端口收到了配置消息,MSTP就将这些端口关闭
image-20250719133218482

根桥的错误切换

  • 合法根桥收到优先级更高的配置消息,失去根桥的地位,引起网络拓扑结构的变动
image-20250719133328616

根桥保护机制

  • 对于设置了根保护功能的端口,一旦该端口收到某实例优先级更高的配置消息,立即将该实例端口设置为指定端口、侦听状态,不再转发报文
image-20250719133513551

配置根桥保护

  • 根桥保护命令
image-20250719133558800

环路的产生

  • 由于链路拥塞或者单向链路故障,端口会收不到上游设备的BPDU报文。此时下游设备重新选择端口角色,会导致环路的产生
image-20250719133728125

环路保护机制

  • 配置了环路保护的端口,当接收不到上游设备发送的BPDU报文时,环路保护生效
  • 如果该端口参与了STP计算,则无论其角色如何,该端口在所有实例都将处于Discard ing状态
image-20250719133916251

TC攻击

  • 在有伪造的TC-BPDU报文恶意攻击设备时,设备短时间内会收到很多的TC-BPDU报文,频繁的删除操作给设备带来的分担很大,给网络的稳定带来很大的隐患
image-20250719134048424

TC保护机制

  • 设置设备在收到TC-BPDU报文后的10秒内,进行地址表项删除操作的最多次数
  • 监控在该时间段内收到的TC-BPDU报文数是否大于门限值
http://www.dtcms.com/a/287040.html

相关文章:

  • 零基础学后端-PHP语言(第一期-PHP环境配置)
  • 题解:CF1690G Count the Trains
  • 【C++基础】--多态
  • PortSwigger Labs 之 点击劫持利用
  • Go语言流程控制(if / for)
  • 编程研发工作日记_廖万忠_2016_2017
  • 从零构建监控系统:先“完美设计”还是先“敏捷迭代”?
  • Java Web项目Dump文件分析指南
  • 白话深度学习:一副PPT入门CNN,ResNet和Transformer
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十三课——图像直方图和灰度图像叠加的FPGA实现
  • 14-链路聚合
  • ZeroMQ中的REQ/REP模式:分布式系统的同步调用之道
  • JavaSE -- 数据操作流
  • 比亚迪古德伍德亮相:从技术突破到文化对话
  • 【53】MFC入门到精通——MFC串口助手(二)---通信版(发送数据 、发送文件、数据转换、清空发送区、打开/关闭文件),附源码
  • SDIO协商,枚举,CMD等概念
  • SSM框架——Day4
  • 文件管理-文件控制块和索引节点
  • 深入解析Linux文件描述符:原理、机制与应用实践
  • 光伏系统遮挡分析与设计优化策略
  • 网络基础12--可靠性概述及要求
  • b-up:Enzo_Mi:深度学习基础知识
  • 回归预测 | MATLAB实现SA-BP模拟退火算法优化BP神经网络多输入单输出回归预测
  • 7.19 pq | 并查集模板❗|栈循环|数组转搜索树
  • CCF编程能力等级认证GESP—C++4级—20250628
  • Nestjs框架: 关于controller中的常用装饰器
  • 3.3 参数传递方式
  • 写case杂记
  • Glary Utilities(系统优化工具) v6.20.0.24 专业便携版
  • JavaSE -- 数组详细讲解(数组介绍,Arrays常用方法,二维数组创建)