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

16.多生成树MSTP

多生成树MSTP

课程目标

  • 了解RSTP/STP的局限

  • 掌握MSTP的基本概念

  • 掌握MSTP的工作原理

  • 掌握MSTP的配置

  • 掌握各种保护机制的原理及配置

STP/RSTP的局限性

所有VLAN共享一颗生成树

  • 无法实现不同VLAN在多条Trunk链路上的负载分担
    • 二层链路负载均衡

在这里插入图片描述

次优二层路径

  • 最优路径被阻塞,vlan间通信无法实现使用最有路径

在这里插入图片描述

部分vlan不通

  • 在某条链路上只允许vlan2通信,则vlan间通信不成功

MSTP的基本概念及优势

1 MSTP的定义

MSTP(Multiple Spanning Tree,多生成树协议)

  • 基于实例计算出多颗生成树,实例间实现负载分担

    • 每个实例对应一个或多个 VLAN
  • MSTP兼容RSTP和STP

    • 可以实现快速收敛

    • 提供数据转发的多个冗余路径

    • 在数据转发过程中实现vlan数据的负载均衡

  • MSTP标准协议为IEEE802.1s

    • RSTP标准协议为IEEE802.1w
    • STP标准协议为IEEE802.1d
  • 特性

    • 每个生成树实例(MSTI)独立计算拓扑
    • 支持 VLAN 到生成树实例的映射。

在这里插入图片描述

  • 不同的实例之间独立,不相互影响

MSTP可以将一个或多个VLAN映射到一个Instance(实例),再基于实例计算生成树,映射到同一个实例的VLAN共享同一颗生成树

在这里插入图片描述

  • 生成树实例(MSTI)

    • 每个实例对应一个或多个 VLAN,独立计算生成树拓扑

    • 示例

      • Instance 1:包含 VLAN 1-10
      • Instance 2:包含 VLAN 11-20
  • 端口角色
    • 根端口(R):到根桥路径开销最小的端口
    • 指定端口(D):负责向网段转发 BPDU 的端口
    • 阻塞端口:被阻塞的端口,不转发用户数据
  • 左侧拓扑(Instance 1)

    • 根桥:SW1(Instance 1 的根桥)。

    • VLAN 映射:Instance 1 包含 VLAN 1-10。

    • 数据流量路径:SW3 → SW1 → 终端设备(PC)。

    • 端口角色

      • SW1 的端口:指定端口(D)。
      • SW2 的端口:根端口(R)和指定端口(D)。
      • SW3 的端口:根端口(R)和阻塞端口()。
  • 右侧拓扑(Instance 2)

    • 根桥:SW2(Instance 2 的根桥)。

    • VLAN 映射:Instance 2 包含 VLAN 11-20。

    • 数据流量路径:SW3 → SW2 → 终端设备(PC)。

    • 端口角色

      • SW1 的端口:根端口(R)和指定端口(D)。
      • SW2 的端口:指定端口(D)。
      • SW3 的端口:根端口(R)和阻塞端口()

多实例负载分担

  • 通过将不同 VLAN 映射到不同的生成树实例,实现流量的负载分担
  • 示例:VLAN 1-10 的流量沿 Instance 1 的拓扑转发(SW3→SW1→PC),VLAN 11-20 的流量沿 Instance 2 的拓扑转发(SW3→SW2→PC)

次优二层路径问题

在传统的 STP(生成树协议)环境中,所有 VLAN 共享同一个生成树实例,导致所有流量都沿同一棵生成树转发。这可能造成次优路径

  • 解决方法
    • 网关设置
      • VLAN1-10 的网关设置在 SW1
      • VLAN11-20 的网关设置在 SW2
    • 流量转发路径
      • VLAN1-10 的流量沿 Instance 1 的拓扑转发(SW3→SW1→网关)
      • VLAN11-20 的流量沿 Instance 2 的拓扑转发(SW3→SW2→网关)

MST域

MSTP把一个交换网络划分成多个域,每个域形成多颗生成树,生成树之间彼此独立

MST域(MST Region):拥有相同MST配置标识的网桥构成的集合

  • 域名

  • 配置修订号

  • VLAN与实例映射关系

在这里插入图片描述

  • 三个参数一致时,表明在同一域内

2 MSTP的组成

MSTI实例

核心概念

  • 一个MST域内可以生成多可生成树,每颗生成树都称为一个MSTI
  • 实例 0(Instance 0)
    • 对应 IST(内部生成树),是 MSTP 中的默认生成树实例。

    • 特性

    • 所有未显式映射到其他实例的 VLAN 默认属于实例 0。

    • 实例 0 是 MST 域内的公共生成树,确保域内所有 VLAN 的基本连通性。

实例 0 的作用

  • 默认生成树实

    • 所有未显式映射到其他实例的 VLAN 自动属于实例 0

    • 示例:若 VLAN 1 未映射到任何实例,默认属于实例 0

  • 域内连通性

    • 实例 0 确保 MST 域内所有 VLAN 的基本连通性,即使未配置其他实例

    • 示例:MST 域内的交换机通过实例 0 的拓扑,确保 VLAN 1 的流量能够正确转发

  • 与 CST 的交互

    • 实例 0(IST)与 CST(公共生成树)共同构成 CIST(公共和内部生成树),确保跨域连通性

    • 示例:MST 域间的流量通过 CST 转发,域内流量通过实例 0(IST)转发

实例 0 与其他实例的区别

