BPDU (Bridge Protocol Data Unit)是数据链路层的协议之一,它被用于交换桥协议信息,用于网络中的交换机之间维护一致的连通性树结构。它是STP (Spanning Tree Protocol)算法所需要的基本信息交换载体。本文将从BPDU报文类型、报文格式以及报文内容三个角度详细解释BPDU的工作原理。
BPDU报文类型
BPDU报文类型分为配置型、TCN(Topology Change Notification)型两种。其中,配置型BPDU主要是用来传送STP算法相关的参数信息,包括生成配置BPDU以及相应的确认报文Hello BPDU。TCN BPDU用于通知拓扑结构的变化信息。
BPDU报文格式
BPDU是一种二层协议,不同于一些常见的网络协议至少有网络层IP协议和传输层TCP/UDP协议。BPDU在数据链路层通过数据帧进行传输,其数据帧结构如下:
- DA (Destination Address):设备的MAC地址(01-80-C2-00-00-00);
- SA (Source Address):源设备的MAC地址;
- Ethertype:表示将要使用的网络层协议;
-版本号和类型(2字节):Version(4bits):描述此协议版本号;Type(12bits):对应上面两种BPDU报文类型之一;
- 标志(1字节):Protocol Identifier:描述所使用的协议ID号;
- 优先级和ID(2字节):Priority(2 bits):描述生成树的优先级;Spanning-tree Identifier(6 bytes):生成树的唯一ID;
- 前置字节(1字节):用于多种消息类型,长度介于4和59字节;
- Root ID (8 bytes):全局根桥的ID;
- Cost (4 bytes):头端口连接到根网桥的开销;
- Bridge ID (8 bytes):该网桥的ID;
- Port ID (2 bytes):交换机上接口的ID号;
- Message Age (2 bytes):从生成树变革时开始的秒数;
- Max Age (2 bytes):从根网桥到交换机的最大时间;
- Hello Time (2 bytes):向所有接口广播自己的基本计时器;
- Fwd Delay (2 bytes):指示通过交换机时转发数据包的时间。
BPDU报文内容
BPDU报文中包含了交换机优先级、MAC地址以及连接到根桥的开销等重要参数。交换机根据这些参数来确定生成树中的根,以及为什么使用哪个连接路径。如果网络中移除或添加了一个交换机,网络管理员必须重新计算各个接口链路的开销值,并更新生成树信息,以此来确保网路始终保持连通。
在实际应用中,BPDU报文可以通过网络协议分析工具进行观察和捕捉,以发现网络链路的异常以及帮助排查故障。
扫码咨询 领取资料