BPDU报文类型及格式

2023年 12月 10日 106.3k 0

生成树协议中设备之间的拓扑计算是通过交互BPDU(Bridge Protocol Data Unit)报文实现的。

这些BPDU报文携带了生成树计算和维护生成树拓扑所需的信息。

BPDU报文类型

图片[1]-BPDU报文类型及格式-不念博客

配置BPDU(Configuration BPDU)

  • 说明: STP使用配置BPDU进行生成树计算和维护生成树拓扑的报文。
  • 目的: 确定根桥、根端口、指定端口等关键信息。
  • Protocol Version Identifier: 0
  • BPDU Type: 0x00
  • 核心字段:Root Identifier、Root Path Cost、Bridge Identifier、Port Identifier
  • Root Identifier:当前根桥的BID,由桥优先级与桥MAC地址构成。
  • Root Path Cost:根路径开销,表示某端口到根桥所经过的各个桥上的各端口路径开销的累加值。
  • Bridge Identifier:发送设备的BID。
  • Port Identifier:发送端口的PID,由端口优先级和端口号构成。

RST BPDU

  • 说明: RSTP使用RST BPDU进行生成树计算和维护生成树拓扑的报文。
  • 目的: 在RSTP中,这些BPDU报文用于快速收敛生成树拓扑。
  • Protocol Version Identifier: 2
  • BPDU Type: 0x02
  • RST BPDU与配置BPDU基本一致,增加了Version 1 Length字段和使用了Flags字段中间的六位。

MST BPDU

  • 说明: MSTP使用MST BPDU进行生成树计算和维护生成树拓扑的报文。
  • 目的: MSTP支持多个生成树实例,每个实例使用独立的MST BPDU进行拓扑计算。
  • Protocol Version Identifier: 3
  • BPDU Type: 0x02
  • MST BPDU前36个字节和RST BPDU相同,从第37个字节开始是MSTP专有字段。最后的MSTI配置信息字段由若干MSTI配置信息组连缀而成。

TCN BPDU(Topology Change Notification BPDU)

  • 说明: 用于通知网络拓扑发生变化的报文。
  • 目的: 当网络拓扑发生变化时,通知相关设备进行拓扑重计算。
  • Protocol Version Identifier: 0
  • BPDU Type: 0x80
  • 长度为4个字节,使用了Protocol Identifier、Protocol Version Identifier和BPDU Type字段。

BPDU报文格式

BPDU报文被封装在以太网数据帧中,其目的MAC地址通常为:01-80-C2-00-00-00。

BPDU报文格式包含多个字段,其中两个关键字段用于判断BPDU报文类型:

  • Protocol Version Identifier (PVID):
    • 用于指定生成树协议的版本。
  • BPDU Type:
    • 用于指定BPDU报文的类型,例如配置BPDU、RST BPDU、MST BPDU、TCN BPDU等。
  • 这些字段的值有助于设备识别BPDU报文的类型以及执行相应的拓扑计算。

    生成树协议通过这种交互的方式,确保网络中的设备始终保持对拓扑变化的感知,并根据生成树算法进行相应的调整,以维护环路防御和网络的稳定性。

    相关文章

    如何在 Linux 中使用 logname 命令?
    为什么有 HTTPS?HTTPS 如何实现安全通信?
    HTTPS的TSL握手流程是什么
    华为无线网络射频调优及WLAN跨VLAN的三层漫游示例
    502错误是什么、应该怎么排查?
    HTTP3为什么抛弃了经典的TCP,而选择QUIC

    发布评论