特性实例 0(IST)其他实例(MSTI)
VLAN 映射未显式映射的 VLAN 默认属于实例 0显式映射的 VLAN(如 VLAN 2→Instance 2)
生成树计算每个 MST 域独立计算每个实例独立计算(跨域时共享 CST)
作用确保基本连通性,处理未映射 VLAN优化特定 VLAN 的流量转发路径
收敛速度与 RSTP 相同(毫秒级)与 RSTP 相同(毫秒级)

CST、IST、CIST、总根和域根

  • 多实例支持:每个 MSTI 独立计算拓扑,支持 VLAN 到实例的灵活映射

  • 跨域连通性:CST 确保不同 MST 域之间的连通性

  • 根桥优化:总根和域根的设计,确保全网和域内的拓扑最优

在这里插入图片描述

核心概念

  • CST(公共生成树)

    • 连接不同 MST 域的生成树,确保跨域的连通性

      • 如果把每个MST域看作是一个节点,CST就是这些节点通过生成树协议计算生成的一颗生成树
    • 特性

      • 所有 MST 域共享同一个 CST
      • 用于连接不同的 MST 域(如 Region 1、Region 2 等)
  • IST(内部生成树)

    • 每个 MST 域内的生成树,处理未映射到其他 MSTI 的 VLAN

    • 特性

      • 每个 MST 域有独立的 IST
      • 未映射到其他 MSTI 的 VLAN 默认属于 IST
  • CIST(公共和内部生成树)

    • CST 和所有 IST 的集合,形成整个网络的生成树

    • 特性

      • 包含所有 MST 域的 IST 和跨域的 CST
      • 确保全网无环且连通
  • SST(单生成树)

    • 运行生成树协议的交换设备只能属于一个生成树
    • MST域中只有一个交换设备,这个交换设备构成单生成树
  • 总根(CIST Root)

    • CIST 的根桥,整个网络的逻辑中心

    • 特性

      • 所有 MST 域的 IST 和 CST 以总根为基准计算路径
  • 域根(CIST Regional Root)

    • 每个 MST 域内的根桥,负责域内的生成树计算。

    • 特性

      • 每个 MST 域有独立的域根
      • 域根到总根的路径开销最小
对比维度IST 域根MSTI 域根
实例类型固定为实例 0(默认实例,不可删除)用户自定义实例(如实例 1、2…,可按需创建 / 删除)
VLAN 覆盖范围所有未映射到其他 MSTI 的 VLAN(默认 VLAN)仅映射到该 MSTI 的特定 VLAN
数量一个 MST 域内仅 1 个(实例 0 唯一)每个 MSTI 对应 1 个,一个域内可多个(与 MSTI 数量一致)
作用保障默认 VLAN 的基础连通性(无环转发)优化特定 VLAN 的流量路径(如负载分担、路径规划)
与外部交互作为 MST 域与外界(其他域或 STP/RSTP 网络)交互的 “代表”(通过 CST/IST 融合拓扑)仅在域内生效,不直接参与外部拓扑交互

图片分析

  • 拓扑结构

    • 网络分为 4 个 MST 域(Region 1-4),每个域内的交换机运行 MSTP

    • 域间通过 CST 连接,确保跨域连通性

  • VLAN 映射

    • Region 1:VLAN 2→Instance 2,VLAN 4→Instance 4,其他 VLAN→IST

    • Region 2:VLAN 2→Instance 2,VLAN 3→Instance 3,其他 VLAN→IST

    • Region 3:VLAN 3→Instance 3,VLAN 5→Instance 5,其他 VLAN→IST

    • Region 4:VLAN 4→Instance 4,VLAN 5→Instance 5,其他 VLAN→IST

  • 生成树实例

    • Instance 2:包含 VLAN 2(Region 1、Region 2)

    • Instance 3:包含 VLAN 3(Region 2、Region 3)

    • Instance 4:包含 VLAN 4(Region 1、Region 4)

    • Instance 5:包含 VLAN 5(Region 3、Region 4)

  • IST:处理未映射到其他实例的 VLAN(如 Region 1 的 VLAN 1、Region 2 的 VLAN 4 等)
  • 根桥选举

    • 总根(CIST Root):位于 Region 1,是整个网络的根桥

    • 域根(CIST Regional Root):每个 MST 域内的根桥,负责域内的生成树计算

      • Region 1 的域根:连接总根的交换机。
      • Region 2 的域根:连接 CST 的交换机
      • Region 3 的域根:连接 CST 的交换机
      • Region 4 的域根:连接 CST 的交换机
  • 关键机制解析

  • VLAN 到实例的映射

    • 每个 MST 域内,VLAN 可以映射到不同的 MSTI(如 Instance 2、3、4、5)或 IST

    • 示例:VLAN 2 在 Region 1 和 Region 2 中映射到 Instance 2,确保跨域的 VLAN 2 流量沿 Instance 2 的拓扑转发

  • 跨域连通性

    • CST 连接不同 MST 域,确保跨域的 VLAN 流量(如 VLAN 2 从 Region 1 到 Region 2)能够正确转发

    • 示例:VLAN 2 的流量在 Region 1 沿 Instance 2 转发,跨域时沿 CST 转发,到达 Region 2 后沿 Instance 2 转发

  • 根桥选举

    • 总根是整个网络的根桥,所有 MST 域的 IST 和 CST 以总根为基准计算路径

    • 域根是每个 MST 域内的根桥,负责域内的生成树计算,确保域内拓扑最优

MSTP概念的总结

在这里插入图片描述

