BPDU报文、BPDU报文分类
BPDU报文
生成树拓扑计算是基于设备之间交互BPDU报文实现的,BPDU报文中携带了生成树拓扑计算需要的信息。BPDU报文被封装在以太网数据帧中,目的MAC:01-80-C2-00-00-00。
BPDU报文分类
BPDU报文可以分为以下几类。
- 配置BPDU(Configuration BPDU):STP用来进行生成树计算和维护生成树拓扑的报文。
- RST BPDU:RSTP用来进行生成树计算和维护生成树拓扑的报文。
- MST BPDU:MSTP用来进行生成树计算和维护生成树拓扑的报文。
- TCN BPDU(Topology Change Notification BPDU):网络拓扑发生变化时用来通知相关设备的报文。
BPDU报文格式
BPDU报文中根据Protocol Version Identifier和BPDU Type字段取值判断BPDU报文类型,具体如表1所示。
Protocol Version Identifier | BPDU Type | BPDU报文类型 |
---|---|---|
0 | 0x00 | 配置BPDU |
2 | 0x02 | RST BPDU |
3 | 0x02 | MST BPDU |
0 | 0x80 | TCN BPDU |
- 配置BPDU使用图1中的前35个字节。其中Root
Identifier、Root Path Cost、Bridge Identifier、Port
Identifier字段是配置BPDU报文的核心内容,这4个字段构成了消息优先级向量{ 根桥ID,根路径开销,发送设备BID,发送端口PID
}。
- Root Identifier:当前根桥的BID(Bridge ID)。BID是由桥优先级(Bridge Priority)与桥MAC地址构成。BID桥优先级占据高16位,其余的低48位是MAC地址。BID最小的设备会被选举为根桥。
- Root Path Cost:根路径开销,简称RPC。路径开销(Path Cost)是一个端口变量,是生成树协议用于选择链路的参考值。生成树协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树形网络结构。根路径开销就是某端口到根桥所经过的各个桥上的各端口路径开销的累加值。
- Bridge Identifier:发送设备的BID。
- Port Identifier:发送端口的PID(Port ID)。PID由两部分构成的,高4位是端口优先级,低12位是端口号。
- RST BPDU和配置BPDU基本一致,RST BPDU作了一些小变化。增加了Version 1 Length字段,并且Flags字段使用了中间的六位。Flags字段STP仅使用了最低位和最高位,中间六位保留。而RSTP使用了中间六位,如图2所示。
- MST BPDU前36个字节和RST BPDU相同,从第37个字节开始是MSTP专有字段。最后的MSTI配置信息字段由若干MSTI配置信息组连缀而成。
- TCN BPDU长度为4个字节,只使用了图1中的前3个字段,即只有Protocol Identifier(协议号)、Protocol Version Identifier(协议版本)和BPDU Type(BPDU类型)。
BPDU报文各字段含义详见表2。
域 | 字节 | 说明 |
---|---|---|
Protocol Identifier | 2 | 协议标识符。 |
Protocol Version Identifier | 1 | 协议版本标识符,STP为0,RSTP为2,MSTP为3。 |
BPDU Type | 1 | 当前BPDU类型:
|
Flags | 1 | 网络拓扑变化标志。对于MSTP,是指CIST标志字段。
|
Root Identifier | 8 | 当前根桥的BID。对于MSTP,代表CIST的总根BID。 |
Root Path Cost | 4 | 根路径开销,本端口累计到根桥的开销。对于MSTP,是指CIST外部路径开销,从本设备所属的MST域到CIST根桥所属MST域的累计路径开销。CIST外部路径开销根据链路带宽计算。 |
Bridge Identifier | 8 | 本设备的BID。对于MSTP,是指CIST的域根设备ID,即IST Master的ID。如果总根在这个域内,那么域根设备ID就是总根设备ID。 |
Port Identifier | 2 | 发送该BPDU的端口ID。对于MSTP,是指本端口在IST中的指定端口ID。 |
Message Age | 2 | BPDU报文的生存期。 如果配置BPDU是根桥发出的,则Message Age为0。否则,Message Age是从根桥发送到当前桥接收到BPDU的总时间,包括传输延时等。实际实现中,配置BPDU报文经过一个桥,Message Age增加1。 |
Max Age | 2 | BPDU报文的最大生存期,超时则认为到根设备的链路故障。 |
Hello Time | 2 | Hello Time定时器,缺省为2秒,即发送两个相邻BPDU的时间间隔。 |
Forward Delay | 2 | Forward Delay定时器,缺省为15秒。控制Listening和Learning状态的持续时间。 |
Version 1 Length | 1 | Version1 BPDU的长度,值固定为0。 |
Version 3 Length | 2 | Version3 BPDU的长度。 |
MST Configuration Identifier | 51 | MST配置标识,表示MST域的标签信息,包含4个字段。 |
CIST Internal Root Path Cost | 4 | CIST内部路径开销指从本端口到IST Master设备的累计路径开销。CIST内部路径开销根据链路带宽计算。 |
CIST Bridge Identifier | 8 | CIST的指定设备ID。 |
CIST Remaining Hops | 1 | BPDU报文在CIST中的剩余跳数。 |
MSTI Configuration Messages(may be absent) | 16 | MSTI配置信息。每个MSTI的配置信息占16 bytes,如果有n个MSTI就占用n×16bytes。 |
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » BPDU报文、BPDU报文分类
作者: cjh
手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm