STP协议概述

二层网络设备的防环机制——STP协议

 

一、STP协议是什么

  STP(Spanning Tree Protocol)是运行在交换机上的二层协议,它的主要功能是确保在网络中存在冗余链路时不会产生环路。

  STP遵循IEEE802.1D标准,运行了STP协议的设备会彼此交互信息来发现网络中的环路,然后STP会将部分冗余链路强制阻塞,形成树状网络拓扑,以达到破环的目的。当处于转发状态的链路不可用时,STP会重新配置网络,激活合适的备选链路。

二、STP协议的三要素

  从环形网络拓扑结构到树形结构,STP有三个要素:根桥根端口指定端口

  • 根桥:对于一个STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。在进行根桥的选择时,一般会选择性能高、网络层次高的交换设备作为根桥。根桥会根据网络拓扑的变化而动态变化。在配置STP过程中,建议手动配置根桥和备份根桥。请配置最核心的交换设备为根桥,以保证STP二层网络的稳定性,否则新接入设备可能会触发STP根切换,从而导致业务短暂中断。
  • 根端口:去往根桥路径开销最小的端口,根端口负责向根桥方向转发数据,这个端口的选择标准是依据路径开销判定。在一台设备上所有使能STP的端口中,根路径开销最小者,就是根端口。很显然,在一个运行STP协议的设备上根端口有且只有一个,根桥上没有根端口。
  • 指定端口:指定桥向本设备转发配置消息(BPDU报文)的端口或者指定桥向本网段转发配置消息的端口。

  此外,交换设备和端口都有ID,分别是桥ID(BID)和端口ID(PID)。端口ID由端口优先级和端口号组成。桥ID由桥优先级和桥MAC两部分组成,在STP网络中,桥ID最小的设备会被选举为根桥。

  一旦根桥、根端口、指定端口选举成功,则整个树形拓扑建立完毕。在拓扑稳定后,只有根端口和指定端口转发流量,其他的非根、非指定端口都处于阻塞(Blocking)状态,它们只接收STP协议报文而不转发用户流量。

三、STP报文格式

  上述桥ID、路径开销和端口ID等信息都是通过BPDU协议报文传输的。BPDU报文被封装在以太网数据帧中,目的MAC是组播MAC:01-80-C2-00-00-00,Length/Type字段为MAC数据长度,后面是LLC头,LLC之后是BPDU报文头。

 

   在初始化过程中,每个桥都主动发送配置BPDU。但在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他桥在收到上游传来的配置BPDU后,才触发发送自己的配置BPDU。配置BPDU的长度至少要35个字节,包含了桥ID、路径开销和端口ID等参数,即{根桥ID,累计根路径开销,发送者BID,发送端口PID}。只有当发送者的BID或端口的PID两个字段中至少有一个和本桥接收端口不同,BPDU报文才会被处理,否则丢弃。这样避免了处理和本端口信息一致的BPDU报文。

四、STP的实现过程

  STP的树形结构实现过程如下:

  1. 网络初始化时,网络中所有的STP设备都认为自己是“根桥”,根桥ID为自身的设备ID。通过交换BPDU消息,设备之间比较根桥ID,网络中根桥ID最小的设备被选为根桥。根桥上的所有端口都是转发状态。

  2. 非根桥设备将接收最优配置消息的那个端口定为根端口,根端口也是处于转发状态。
  3. 设备根据根端口的配置消息和根端口的路径开销,为每个端口计算一个指定端口配置消息,然后将计算出的配置消息与角色待定端口自己的配置消息进行比较:
    • 如果计算出的配置消息更优,则该端口被确定为指定端口,其配置消息也被计算出的配置消息替换,并周期性地向外发送;

    • 如果该端口自己的配置消息更优,则不更新该端口的配置消息并将该端口阻塞。该端口将不再转发数据,且只接收不发送配置消息。

五、参考文献

support.huawei.com      技术支持>文档中心>交换机>数据中心交换机>CloudEngine 58&68&78&88&98>配置调测 

posted @ 2022-04-12 14:00  超级无敌狍子  阅读(1438)  评论(0编辑  收藏  举报