3 MSTP端口角色

  • Master端口

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

    • 根端口
    • 指定端口
    • Alternate替代端口
    • Backup备份端口
    • 边缘端口

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 两个域之间的端口被称为Master端口(域边界端口)
    • 如果发现了Master端口 == 有两个域

MSTP工作原理

1 MSTP的BPDU格式

MSTP BPDU报文用来计算生成树的拓扑、维护网络拓扑以及传达拓扑变化记录

  • RST BPDU 字段:基础的 STP/RSTP 字段,用于兼容传统生成树协议

  • MST 专有字段:MSTP 特有的字段,用于多生成树实例的管理

  • MST 配置标识:用于标识 MST 域的配置信息,确保域内交换机的配置一致性

  • MSTI 配置信息:用于多生成树实例的配置和管理,确保每个实例的拓扑独立性

在这里插入图片描述

RST BPDU 字段

  • Protocol ID:协议 ID,固定为 2(表示 STP/RSTP/MSTP)

  • Protocol Version ID:协议版本 ID

    • RSTP 中为 2,MSTP中为3,STP中为0
  • BPDU Type:BPDU 类型

    • RSTP/MSTP 中为0x02,TCN BPDU为0x80,STP BPDU为0x00
  • CIST Flags:CIST 标志位,用于标识拓扑变化等信息

  • CIST Root ID:CIST 根桥 ID,由优先级和 MAC 地址组成

  • CIST Region Root ID:CIST 域根桥 ID,标识 MST 域的根桥

  • CIST Port ID:CIST 端口 ID,标识发送 BPDU 的端口

  • Message Age:消息年龄,记录 BPDU 的生存时间

  • Max Age:最大老化时间,BPDU 的最大生存时间

  • Hello Time:Hello 时间,BPDU 的发送间隔

  • Forward Delay:转发延迟,端口状态转换的延迟时间

  • Version1 Length:版本 1 长度,固定为 0(表示不兼容 STP)

MST 专有字段

前36字节与RST BPDU相同,37字节开始为MSTP BPDU专有字段

  • Version3 Length:版本 3 长度,标识 MSTP BPDU 的总长度

  • MST Configuration ID:MST 配置 ID,包含 MST 域的配置信息

  • CIST IRPC:CIST 内部根路径成本,标识到 CIST 根桥的路径成本

  • CIST Bridge ID:CIST 桥 ID,标识发送 BPDU 的桥

  • CIST Remaining Hops:CIST 剩余跳数,标识 BPDU 的传播范围

  • MSTI Configuration Messages LEN:MSTI 配置消息长度,标识 MSTI 配置信息的长度

MST 配置标识

  • Format Selector:格式选择器,标识配置信息的格式

  • Name:MST 域的名称,用于标识 MST 域

  • Revision Level:修订级别,用于标识 MST 域的配置版本

  • Config Digest:配置摘要,用于验证 MST 域的配置一致性

MSTI 配置信息

  • MSTI Flag:MSTI 标志位,用于标识 MSTI 的状态

  • MSTI Region Root ID:MSTI 域根桥 ID,标识 MSTI 的根桥

  • MSTI IRPC:MSTI 内部根路径成本,标识到 MSTI 根桥的路径成本

  • MSTI Bridge Priority:MSTI 桥优先级,用于 MSTI 根桥的选举

  • MSTI Port Priority:MSTI 端口优先级,用于 MSTI 端口角色的选举

  • MSTI Remaining Hops:MSTI 剩余跳数,标识 MSTI BPDU 的传播范围

2 CIST的优先级向量

  • CIST 优先级向量:包含根桥 ID、路径开销、指定桥 ID 等字段,用于生成树的拓扑计算

  • 比较原则:遵循 “最小最优” 原则,按顺序比较各个字段,确定端口角色

在这里插入图片描述

CIST 优先级向量

  • 定义:CIST 优先级向量是一个用于比较生成树拓扑的参数集合,包含以下字段:

    • RootID:CIST 根桥 ID。

    • ERPC:CIST 外部路径开销。

    • RRootID:CIST 域根桥 ID。

    • IRPC:CIST 内部路径开销。

    • DesignateBridgeID:CIST 指定桥 ID。

    • DesignatePortID:CIST 指定端口 ID。

    • RcvPortID:CIST 接收端口 ID。

  • 作用:CIST 优先级向量用于生成树的拓扑计算,通过比较优先级向量的各个字段,确定端口角色(根端口、指定端口、替代端口等),从而构建无环的网络拓扑

比较原则

  • 最小最优:CIST 优先级向量的比较遵循 “最小最优” 原则,即数值越小越优先

  • 比较顺序

    • 首先比较 CIST 总根 ID:总根 ID 越小越优先

    • 其次比较 CIST 外部路径开销:外部路径开销越小越优先

    • 再次比较 CIST 域根 ID:域根 ID 越小越优先

    • 再其次比较 CIST 内部路径开销:内部路径开销越小越优先

    • 再其次比较 CIST 指定桥 ID:指定桥 ID 越小越优先

    • 再其次比较 CIST 指定端口 ID:指定端口 ID 越小越优先

    • 最后比较 CIST 接收端口 ID:接收端口 ID 越小越优先

3 MSTI 的优先级向量

在这里插入图片描述

