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状态,出现多域状态

修改同意就恢复了

相关推荐
清静诗意3 小时前
在 Ubuntu 上安装 MinIO 并使用 Python 封装类操作对象存储
服务器·minio
Wang's Blog4 小时前
Linux小课堂: 文件操作警惕高危删除命令与深入文件链接机制
linux·运维·服务器
小楊不秃头6 小时前
网路原理:UDP协议
网络·网络协议·udp
Paper_Love6 小时前
Linux-查看硬件接口软件占用
linux·运维·服务器
wydaicls6 小时前
Linux 系统下 ZONE 区域的划分
linux·运维·服务器
螺旋小蜗7 小时前
Linux Cgroup与Device Whitelist详解
linux·运维·服务器·cgroup
染指11107 小时前
36.渗透-端口
linux·运维·服务器
EndingCoder7 小时前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js
IsWillian7 小时前
OpenSSL生成自签名通配符证书
运维·服务器