stp,rstp,mstp的区别

标题一. STP:生成树协议

STP 的基本概念: STP (Spanning Tree Protocol)是 IEEE 802.1D 定义的一种避免环路的协议。它的核心思想是通过阻塞部分冗余链路,使网络形成一个无环路的树形结构。

工作原理:

  • 根桥选举: 通过比较桥 ID(Bridge ID),选择一个根桥(Root Bridge)。

  • **路径成本计算:**非根桥通过计算到达根桥的最短路径来确定自己的根端口(Root Port)。

  • 指定端口选举: 每个非根桥的指定端口(Designated

    Port)负责向下转发数据。

  • 阻塞端口: 非指定端口进入阻塞状态,防止环路。

五种端口状态:

  • Disabled(禁用): 端口被关闭。
  • Blocking(阻塞): 阻止数据流通,只接收 BPDU
  • Listening(监听): 监听BPDU,但不学习 MAC 地址
  • Learning(学习): 学习 MAC 地址,但不转发数据
  • Forwarding(转发):正常转发数据。

缺点:

  • 收敛速度慢(30-50 秒)。
  • 只支持单一 VLAN 的生成树,无法实现多 VLAN 优化。

二. RSTP:快速生成树协议

基本概念 :RSTP(Rapid Spanning Tree Protocol) 由 IEEE 802.1w 定义,是对 STP 的增强版。RSTP 通过优化端口状态转换,提高了网络的收敛速度,通常可以在 1-2 秒内完成收敛。

主要特点:

  • 引入替代端口(Alternate Port): 作为备选路径,在根端口失效时迅速接替。
  • 引入备份端口(Backup Port): 提供冗余连接,防止链路失效。
  • 直接进入 Forwarding 状态: 端口可以直接进入 Forwarding 状态,无需经过 Listening 和 Learning 阶段。

端口角色:

  • Root Port(根端口): 到达根桥的最优路径端口。
  • Designated Port(指定端口): 为下游设备提供转发服务的端口。
  • Alternate Port(替代端口): 备选路径,替代根端口。
  • Backup Port(备份端口): 备份指定端口,提供冗余。

优点:

  • 收敛速度快(通常在 1 秒内完成)。
  • 端口可以直接进入 Forwarding 状态,优化数据转发路径。

三. MSTP:多生成树协议

MSTP 的基本概念 : MSTP(Multiple Spanning Tree Protocol) 由 IEEE 802.1s 定义,可以将不同的 VLAN 绑定到不同的生成树实例中,实现多 VLAN 的负载均衡和环路防护。

MSTP 的关键特性:

  • MST 区域: 多个交换机构成一个 MST 区域,共享相同的 MST 配置。
  • 实例映射: 将不同 VLAN 映射到不同 MST 实例(MSTI)。
  • 多实例负载均衡: 通过不同 MST 实例实现流量分担,提高带宽利用率

**MSTP 的三种生成树: **

  • CIST(Common and Internal Spanning Tree): 负责管理 MST 区域间的生成树。
  • MSTI(Multiple Spanning Tree Instances): 每个实例维护各自的生成树。
  • IST(Internal Spanning Tree): MST 区域内部的默认生成树实例。

优点:

  • 允许 VLAN 进行流量分担,优化带宽。
  • 提供跨区域的生成树管理。

四. STP、RSTP 和 MSTP 的核心区别

五. 常见配置示例

STP 配置

bash 复制代码
# 启用 STP
[Switch] stp enable

RSTP 配置

bash 复制代码
# 启用 RSTP
[Switch] stp mode rstp

MSTP 配置`

bash 复制代码
# 启用 MSTP
[Switch] stp mode mstp
[Switch] stp region-configuration
[Switch-mst-region] region-name Network
[Switch-mst-region] revision-level 1
[Switch-mst-region] instance 1 vlan 10 20
[Switch-mst-region] active region-configuration

下面做出三种STP协议的不同场景

STP

bash 复制代码
[H3C]stp mode stp
bash 复制代码
display stp
bash 复制代码
display stp brief

PING测试然后阻塞一个端口


端口角色变化


15个丢包,每个大概2s,一共30s恢复正常

当端口重新启用会发生什么


又丢了15个包。30s重新进行端口角色变化,网络收敛

当电脑端口断掉又接上

也会进行网络收敛


所以Rstp能完美解决这个问题

RSTP

bash 复制代码
[H3C]stp mode Rstp
bash 复制代码
display stp
bash 复制代码
display stp brief

当down掉端口会发生什么

没有变化,pa机制,解决了网络收敛慢的问题

边缘端口

接口变成边缘端口,在终端写下这个命令

bash 复制代码
[H3C-GigabitEthernet1/0/1]stp edged-port

MSTP

对不同vlan流量进行负载均衡

bash 复制代码
<H3C>dis stp region-configuration
bash 复制代码
SW1
#
vlan 2 to 3
#
stp region-configuration
 region-name hzxdsg
 instance 2 vlan 2
 instance 3 vlan 3
 active region-configuration
#
 stp instance 2 root primary
 stp instance 3 root secondary
 stp global enable
#
interface GigabitEthernet1/0/1
 port link-mode bridge
 port link-type trunk
 port trunk permit vlan 1 to 3
 combo enable fiber
#
interface GigabitEthernet1/0/2
 port link-mode bridge
 port link-type trunk
 port trunk permit vlan 1 to 3
 combo enable fiber
 
#
interface GigabitEthernet1/0/48
 port link-mode bridge
 port link-type trunk
 port trunk permit vlan 1 to 3
 combo enable fiber

#

```bash
bash 复制代码
SW3-SW4
#
interface GigabitEthernet1/0/1
 port link-mode bridge
 port access vlan 2
 combo enable fiber
 stp edged-port

SW2-SW4类似配置

bash 复制代码
DIS STP root--查看跟端口
bash 复制代码
dis stp brief
bash 复制代码
 stp instance 2 root primary


PC1 ping PC2---47号端口有数据包,48号没有

但把接口vlan变为3

就走的另外一条流量路径

当把48号端口down,流量会跑到47号端口

当四台设备 region-name名字不同时,会出现master状态,出现多域状态

修改同意就恢复了

相关推荐
网安小白的进阶之路9 小时前
A模块 系统与网络安全 第四门课 弹性交换网络-5
网络·安全·web安全
8K超高清10 小时前
高校巡展:中国传媒大学+河北传媒学院
大数据·运维·网络·人工智能·传媒
C2H5OH66610 小时前
WebSocket-练习1
网络·websocket·网络协议
Q_Q51100828510 小时前
python+django/flask的车辆尾气检测排放系统-可视化大屏展示
spring boot·python·django·flask·node.js·php
狂奔的sherry10 小时前
Socket vs WebSocket
网络·websocket·网络协议
wuk99810 小时前
CentOS7环境搭建L2TP服务器
运维·服务器
恒创科技HK10 小时前
香港1核2G云服务器当网站服务器够用不?
运维·服务器
学习3人组11 小时前
Node.js 网站服务器开发
运维·服务器·node.js
来知晓11 小时前
Linux:WSL内存空间管理之清完内存C盘可用空间不增问题解决
linux·运维·服务器
sadandbad11 小时前
[vulhub靶机通关]DC-2(rbash绕过_git提权)
网络·sql·web安全·网络安全