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]stp region-configuration //创建MSTP区域
  • [S1-mst-region]region-name vlan10 //定义区域名为vlan10
  • [S1-mst-region]instance 1 vlan 10 //指定实例与vlan的对应关系
  • [S1-mst-region]active region-configuration //激活区域配置
  • [S1]stp instance 1 priority 4096 //配置SW1为vlan10的根
相关推荐
DC_BLOG1 小时前
IPv6(四)
运维·服务器·网络·ip
明朝百晓生1 小时前
无线感知会议系列【3】【基于WiFi和4G/5G的非接触无线感知:挑战、理论和应用-1】
网络·5g
江拥羡橙2 小时前
HarmonyOS应用开发者基础认证
华为·harmonyos
甜兒.2 小时前
鸿蒙小技巧
前端·华为·typescript·harmonyos
城南云小白4 小时前
Linux网络服务只iptables防火墙工具
linux·服务器·网络
羌俊恩5 小时前
视频服务器:GB28181网络视频协议
服务器·网络·音视频
Flying_Fish_roe5 小时前
linux-网络管理-网络配置
linux·网络·php
hellojackjiang20116 小时前
即时通讯框架MobileIMSDK的H5端开发快速入门
网络·即时通讯·im开发
有时间要学习7 小时前
Linux——应用层自定义协议与序列化
linux·服务器·网络
Tony聊跨境7 小时前
什么是 SSL 代理?
网络·网络协议·ssl