STP(Spanning Tree Protocol,生成树协议)是一种二层(数据链路层)管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。最初被广泛应用的是IEEE 802.1D STP,随后以它为基础产生了IEEE 802.1w RSTP (Rapid Spanning Tree Protocol,快速生成树协议)和IEEE 802.1s MSTP(Multiple Spanning Tree Protocol,多生成树协议)。STP/RSTP/MSTP在
STP/RSTP/MSTP的BPDU报文格式
+--------------------------------+
| DMAC |
+--------------------------------+
| SMAC |
+--------------------------------+
| Length |
+--------------------------------+
| LLC header |
+--------------------------------+-----------------------
| Protocol Identifier | ^
+--------------------------------+ |
| Protocol Version Identifier | |
+--------------------------------+ |
| BPDU Type | |
+--------------------------------+ |
| Flags | |
+--------------------------------+ |
| Root Identifier | |
+--------------------------------+ |
| Root Path Cost | |
+--------------------------------+ |
| Bridge Identifier | |
+--------------------------------+ |
| Port Identifier | |
+--------------------------------+ |
| Message Age | |
+--------------------------------+ BPDU
| Max Age | payload
+--------------------------------+ |
| Hello Time | |
+--------------------------------+ |
| Forward Delay | |
+--------------------------------+---------- |
| Version 1 Length | RSTP/MSTP |
| | Extension |
+--------------------------------+---------- |
| Version 3 Length | ^ |
+--------------------------------+ | |
| MST Config ID Format Selector | | |
+--------------------------------+ | |
| MST Config Name | | |
+--------------------------------+ | |
| MST Config reversion | | |
+--------------------------------+ | |
| MST Config Digest | MSTP |
+--------------------------------+ Extension |
| CIST Internal Root Path Cost | | |
+--------------------------------+ | |
| CIST Bridge Identifier | | |
+--------------------------------+ | |
| CIST Remaining Hops | | |
+--------------------------------+ | |
| MSTI configuration Messages | | |
| (may be absent) | V V
+--------------------------------+-----------------------
| FCS |
+--------------------------------+
Copy
2、对应字段说明:
字段 | 长度 | 说明 |
---|---|---|
DMAC | 6字节 | 目的MAC地址,该字段标识帧的接收者。 |
SMAC | 6字节 | 源MAC地址,该字段标识帧的发送者。 |
Length | 2字节 | 指后续数据的字节长度,但不包括FCS字段。 |
Protocol Identifier | 2字节 | 协议ID=“0”。 |
Protocol Version Identifier | 1字节 | 协议版本标识符,STP为0x00,RSTP为0x02,MSTP为0x03。 |
BPDU Type | 1字节 | BPDU类型:
|
Flags | 1字节 | 标记域。对于STP:第一个bit(左边、高位bit)表示“TCA(拓扑改变响应)”,最后一个bit(右边、低位bit)表示“TC(拓扑改变)”,其他字段预留。 对于RSTP和MSTP:
|
Root Identifier | 8字节 | 网桥ID都是8个字节——前两个字节是网桥优先级,后6个字节是网桥MAC地址。对于MSTP,是指CIST的总根交换机ID。 |
Root Path Cost | 4字节 | 根路径开销,本端口累计到根桥的开销。对于MSTP,是指CIST外部路径开销指从本交换机所属的MST域到CIST根交换机的累计路径开销。CIST外部路径开销根据链路带宽计算。 |
Bridge Identifier | 8字节 | 发送者BID,本交换机的Bridge ID。对于MSTP,是指CIST的域根交换机ID,即IST Master的ID。如果总根在这个域内,那么域根交换机ID就是总根交换机ID。 |
Port Identifier | 2字节 | 发送端口PID,发送该BPDU的端口ID。对于MSTP,是指本端口在IST中的指定端口ID。 |
Message Age | 2字节 | 该BPDU的消息年龄,以秒为单位。 |
Max Age | 2字节 | 消息老化年龄,以秒为单位,超时则认为到根交换机的链路故障。 |
Hello Time | 2字节 | 发送两个相邻BPDU间的时间间隔,以秒为单位。 |
Forward Delay | 2字节 | 控制Listening和Learning状态的持续时间,以秒为单位。 |
Version 1 Length | 1字节 | Version1 BPDU的长度,值固定为0。只在RSTP和MSTP的BPDU中出现,STP的BPDU没有此字段。 |
Version 3 Length | 2字节 | Version3 BPDU的长度,只在MSTP的BPDU中出现。 |
MST Config ID Format Selector | 1字节 | 固定为0。 |
MST Config Name | 32字节 | “域名”,字符串格式。 |
MST Config reversion | 2字节 | 非负整数。 |
MST Config Digest | 16字节 | 利用HMAC-MD5算法将域中VLAN和实例的映射关系加密成16字节的摘要。 |
CIST Internal Root Path Cost | 4字节 | CIST内部路径开销,指从本端口到IST Master交换机的累计路径开销,只在MSTP的BPDU中出现。CIST内部路径开销根据链路带宽计算。 |
CIST Bridge Identifier | 8字节 | CIST的指定交换机ID,只在MSTP的BPDU中出现。 |
CIST Remaining Hops | 1字节 | BPDU报文在CIST中的剩余跳数,只在MSTP的BPDU中出现。 |
MSTI Configuration Messages (may be absent) | n×16字节 | MSTI配置信息,只在MSTP的BPDU中出现。每个MSTI的配置信息占16 bytes,如果有n个MSTI就占用n×16bytes。单个MSTI Configuration Messages的字段说明如下:
|
FCS | 4字节 | 帧校验序列FCS(Frame Check Sequence)是为接收网卡提供判断是否传输错误的一种方法,如果发现错误,丢弃此帧。 FCS只是通用叫法,具体的FCS还可以细分多种校验方法。在以太帧中,FCS通常采用循环冗余码校验CRC(Cyclical Redundancy Check)。 |
标签: STP RSTP MSTP 帧格式
版权所有
侵权必究
阅读
分享
上一篇
STP协议-网络环路导致的问题下一篇
STP选举过程和规则
相关推荐
-
STP协议中的BPDU类型-
-
STP中的BPDU报文格式
-
STP选举过程和规则
-
STP协议-网络环路导致
发布评论
最近更新
-
16/05月
华为设备查询MIB对应OID值
-
16/05月
通过Ansible fetch批量收集服务器log等日志文件
-
16/05月
ESXI添加硬盘时提示 无法创建 VMFS 数据存储 - ...
-
16/05月
Intel X700系列网卡(i40e驱动)看不到LLDP邻居 收不...
-
07/05月
H3C出口设备nat server端口映射解决NAT回流问题
-
07/05月
Windows cmd输出筛选命令find用法
- 1Unix Linux时间戳(timestamp)转换工具
- 2Redhat Linux 如何查找大文件? 大于1G的文件
- 3Cisco 2811 Cisco2911 忘记enable密码重置方法,同样适用思科Cisco系列的其他路由器和交换机(Cisco1921,Cisco 2960,Cisco3560,Cisco3750
- 4resize2fs: Bad magic number in super-block while trying to open /dev/mapper/centos-home Couldn'
- 5Redhat7.6 Redhat7.4 手动安装Oracle11gR2数据库教程 版本11.2.0.4-非常详细
- 6H3C路由器 交换机SSH远程登录配置
- 7Centos7\RHEL 7重置root系统密码
- 8IPv6地址可用性在线Ping检测
- 9pycharm创建虚拟环境后, terminal默认进入的不是虚拟环境怎么处理?
- 10阿里云服务器IPv6地址无法ping通,阿里云ecs IPv6安全组配置