MSTI 优先级向量

  • 定义:MSTI 优先级向量是一个用于比较生成树拓扑的参数集合,包含以下字段:

    • RRootID:MSTI 域根桥 ID。

    • IRPC:MSTI 内部路径开销。

    • DesignateBridgeID:MSTI 指定桥 ID。

    • DesignatePortID:MSTI 指定端口 ID。

    • RcvPortID:MSTI 接收端口 ID。

  • 作用:MSTI 优先级向量用于多生成树实例的拓扑计算,通过比较优先级向量的各个字段,确定端口角色(根端口、指定端口、替代端口等),从而构建无环的网络拓扑

比较原则

  • 最小最优:MSTI 优先级向量的比较遵循 “最小最优” 原则,即数值越小越优先。

  • 比较顺序

    • 首先比较 MSTI 域根 ID:域根 ID 越小越优先

    • 其次比较 MSTI 内部路径开销:内部路径开销越小越优先

    • 再次比较 MSTI 指定桥 ID:指定桥 ID 越小越优先

    • 再其次比较 MSTI 指定端口 ID:指定端口 ID 越小越优先

    • 最后比较 MSTI 接收端口 ID:接收端口 ID 越小越优先

4 MSTP计算方法

在这里插入图片描述

  • CST/IST 计算与 RSTP 类似

    • CST(公共生成树)

      • 在 MSTP 中,CST 是连接所有 MST 域的生成树,用于处理跨域的流量
      • 其计算方法在很多方面与 RSTP 相似,比如都使用了快速收敛机制,能够在网络拓扑发生变化时快速恢复网络连通性
    • IST(内部生成树)

      • 每个 MST 域内的默认生成树实例,处理未映射到其他 MSTI 的 VLAN 流量
      • IST 的计算同样借鉴了 RSTP 的快速收敛特性,包括边缘端口的快速转发、点对点链路的快速确定端口角色和状态等
  • MSTI 计算仅限于区域内

    • MSTI(多生成树实例)
      • 每个 MSTI 对应一个或多个 VLAN,独立计算生成树拓扑
      • MSTI 的计算范围被限制在单个 MST 域内,不同 MST 域的 MSTI 相互独立,这样可以实现域内流量的负载分担和故障隔离,提高网络的可靠性和性能
  • MSTI 计算参数包含在 IST BPDU 中,和 IST 计算同步完成

    • IST BPDU
      • IST 的桥协议数据单元(BPDU)不仅包含了 CST/IST 的配置信息,还包含了 MSTI 的配置信息
      • MSTI 的计算参数通过 IST BPDU 进行传递,并且与 IST 的计算同步完成
      • 这种同步计算机制确保了 MSTI 的拓扑与 IST 保持一致,保证了网络的稳定性和一致性

CST计算

CST 的作用:连接所有 MST 域,处理跨域流量,确保网络的可靠性和性能

在这里插入图片描述

网络拓扑

  1. MST 域(Region)
    • Region 1:包含交换机 SWA 及其连接的交换
    • Region 2:包含交换机 SWB 及其连接的交换机
    • Region 3:包含交换机 SWC 及其连接的交换机
    • Region 4:包含交换机 SWD 及其连接的交换机
  2. 端口角色
    • DP(指定端口):在生成树中负责转发流量的端口
    • RP(根端口):在生成树中负责接收流量的端口
    • MP(主端口):在 MSTP 中,主端口是连接不同 MST 域的端口
    • AP(替代端口):在生成树中作为备份的端口,主端口故障时启用

CST 计算过程

  1. CST 的作用
    • 跨域连接:CST 是连接所有 MST 域的生成树,用于处理跨域的流量
    • 故障隔离:当某个 MST 域内的链路故障时,CST 确保跨域流量的正常转发
  2. 计算步骤
    • 选举根桥:在整个网络中选举一个根桥(Root Bridge),通常选择优先级最高的交换机
    • 确定端口角色:根据根桥的位置,确定每个交换机的端口角色(DP、RP、MP、AP)
    • 生成树构建:基于端口角色,构建无环的生成树拓扑,确保流量的高效转发

解析

  1. Region 1
    • SWA:作为 Region 1 的根桥,连接到其他 MST 域的交换机
    • DP 端口:SWA 连接到 Region 2 和 Region 3 的端口,负责转发跨域流量
  2. Region 2
    • SWB:作为 Region 2 的根桥,连接到 Region 1 和 Region 4 的交换机
    • RP/MP 端口:SWB 连接到 Region 1 的端口,既是根端口(接收流量)又是主端口(连接其他 MST 域)
    • DP 端口:SWB 连接到 Region 4 的端口,负责转发跨域流量
  3. Region 3
    • SWC:作为 Region 3 的根桥,连接到 Region 1 和 Region 4 的交换机
    • RP/MP 端口:SWC 连接到 Region 1 的端口,既是根端口(接收流量)又是主端口(连接其他 MST 域)
    • DP 端口:SWC 连接到 Region 4 的端口,负责转发跨域流量。
  4. Region 4
    • SWD:作为 Region 4 的根桥,连接到 Region 2 和 Region 3 的交换机
    • AP 端口:SWD 连接到 Region 2 的端口,作为备份端口,当主端口故障时启用
    • RP/MP 端口:SWD 连接到 Region 3 的端口,既是根端口(接收流量)又是主端口(连接其他 MST 域)

IST计算

IST 的作用:处理域内流量,确保网络的可靠性和性能

在这里插入图片描述

IST 计算过程

  1. IST 的作用
    • 域内连接:IST 是每个 MST 域内的默认生成树实例,处理未映射到其他 MSTI 的 VLAN 流量。
    • 故障隔离:当某个 MST 域内的链路故障时,IST 确保域内流量的正常转发。
  2. 计算步骤
    • 选举根桥:在每个 MST 域内选举一个根桥(Root Bridge),通常选择优先级最高的交换机
    • 确定端口角色:根据根桥的位置,确定每个交换机的端口角色(DP、RP、MP、AP)
    • 生成树构建:基于端口角色,构建无环的生成树拓扑,确保流量的高效转发

解析

  1. Region 1
    • SWA:作为 Region 1 的根桥,连接到其他 MST 域的交换机
    • DP 端口:SWA 连接到 Region 2 和 Region 3 的端口,负责转发跨域流量
  2. Region 2
    • SWB:作为 Region 2 的根桥,连接到 Region 1 和 Region 4 的交换机
    • RP/MP 端口:SWB 连接到 Region 1 的端口,既是根端口(接收流量)又是主端口(连接其他 MST 域)
    • DP 端口:SWB 连接到 Region 4 的端口,负责转发跨域流量。
  3. Region 3
    • SWC:作为 Region 3 的根桥,连接到 Region 1 和 Region 4 的交换机
    • RP/MP 端口:SWC 连接到 Region 1 的端口,既是根端口(接收流量)又是主端口(连接其他 MST 域)
    • DP 端口:SWC 连接到 Region 4 的端口,负责转发跨域流量
  4. Region 4
    • SWD:作为 Region 4 的根桥,连接到 Region 2 和 Region 3 的交换机
    • AP 端口:SWD 连接到 Region 2 的端口,作为备份端口,当主端口故障时启用
    • RP/MP 端口:SWD 连接到 Region 3 的端口,既是根端口(接收流量)又是主端口(连接其他 MST 域)

MSTI计算过程

Region1

在这里插入图片描述

Region2

在这里插入图片描述

MSTP计算结果

在这里插入图片描述

MSTP计算结果分析

在这里插入图片描述

在这里插入图片描述

注意事项

  • 负载分担只能在区域内做,区域间没有负载分担

    • 区域内负载分担
      • MSTP 允许在同一个 MST 域内通过配置多个 MSTI(多生成树实例)来实现负载分担
      • 每个 MSTI 可以对应不同的 VLAN,从而在不同的生成树上转发流量,实现负载分担
    • 区域间负载分担
      • 在默认情况下,MSTP 不支持区域间的负载分担
      • 跨 MST 域的流量主要通过 CST(公共生成树)进行转发,而 CST 是一个单一的生成树实例,无法实现负载分担
  • 默认不改动的情况下(没有配置的情况下),只走IST实例0(默认防环)

    • IST(实例 0)
      • 在默认情况下,所有未明确映射到其他 MSTI 的 VLAN 都会被映射到 IST(实例 0)
      • IST 负责处理这些 VLAN 的流量,并通过生成树算法防止环路
    • CST
      • 当网络中存在多个 MST 域时,CST 负责连接这些 MST 域,并处理跨域的流量
      • CST 的计算与 IST 类似,但范围更广,覆盖整个网络
  • 域配置相同 == 比较CST

    • CST 比较
      • 当两个 MST 域的配置相同时,它们之间的流量转发主要通过 CST 进行
      • CST 的计算基于 RSTP(快速生成树协议),确保跨域流量的高效转发和故障隔离
  • 在单区域内实现负载分担

    • MSTI 配置
      • 在单区域内,可以通过配置多个 MSTI 来实现负载分担
      • 每个 MSTI 可以对应不同的 VLAN,从而在不同的生成树上转发流量,实现负载分担

5 MSTP的P/A机制

提高网络的可靠性和性能,确保拓扑变化时快速恢复

  • 上游桥发送的Proposal BPDU中,P标志位和A标志位都置位

  • 下游收到P标志位和A标志位都置位的Proposal BPDU,在将端口同步后会回应Agreement BPDU,使得上游的指定端口快速进入转发状态
    在这里插入图片描述

  • Proposal BPDU:上游桥发送,P 和 A 标志位置位。

  • Agreement BPDU:下游桥回应,A 标志位置位。

  • 快速收敛:通过 Proposal/Agreement BPDU 的交互,实现端口的快速转发状态转换

MSTP兼容性

1 MSTP和RSTP的互操作

  • MSTP 与 RSTP 互操作的核心是实例 0,它作为标准 RSTP 实例,负责与 RSTP/STP 桥对接。

  • RSTP 桥将 MSTP 域视为单一桥,桥 ID 为 MSTP 域的根桥 ID。

  • BPDU 交互 是实现互操作的关键,确保跨协议的流量转发和拓扑一致性

    • RSTP桥将MSTP域看做一个桥ID为域根ID的RSTP桥

    • 实例0就是标准的RSTP,MSTP使用实例0与STP/RSTP对接

在这里插入图片描述

核心概念

  • MSTP 域(MSTP Region):由多个交换机组成的逻辑区域,共享相同的 MST 配置(如域名、修订级别、VLAN 到 MSTI 的映射)
  • RSTP 桥(RSTP Bridge):运行 RSTP 协议的交换机,不支持 MSTP 的多实例特性
  • 实例 0(IST,内部生成树):MSTP 中的默认生成树实例,负责处理未映射到其他 MSTI 的 VLAN 流量,并与 RSTP/STP 桥对接

