BPDU(Bridge Protocol Data Unit):桥协议数据单元的帧格式和说明


STP中的BPDU信息分为2大类,4小类

在配置BPDU中存在两个flag置位,分别表示TCA(topology Change Acknowledgment)与TC(Topology Change)
配置BPDU中包含3种类型:
配置BPDU:
TYPE 字段 0x00
Falgs 字段 TC=0 TCA=0
作用一——选举:二层网络刚刚开始运行时,所有的交换机均认为自己是Root,并发送配置BPDU,所有交换机将收到的BPDU与自身BPDU进行对比,选举出一个根桥;当根桥选举完成,根桥将以默认2秒的通告周期,发送以自己为根桥的配置BPDU,其他交换机根据收到的BPDU选择一个根端口用于接收,将BPDU信息中的桥ID替换为自身,再从自己的指定端口转发给连接的其他交换机,这个过程中BPDU像水从树根(Root)输送到每一片叶子(交换机)的流程;没有成为指定端口以及根端口的其他端口将进行阻塞(Blocking);
作用二——维护:当网络中的所有STP角色选举完成,为了保持网络的稳定性,根桥继续周期性发送BPDU信息,被阻塞的端口会不断的侦听对端发送的BPDU,如果超过一定时间内没有收到BPDU信息,阻塞端口认为网络发生变化,网络将会重新进行收敛计算;
TC BPDU:
TYPE 字段 0x00
Falgs 字段 TC = 1 TCA = 0
当根桥接收到TCN BPDU时(发现网路发生变化),根桥需要使用TC BPDU通告整个网络,以便于网络中的所有交换机进行对应的网络收敛,值得一提的是网络中所有交换机收到TC BPDU后将自身的MAC地址表老化时间设置为15s,进行MAC地址的重新学习(MAC地址老化时间默认为300s);
TCA BPDU:
TYPE 字段 0x00
Flags 字段 TC = 1 TCA = 1
当交换机从端口收到TCN BPDU时需要回应确认报文,用于阻止对方持续发送的TCN BPDU,否则对方将持续从接口发送TCN;
TCN BPDU:
TCN BPDU(拓扑变更BPDU):
检测到网络变化的交换机产生;
TYPE 字段 0x80
无Falgs 字段 TC = 0 TCA = 0
当网络中的交换机检测到网络发生变化时,将产生TCN BPDU,并将信息通过根端口向根桥方向转发,沿途收到TCN BPDU信息的交换机,向下游回应TCA阻止下端持续的TCN BPDU,并向再次从自身根端口向上游转发发TCN BPDU;