STP生成树协议

STP生成树协议

为什么需要STP协议

局域网中容易出现的问题:

  • 单点故障和单链路故障,即:当某条链路故障或某一台设备故障导致大面积主机网络中断

如何预防单点故障和单链路故障:

  • 增加冗余/备份设备:预防单点故障
  • 增加冗余/备份链路:预防单链路故障

增加冗余/备份链路后,引发的新问题:

  • 交换机与交换机之间增加备份链路后:极有可能形成环状网络,形成二层环路
  • 二层环路:极有可能引发广播风暴
  • 广播风暴一旦形成:会造成网络拥塞,设备宕机,网络不可用

如何解决因二层环路所导致的广播风暴?

  • STP协议可以解决二层环路:STP会形成一个物理有环、逻辑无环的网络

STP协议

STP是什么?

  • STP:Spanning Tree Protocol 生成树协议

STP的作用(如何实现逻辑无环/如何防止广播风暴)

  • 所有交换机物理互相连接
  • 所有交换机启动后,都运行生成树协议
  • 通过生成树协议,逻辑上阻塞端口,从而形成一个逻辑无环拓扑,避免广播风暴
  • 当现在链路出现问题,被禁用的链路可以重新启用,从而形成新逻辑无环拓扑,起到了链路备份的作用

STP的工作原理

角色

  • 步骤一:选举根网桥(Root Bridge),作为整个网络的根
  • 步骤二:确定根端口(Root Port RP),在每个非根交换机上选举一个根端口(RP-根端口)
  • 步骤三:确定指端口(Designated Port DP),在每条链路(每个网段)上选举一个指定端口(DP-指定端口)
  • 步骤四:阻塞备用端口(Alternate Port AP),阻塞非指定端口

选举根网桥

  • 比较网桥ID(BID)选择网桥ID值最小的交换机为根网桥
  • BID:优先级+MAC(总长度8字节)
  • 优先级:默认32768
  • 理论范围:0~65535
  • 实际范围:0~61440
  • 步长值:4096

确定根端口(RP)

  • 每个非根交换机上选举一个根端口,即:非根交换机到根交换机的根路径开销值最小的端口(根路径成本最小)
  • cost:开销值(到达根交换机的路径成本)
  • 默认值:100M端口【200000】、1000M(1G)端口【20000】、10000M(10G)端口【2000】
  • BID:优先级+MAC(对端设备的)
  • PID(端口ID):优先级+端口号(对端设备)
  • 端口优先级:默认值128
  • 范围:0~240
  • 步长值16

确定指端口(DP)

  • 在每条链路(每个网段)上选举一个指定端口(DP)
    ps:根桥上的接口都是指定端口
  • 如果根路径成本相同,则对比端口所在交换机的网桥ID,网桥ID小的端口为指定端口(端口自己所在的网桥ID)
  • PID(端口ID):优先级+端口号(自己的)
  • 端口优先级:默认值128
  • 范围:0~240
  • 步长值:16

STP基础配置

  • display stp //查看生成树状态信息
  • display bridge mac-address //查看交换机自己的MAC
  • display stp brief //查看接口STP简要信息
  • stp priority 4096 //修改BID中的优先级

BPDU报文

BPDU:桥协议数据单元

  • 作用:交换机之间通过周期性发送BPDU报文,来实现STP功能

BPDU的四个重要字段:

  • 根网桥ID:根交换机的BID
  • 根路径开销:本端口累计到根桥的开销值(cost值)
  • 发送网桥ID:本交换机的BID
  • 端口ID:发送该BPDU报文的端口的ID

BPDU类型

  • 配置BPDU
  • 拓扑变更BPDU

STP端口的五种状态

  • 禁用(disabled):强制关闭,没有启动STP协议
  • 阻塞(blocking):只接收BPDU报文,不发送BPDU报文
  • 侦听(listening):比较BPDU报文,确定交换机角色和端口角色
  • 学习(learning):基于端口上收到的数据帧,学习MAC地址表
  • 转发(forwarding):电口最终的状态,能够发送和接收用户数据

STP3种计时器

  • hello时间:端口发送的BPDU报文的时间间隔:默认是2秒
  • 转发延迟(forward delay):侦听-学习:15秒、学习-转发:15秒
  • 最大老化时间(Max Age):一个端口最大的"没有接收BPDU报文"的时间间隔:20秒
    ps:50秒的转发延时

快速生成树

RSTP:快速生成树,在STP的基础上优化而来

  • 作用:实现网络的快速收敛,降低网络故障时间,提高数据转发的效率

RSTP对STP的改进

  • 引入了P/A机制(让指定端口尽快进入转发状态)
  • 增加了两种端口角色(BP和AP)
    Backup Port(备份端口)是指定端口的备份端口
    Alternate Port(备用端口)是根端口的替换端口
  • 减少了三种端口状态(禁用、阻塞、侦听三种状态合为一种)

MSTP

MSTP概述

MSTP作用:

  • 默认生成树协议只形成一个网络拓扑,不能有效利用所有网络带宽
  • 为了实现网络的负载均衡,需要让网络形成多个无环拓扑,让不同vlan的主机,选择不同的拓扑来传送数据

端口状态:

  • Discarding(丢弃):相当于STP中的禁用、侦听、阻塞,不转发用户数据
  • Learning(学习):和STP中的学习状态相同
  • Forwarding(转发):和STP中的转发状态相同

MSTP配置

  • 每个交换机创建vlan,交换机相连的接口配置为trunk

配置STP模式为MSTP:

  • stp mode mstp //修改mstp模式(华为设备默认模式MSTP)
  • 交换机创建MSTP域名,实例和vlan的对应关系
  • 交换机上激活MSTP区域配置
    即:
  • S1\]stp mode mstp //启用MSTP协议

  • S1-mst-region\]region-name vlan10 //定义区域名为vlan10

  • S1-mst-region\]active region-configuration //激活区域配置

相关推荐
SuperHeroWu71 小时前
【HarmonyOS 5】鸿蒙检测系统完整性
华为·harmonyos·模拟器·系统完整性·越狱设备
wang09071 小时前
网络协议之为什么要分层
网络·网络协议
EasyDSS2 小时前
EasyCVR视频汇聚平台助力大型生产监控项目摄像机选型与应用
网络·人工智能·音视频
等猪的风3 小时前
openwrt作旁路由时的几个常见问题 openwrt作为旁路由配置zerotier 图文讲解
运维·服务器·网络
千码君20164 小时前
什么是数据链路层的CRC检测以及为什么要放到帧尾?
服务器·网络·网络协议·以太网·奇偶校验·crc检测·以太网帧
后院那片海4 小时前
Web基础与HTTP协议
网络·网络协议·http
科技小E4 小时前
EasyRTC嵌入式音视频通信SDK智能安防与监控系统的全方位升级解决方案
大数据·网络·人工智能·音视频
程高兴5 小时前
高压直流输电MATLAB/simulink仿真模型+说明文档
开发语言·网络·matlab
一马平川的大草原7 小时前
读书笔记--华为从偶然到必然之创新与技术开发阅读有感
华为·学习笔记·读书笔记
半青年8 小时前
鸿蒙系统应用开发全栈指南
华为·华为云·harmonyos