STP的BPDU报文

BPDU报文

为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在BPDU(Bridge Protocol Data Unit)中。BPDU有两种类型:配置BPDUTCN BPDU

  • 配置BPDU包含了桥ID、路径开销和端口ID等参数。STP协议通过在交换机之间传递配置BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。在初始化过程中,每个桥都主动发送配置BPDU。在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。
  • TCN BPDU是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知

配置BPDU中包含了足够的信息来保证设备完成生成树计算,其中包含的重要信息如下:

报文字段 字节数 说明
PID 2字节 STP协议ID,该字段总是为0
PVI 1字节

STP协议版本

  • STP(802.1D)传统生成树,值为0;
  • RSTP(802.1W)快速生成树,值为2;
  • MSTP(802.1S)多生成树,值为3;
BPDU Type 1字节

指示当前BPDU消息类型配置BPDUTCN BPDU

  • 0x00为配置BPDU,负责建立,维护STP拓扑;
  • 0x80为TCN BPDU,传达拓扑变更;
Flags 1字节

标志

  • 最低位=TC(Topology Change,拓扑变化)标志,
  • 最高位=TCA(Topology Change Acknowledgement,拓扑变化确认)标志
Root ID 8字节 根桥ID,指示当前根桥的RID(即“根ID”),由2字节的桥优先级和6字节MAC地址构成
RPC 4字节 根路径开销,指示发送该BPDU报文的端口累计到根桥的开销
Bridge ID 8字节 桥ID,指示发送该BPDU报文的交换设备的BID(即“发送者BID”),也是由2字节的桥优先级和6字节MAC地址构成
Port ID  2字节 端口ID,指示发送该BPDU报文的端口ID,即“发送端口ID”
Message Age 2字节 消息生存时间,指示该BPDU报文的生存时间,即端口保存BPDU的最长时间,过期后将删除,要在这个时间内转发才有效,如果配置BPDU是直接来自根桥的,则Message Age为0,如果是其他桥转发的,则Message Age是从根桥发送到当前桥接收到BPDU的总时间,包括传输延时等。实际实现中,配置BPDU报文经过一个桥,Message Age增加1,如果Message Age大于Max Age,非根桥会丢弃该配置BPDU。
Max Age 2字节 最大生存时间,指示BPDU消息的最大生存时间,也即老化时间
Hello Time 2字节 Hello消息定时器,指示发送两个相邻BPDU的时间间隔,根桥通过不断发送STP维持自己的地位,Hello time 是发送的间隔时间
Fwd Delay 2字节 转发延时,指示控制listening和learning状态的持续时间,表示在拓扑结构改变后,交换机在发送数据包前维持在监听和学习状态的时间

STP 计时器

Hello Time是指运行STP协议的设备发送配置BPDU的时间间隔,用于检测链路是否存在故障。交换机每隔Hello Time时间会向周围的交换机发送配置BPDU报文,以确认链路是否存在故障。当网络拓扑稳定后,该值只有在根桥上修改才有效。

Message Age是从根桥发送到当前交换机接收到BPDU的总时间,包括传输延时等。如果配置BPDU是根桥发出的,则Message Age为0。实际实现中,配置BPDU报文每经过一个交换机,Message Age增加1

Max Age是指BPDU报文的老化时间,可在根桥上通过命令人为改动这个值。Max Age通过配置BPDU报文的传递,可以保证Max Age在整网中一致。非根桥设备收到配置BPDU报文后,会将报文中的Message Age和Max Age进行比较:如果Message Age小于等于Max Age,则该非根桥设备会继续转发配置BPDU报文。如果Message Age大于Max Age,则该配置BPDU报文将被老化掉。该非根桥设备将直接丢弃该配置BPDU,并认为是网络直径过大,导致了根桥连接失败。

Forward Delay是指端口状态迁移时间。STP生成树需要一定的时间,如果选出来的根端口或者指定端口马上进入转发状态的话,可能就会总成临时工作环路。forward delay机制:新选出来的根端口和指定端口需要经过两倍的forward delay时间延时后才可以进入用户数据帧的转发状态,保证此时工作拓扑已无环路。

 

posted @ 2021-09-19 09:15  两口猪头肉OVO  阅读(2156)  评论(0编辑  收藏  举报