互操作机制

  • RSTP 桥的视角:RSTP 桥将整个 MSTP 域视为一个单一的桥,桥 ID 为 MSTP 域的根桥 ID(如示例中的 0.MAC A
  • 实例 0 的作用:MSTP 使用实例 0(标准 RSTP 实例)与 RSTP/STP 桥进行交互,确保跨协议的兼容性
  • BPDU 交互:MSTP 域通过实例 0 发送 BPDU(桥协议数据单元),与 RSTP 桥进行通信,确保流量的正常转发和拓扑的一致性

关键要点

  • 兼容性:MSTP 设计时考虑了与 RSTP/STP 的兼容性,通过实例 0 实现无缝对接
  • 拓扑简化:RSTP 桥将 MSTP 域视为单一桥,简化了拓扑计算,提高了网络的可靠性和性能
  • 流量转发:未映射到其他 MSTI 的 VLAN 流量通过实例 0 转发,确保与 RSTP/STP 桥的兼容性

2 MSTP工作模式

配置

    [SWB]stp mode stp [SWB]stp mode rstp [SWB]stp mode mstp
工作模式描述
STP只能和 STP 交换机交互,只能在端口上收发配置 BPDU
RSTP运行 RSTP,如果检测到端口相邻的交换机运行在 STP 模式下,则运行 STP
MSTP运行 MSTP,如果检测到端口相邻的交换机运行在 RSTP 模式下,则运行 RSTP
如果检测到端口相邻的交换机运行在 STP 模式,则运行 STP
  • STP 模式:仅支持 STP 协议,与其他协议不兼容

  • RSTP 模式:支持 RSTP 协议,并能向下兼容 STP

  • MSTP 模式:支持 MSTP 协议,并能向下兼容 RSTP 和 STP

多生成树检查

	stp mcheck

五 基本配置

1 实验拓扑

在这里插入图片描述

2 基本配置

MST域配置

//打开交换机,一般默认打开stp enable
//选择生成树协议stp mode smtp
// 创建MSTP区域stp region-configuration
//域名随便写,一般根据实际情况规范命名,不超过32字节即可region-name [区域名称]
//配置修订号revision-level [版本号]
//vlan与实例映射关系  instance [实例ID] vlan [VLAN列表]
//域名+修订号+实例映射关系一致 == 同一域内//配置完要激活才算成功,在修改配置时,也要激活才生效 active region-configuration// 修改实例优先级(全局生效)stp instance [实例ID] priority [优先级值]

在这里插入图片描述

设置RSTP点到点链路和边缘端口

在这里插入图片描述

//思科设备配置端口快速转发spanning-tree portfast

验证MSTP基本信息

// 查看全局实例优先级display stp instance [实例ID]// 查看接口实例优先级display stp interface [接口名称] instance [实例ID]
//查看域根信息	display stp region-configuration
//查看生成树协议简要信息(HUAWEI)display stp brief

在这里插入图片描述

在这里插入图片描述

保护机制

1 BPDU保护

  • 通过 BPDU 保护机制,网络中的边缘端口在面临异常 BPDU 时,能够快速做出反应,保护网络拓扑结构的稳定性, 避免因错误的 BPDU 导致网络震荡、丢包等问题,从而保障网络的正常运行和用户的正常使用

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

  • 如果一个边缘端口接收到配置消息,将从边缘端口转换成非边缘端口,从而导致生成树重新计算
    • 可能会引发网络拓扑的频繁变化,影响网络的稳定性和性能

在这里插入图片描述

BPDU保护机制

  • 启动了BPDU保护功能后,如果边缘端口收到了配置消息,MSTP就将这些端口关闭
    • 防止生成树重新计算,确保网络的稳定性
    • stp端口无法拒绝BPDU,但是可以把端口关掉

在这里插入图片描述

//新华三全局模式开启BPDU保护[H3C] stp bpdu-protection
//新华三接口模式开启 BPDU 保护[H3C] interface GigabitEthernet 1/0/1[H3C-GigabitEthernet1/0/1] stp port bpdu-protection enable//思科接口模式开启 BPDU 保护[Cisco] spanning-tree bpduguard enable//华为全局模式开启 BPDU 保护[Huawei] stp bpdu-protection enable
//华为接口模式开启 BPDU 保护[Huawei] interface GigabitEthernet 0/0/1[Huawei-GigabitEthernet0/0/1] stp bpdu-protection//锐捷接口模式开启 BPDU 保护Ruijie(config)# interface FastEthernet 0/1Ruijie(config-if)# spanning-tree bpduguard enable

BPDU 保护机制的工作流程

  • 检测 BPDU
    • 交换机启用 BPDU 保护功能后,会持续监控边缘端口
    • 一旦边缘端口接收到 BPDU,无论是正常的网络拓扑变更消息,还是异常的攻击消息,交换机都会进行检测识别
  • 端口处理
    • 当检测到边缘端口收到 BPDU 后,交换机立即将该端口设置为 “err - disable” 状态(不同厂商可能叫法有差异,但本质都是关闭端口)
    • 端口被关闭后,不再转发数据, 也就切断了可能导致生成树重新计算的源头,避免了网络拓扑因错误 BPDU 引发的不必要变化
  • 恢复机制
    • 被关闭的端口可以通过手动重新开启, 也可以根据交换机的配置,设置自动恢复时间
    • 如在华为设备上,可配置 err - disable 自动恢复功能,在达到设定时间后尝试恢复端口状态 ,以便在错误排除后,端口能重新投入使用,恢复网络连接

2 根桥保护

  • 根桥保护机制是 MSTP 中保障网络拓扑稳定的重要功能。当合法根桥面临优先级更高的 BPDU 威胁时,通过在相关端口启用根桥保护,可避免根桥错误切换,维护网络稳定

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

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

在这里插入图片描述

根桥保护机制

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

在这里插入图片描述

配置根桥保护

在这里插入图片描述

根桥保护机制的工作流程

  • 正常状态

    • 在网络中,根桥正常运行,其他交换机的端口连接到根桥
  • 攻击或错误配置

    • 如果有恶意设备或错误配置的交换机发送优先级更高的 BPDU,试图成为新的根桥
  • 根保护检测

    • 启用了根保护功能的端口检测到优先级更高的 BPDU
  • 端口状态转换

    • 一旦检测到优先级更高的 BPDU,该端口立即从当前状态转换为指定端口(DP)并进入侦听状态(Listening),不再转发数据报文
  • 防止根桥切换

    • 由于端口不再转发数据报文,恶意设备或错误配置的交换机无法通过该端口影响根桥的选举,从而防止根桥的错误切换
  • 恢复机制

    • 如果端口在一段时间内没有收到优先级更高的 BPDU,它会自动恢复到原来的状态,继续正常转发数据报文

配置根桥保护注意事项

  • 根桥保护功能应该配置在接口级别
  • 根桥保护不能应用在上行接口
    • 上行接口的主备切换是正常的网络拓扑变化,启用根桥保护功能会导致误判,影响网络的正常运行

3 环路保护

  • 环路保护机制是一种重要的网络安全功能,用于防止由于链路拥塞或单向链路故障导致的环路问题
  • 通过启用环路保护功能,可以检测 BPDU 丢失并及时将端口状态转换为 Discarding 状态,防止环路的产生,提高网络的可靠性和性能

保护需求----环路的产生

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

在这里插入图片描述

环路保护机制

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

在这里插入图片描述

环路保护机制工作流程

  • 正常状态

    • 在网络中,交换机之间通过 BPDU(桥协议数据单元)进行通信,维护生成树的拓扑结构
  • 链路拥塞或单向链路故障

    • 当链路拥塞或出现单向链路故障时,BPDU 可能会丢失,导致下游设备无法正常接收 BPDU
  • 环路保护检测

    • 启用了环路保护功能的端口会持续监控 BPDU 的接收情况
    • 如果端口在一段时间内没有收到 BPDU,说明可能存在链路拥塞或单向链路故障
  • 端口状态转换

    • 当端口检测到 BPDU 丢失时,会将端口状态转换为 Discarding 状态,不再转发数据报文,防止环路的产生
  • 恢复机制

    • 当端口重新收到 BPDU 时,会自动恢复到原来的状态,继续正常转发数据报文

4 TC保护

  • TC 保护机制是一种重要的网络安全功能,用于防止恶意设备发送大量 TC-BPDU 报文导致的网络不稳定问题。通过设置时间窗口和监控报文数量,限制地址表项删除操作的次数,保护设备资源,确保网络的稳定性

保护需求----TC攻击

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

在这里插入图片描述

TC保护机制

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

TC保护机制工作流程

  • 正常状态

    • 在网络中,交换机正常处理TC-BPDU报文,维护生成树的拓扑结构
  • TC 攻击检测

    • 当设备检测到短时间内收到大量TC-BPDU报文时,触发TC保护机制
  • 时间窗口限制

    • 设备在收到TC-BPDU报文后的 10 秒内,限制地址表项删除操作的次数
  • 报文监控

    • 监控在该时间段内收到的 TC-BPDU 报文数是否大于门限值
    • 如果超过门限值,说明可能存在 TC 攻击
  • 保护措施

    • 当检测到 TC 攻击时,设备会采取保护措施,如限制地址表项删除操作的次数,保护设备资源,确保网络的稳定性
  • 恢复机制

    • 当攻击停止后,设备会自动恢复正常的处理流程,继续维护生成树的拓扑结构
对比项STP(生成树协议)RSTP(快速生成树协议)MSTP(多生成树协议)
基本原理通过 BPDU(桥协议数据单元)进行信息交互,计算出一个无环的网络拓扑结构,阻塞某些端口来防止网络环路。选举根桥、根端口、指定端口,非指定端口被阻塞在 STP 基础上进行改进,基于端口角色快速收敛。通过更快速的状态迁移机制,减少网络拓扑变化时端口状态变化的延迟在 RSTP 基础上,引入实例(Instance)概念,每个实例可以包含若干 VLAN,不同实例可以有不同的生成树拓扑
收敛速度慢,端口从阻塞状态到转发状态需要经过较长的时间(约 50 秒,包括 20 秒的老化时间、15 秒的监听时间和 15 秒的学习时间)快,网络拓扑变化时,非边缘端口状态迁移时间可以缩短到 1 秒左右。根端口和指定端口快速切换,边缘端口直接进入转发状态快,和 RSTP 类似,端口状态快速收敛,同时因为可以对不同实例分别计算生成树,在多 VLAN 网络中能更高效地优化流量路径
端口角色根端口、指定端口、非指定端口根端口、指定端口、预备端口(替代指定端口,提供备份链路)、边缘端口(连接终端设备,可快速进入转发状态)根端口、指定端口、预备端口、边缘端口,另外在 MST 域内还引入主端口(连接主桥的端口)
VLAN 支持不支持 VLAN,所有 VLAN 共享一棵生成树,无法实现流量负载均衡不支持 VLAN,所有 VLAN 共享一棵生成树,无法实现流量负载均衡支持 VLAN,可将多个 VLAN 映射到一个实例,每个实例对应一棵生成树,能实现不同 VLAN 流量的负载均衡
配置复杂度低,配置相对简单,主要配置根桥等基本参数较低,在 STP 基础上增加的配置不多较高,需要配置 MST 域(域名、修订级别、VLAN 映射表等)、实例等相关参数
应用场景适用于网络规模较小、对收敛速度要求不高、网络拓扑相对稳定的环境适用于网络规模中等、对收敛速度有一定要求的环境适用于大型网络,尤其是 VLAN 数量较多,需要进行流量负载均衡和链路冗余的场景
一个无环的网络拓扑结构,阻塞某些端口来防止网络环路。选举根桥、根端口、指定端口,非指定端口被阻塞在 STP 基础上进行改进,基于端口角色快速收敛。通过更快速的状态迁移机制,减少网络拓扑变化时端口状态变化的延迟在 RSTP 基础上,引入实例(Instance)概念,每个实例可以包含若干 VLAN,不同实例可以有不同的生成树拓扑
收敛速度慢,端口从阻塞状态到转发状态需要经过较长的时间(约 50 秒,包括 20 秒的老化时间、15 秒的监听时间和 15 秒的学习时间)快,网络拓扑变化时,非边缘端口状态迁移时间可以缩短到 1 秒左右。根端口和指定端口快速切换,边缘端口直接进入转发状态快,和 RSTP 类似,端口状态快速收敛,同时因为可以对不同实例分别计算生成树,在多 VLAN 网络中能更高效地优化流量路径
端口角色根端口、指定端口、非指定端口根端口、指定端口、预备端口(替代指定端口,提供备份链路)、边缘端口(连接终端设备,可快速进入转发状态)根端口、指定端口、预备端口、边缘端口,另外在 MST 域内还引入主端口(连接主桥的端口)
VLAN 支持不支持 VLAN,所有 VLAN 共享一棵生成树,无法实现流量负载均衡不支持 VLAN,所有 VLAN 共享一棵生成树,无法实现流量负载均衡支持 VLAN,可将多个 VLAN 映射到一个实例,每个实例对应一棵生成树,能实现不同 VLAN 流量的负载均衡
配置复杂度低,配置相对简单,主要配置根桥等基本参数较低,在 STP 基础上增加的配置不多较高,需要配置 MST 域(域名、修订级别、VLAN 映射表等)、实例等相关参数
应用场景适用于网络规模较小、对收敛速度要求不高、网络拓扑相对稳定的环境适用于网络规模中等、对收敛速度有一定要求的环境适用于大型网络,尤其是 VLAN 数量较多,需要进行流量负载均衡和链路冗余的场景
常考易错点1.根桥选举依据是桥 ID(Bridge ID,由优先级和 MAC 地址组成),容易忽略优先级可以手动调整
2. 端口状态转换时间较长,在故障恢复等场景下对业务影响时间长,容易忽视对业务的影响分析
1. 端口角色判断,尤其是预备端口和边缘端口的区分,在拓扑变化时端口状态迁移条件容易混淆; 2. 虽然收敛速度快,但在一些特殊场景(如链路故障同时存在多个备份路径)下,可能出现收敛异常,需要理解其状态迁移细节1.MST 域配置,域名、修订级别、VLAN 映射表必须完全一致,否则无法正常通信,考试中常考配置错误导致的问题
2.不同实例的根桥选举,容易混淆实例根桥和域根桥的概念
3.跨域通信时,不同 MST 域之间的交互机制,容易忽略交互过程中的特殊情况
http://www.xdnf.cn/news/16030.html

相关文章:

  • 图论的整合
  • 前端--bom、JQuery
  • 大数据量查询计算引发数据库CPU告警问题复盘
  • WAF 防护与漏洞扫描联动:让安全防御更精准高效
  • python办自动化--读取邮箱中特定的邮件,并下载特定的附件
  • 数据库—修改某字段默认值
  • importlib.import_module() 的用法与实战案例
  • Java值传递和构造函数
  • Java 并发性深度解析
  • C# 基于halcon的视觉工作流-章21-点查找
  • 【前端】ikun-pptx编辑器前瞻问题一: pptx的xml样式, 使用html能100%还原么
  • 【计算机网络 篇】TCP基本认识和TCP三次握手相关问题
  • 基于springboot的医院后台管理系统的设计与实现(源码+论文)
  • 【python数据结构算法篇】python算法
  • Ubuntu 虚拟机配置 与Windows互传文件
  • 零事故网站重构:11步标准化流程与风险管理指南
  • PHICOMM(斐讯)N1盒子 - Armbian25.05(Debian 12)刷入U盘/EMMC
  • 【Spring Boot】Spring Boot循环依赖破解:@Lazy与Setter注入的取舍指南(流程图修复版)
  • Oracle RAC+ADG switchover 切换演练流程
  • 【文献笔记】ARS: Automatic Routing Solver with Large Language Models
  • LabVIEW 2025安装包| 免费免激活版下载| 附图文详细安装教程
  • Tailwind CSS快速上手 Tailwind CSS的安装、配置、使用
  • 使用qt编写上位机程序,出现串口死掉无法接受数据的bug
  • 【windows修复】解决windows10,没有【相机] 功能问题
  • 前端学习 4:一些术语集合
  • 自研能管项目开发界面
  • uniapp “requestPayment:fail [payment支付宝:62009]未知错误“
  • Gerrit多仓库对应多邮箱配置办法
  • 上下文工程的系统性优化:从组件到整合架构
  • 【ArcGIS Pro】设置临时存储文件夹(计算缓存数据存放位置)