STP、RSTP、MSTP工作原理及配置---网络通信原理

STP由来

最开始的网络结构简单,PC之间的互通链路只有一条单一的链路,随着网络的不断扩大,单一的链路压力也来越大,任何一个设备或链路出现问题,PC之间都会无法通信
在这里插入图片描述

为了避免无法通信问题,往往会在交换机之间增加冗余/备份链路来保证PC之间的通信。

  • 数据环路导致广播风暴
  • 每条链路都是互通的
  • 交换机收到无法识别的数据帧后进行广播,
    在这里插入图片描述
  • 数据环路导致广播风暴
    • 广播帧在交换机之间一直循环下去,从而消耗系统资源,降低传输质量
    • 广播帧的不断增多,还会导致设备宕机重启

STP概述

STP-Spanning Tree Protocol(生成树协议)

  • 逻辑上断开环路,防止广播风暴的产生。即阻塞某些接口,破除环路
  • 当主线路故障,阻塞接口被激活;主线路恢复,备份线路再次阻塞
  • 实现物理线路备份
  • 实现逻辑无环
    在这里插入图片描述
    STP工作原理

步骤一:确定交换机角色

  • 根交换机
  • 非根交换机

步骤二:确定端口角色

  • 根端口
  • 非根端口
  • 非指定端口

步骤三:确定端口状态

  • 禁用:接口没有启动STP,或者接口处于关闭状态
  • 侦听:正在比较STP报文,确定交换机和端口角色
  • 学习:正在学MAC地址表、
  • 转发:可以正常接收和发送数据包
  • 阻塞:阻塞端口,不能转发用户数剧包

确定交换机角色

网桥ID
STP协议为交换机取得名字,用于在交换网络中唯一标识该设备
通过比较每个交换机的BID,来选举根交换机:BID越小越好
在这里插入图片描述

在这里插入图片描述
根据网桥ID,选择根交换机
在这里插入图片描述

确定端口角色

  • 选举根端口:每一个非根交换机上,有且只有一个,距离根交换机最近的端口
  • 确定指定端口:每一个链路上,有且只有一个,距离根交换机最近的端口
  • 最后确定非指定端口:除了根端口和指定端口,剩余所有端口都是非指定端口

端口角色选举规则
首线比较端口到根交换机的开销,越小越好
开销一样,比较端口坐在交换机的BID,越小越好
若BID一样,比较端口的PID,越小越好


选举根端口
在这里插入图片描述
在这里插入图片描述


选举指定端口

  • 在每个网段上,选择一个指定端口
  • 距离根网桥的路径成本开销较小
  • 网桥ID较小
  • 根交换机上的端口全是指定端口
    在这里插入图片描述

选取非指定端口
最后剩下德端口,被阻塞
在这里插入图片描述
生成树算法结果

  • 最终形成数据‘转发路径’:
  • 被阻塞的链路,作为备份链路在这里插入图片描述
    归纳STP工作原理:
  • 选择根网桥
    • 网桥ID最小
  • 选择根端口(非根网桥)
    -此端口到大根网桥路径成本最低
  • 选择指定端口
    • 根网桥上所有端口都是指定端口
    • 此端口所在交换机到达根网桥成本最低
    • 地端口所在交换机网桥ID最小

STP协议通信报文-----BPDU

  • Bridge Protocol Data Unit–桥协议数据单元 ,STP协议的报文
  • 通过这种报文,STP协议实现了自己所有的功能

BPDU类型

  • 配置BPDU
  • 拓扑变更通知
    在这里插入图片描述

BPDU选择根网桥

当交换机启动时,会假定自己是根网桥,在向外发送的BPDU中根网桥ID字段填写自己的网桥ID ,当接收到其它交换机发出的BPDU后,比较网桥ID,选择较小的的添加到根网桥ID中。当全网所有的交换机收到全部的BPDU并做比价后,就可以选择出唯一的一个根网桥

STP端口的五种状态

  • 禁用(DIsabled):强制关闭,没有启用STP协议
  • 阻塞(Blocking):只接受BPDU,不能发送BPDU
  • 帧听(Listening):比较BPDU,确定交换机端口和角色
  • 学习(Learning):基于端口上收到的数据帧,学习MAC地址表
  • 转发(Forwarding):端口的最终完美状态,发送和接收用户数据

STP的三种计时器,用于维护STP转发路径以及恢复STP故障链路
Hello时间:一个端口上发送BPDU的时间间隔,默认为2S
转发延时(Forward delay):端口在转发和学习状态,分别停留的时间
最大老化时间(Max age):一个端口最大的没有转发BPDU的时间

