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 //激活区域配置

相关推荐
tmacfrank18 分钟前
Android 网络全栈攻略(四)—— TCPIP 协议族与 HTTPS 协议
android·网络·https
liulilittle27 分钟前
深度剖析:OPENPPP2 libtcpip 实现原理与架构设计
开发语言·网络·c++·tcp/ip·智能路由器·tcp·通信
cui_win28 分钟前
【内存】Linux 内核优化实战 - net.ipv4.tcp_tw_reuse
linux·网络·tcp/ip
夏天想2 小时前
优化 WebSocket 实现单例连接用于打印【待测试 】
网络·websocket·网络协议
我是小bā吖3 小时前
阿里云服务网格ASM实践
网络·阿里云·云计算·服务发现
吴free3 小时前
mac电脑wireshark快速实现http接口抓包
网络·测试工具·http·wireshark
艾希逐月4 小时前
TCP数据的发送和接收
服务器·网络·tcp/ip
D-海漠7 小时前
Modbus_TCP_V4 客户端
网络
虚!!!看代码7 小时前
【Sentinel学习】
网络·sentinel
liulilittle8 小时前
VGW 虚拟网关用户手册 (PPP PRIVATE NETWORK 基础设施)
开发语言·网络·c++·网关·智能路由器·路由器·通信