在这里插入图片描述

STP配置命令

默认情况下交换记得STP功能处于开启状态

[Huawei]stp  { enable  | disable }     //开启或关闭STP功能
[Huawei]stp mode  { stp | rstp | mstp }

修改交换机的STP优先级,默认值为32768步长为4096

[Huawei]stp priority 4096

修改端口的 STP cost ,在端口开启/关闭STP功能

[Huawei]interface g0/0/1
[Huawei-GigabitEthernet0/0/1]stp cost 100
[Huawei-GigabitEthernet0/0/1]stp {enable | disable}

在这里插入图片描述
配置优先级,优先级低的为根交换机,LSW1由非根交换机变为根交换机
根交换机的接口全为指定接口。

RSTP概述

STP存在许多弊端

  • 收敛时间慢:30s-50s
  • 设备利用率低

RSTP,即Rapid STP,快速生成树协议,在STP的基础上优化而来
RSTP相对于STP优化的部分

STP RSTP
端口角色 根端口、指定端口、阻塞端口 根端口、指定端口、替代端口(替代根端口)、备份端口(备份指定端口)
端口状态 禁用disabled、侦听listening、学习learning、转发forwarding、阻塞blocking 失效discarding、学习learning、转发forwarding
改变拓扑机制 会将变化的信息告诉根网桥,根网桥再向全网交换设备通告拓扑变化的信息 直接将变化的信息通告给网络的其他设备
引入P/A机制–请求确认机制,设备启动时都向对端发送请求,请求自己为根,收到对方的请求信息,发现对方的桥ID比自己小,那么就认为对方为根

STP和RSTP存在的弊端
当设备上运行了STP/RSTP,阻塞一个端口,意味着所有的VLAN都不能通过这个阻塞端口转发信息—导致阻塞端口的线路一直空闲,降低设备的使用率

MSTP多实例生成树协议

在这里插入图片描述

在这里插入图片描述
端口状态:
discarding丢弃,相当于STP中的禁用、侦听、阻塞、不转发用户数据
Learning学习,类比STP中学习状态
Forwarding转发,类比STP中转发状态

MSTP案例

在这里插入图片描述
1、配置PC机IP地址
2、创建VLAN
每台叫换机都要配置VLAN 10 20

<Huawei>u t m
Info: Current terminal monitor is off.
<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname SW2
[SW2]VLAN  batch  10 20 
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW2]

配置Trunk和Access
交换机与交换机之间使用trunk,PC机与交换机使用access

交换机SW1
[SW1]port-group group-member g0/0/1 g0/0/2
[SW1-port-group]port link-type trunk 
[SW1-port-group]port trunk allow-pass vlan all 
[SW1-port-group]

交换机SW2
[SW1]port-group group-member g0/0/1 g0/0/2
[SW1-port-group]port link-type trunk 
[SW1-port-group]port trunk allow-pass vlan all 
[SW1-port-group]
交换机3
......
交换机4
......

将对应接口加入到VLAN中

SW1:
interface GigabitEthernet0/0/10
port link-type access
port default vlan 10
SW2:
interface GigabitEthernet0/0/10
port link-type access
port default vlan 10
SW2:
interface GigabitEthernet0/0/10
port link-type access
port default vlan 20
SW2:
interface GigabitEthernet0/0/10
port link-type access
port default vlan 20
 

MSTP配置:所有交换机一致

stp region-configuration  //进入MSTP 域配
region-name A1   //配置域名A1-一个区域的交换机域名要一致
instance 1 vlan 10   //将vlan10 加入到实例1 (组1)
instance 2 vlan 20   //将vlan20 加入到实例2(组2)
active region-configuration //激活域配

实例的根网桥配置

[SW1]dis stp region-configuration //查看 实例信息 

在这里插入图片描述

SW2
[sw2]stp instance 1 priority 4096  //指定实例1 的根 在SW2上 
[SW2]dis stp instance 1 brief 
 MSTID  Port                        Role  STP State     Protection
   1    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   1    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
   1    GigabitEthernet0/0/10       DESI  FORWARDING      NONE
[SW2]


SW3
[sw3]stp instance 2 priority 4096  //指定实例2 的根 在SW3上 

[SW3]dis stp instance 2 brief 
 MSTID  Port                        Role  STP State     Protection
   2    GigabitEthernet0/0/1        DESI  FORWARDING      NONE
   2    GigabitEthernet0/0/2        DESI  FORWARDING      NONE
   2    GigabitEthernet0/0/10       DESI  LEARNING        NONE
[SW3]

对于实例1:
在这里插入图片描述
对于实例2:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45059947/article/details/126559303