stp的bpdu报文是在哪个vlan里传输的?pvid vlan 吗?交换机的pvid vlan都是默认的vlan 1,没有改过,下图中交换机3的G1/0/1接口拒绝了vlan 1,他的bpdu报文为什么还能发出去呢?抓包可以看到bpdu报文没有带tag字段
S6850_1:接口G1/0/1是trunk,放行vlan 10 20,拒绝vlan 1;接口G1/0/2是access vlan 10
S6850_2:接口G1/0/1是trunk,放行vlan 10 20,拒绝vlan 1
S6850_3:接口G1/0/1是trunk,放行vlan 10 20,拒绝vlan 1

(0)
(1)
bpdu 是协议报文;不属于任何vlan ;
在华三交换机中 分两种情况;
1、交换机全局开启stp的情况下,stp 协议报文 不受端口vlan tag 影响,是直接上送cpu处理的;
2、全局关闭stp 的情况下,stp 按照普通业务报文转发,受到端口vlan tag 影响;在一些场景中由于端口vlan trunk ,pvid 等配置差异,可能会触发bpdu 单通的情况;
(0)
undo port trunk permit vlan 1(拒绝 VLAN1)只能拦截带 Tag 的 VLAN1 业务流量,无法拦截 MSTP BPDU;抓包现象对应:你捕获到的Spanning-tree-(for-bridges)_00报文无 802.1Q 标签,和理论完全吻合。
| 报文类型 | 封装形式 | 受 trunk 允许 VLAN 控制? | 作用 |
|---|---|---|---|
| 标准 MSTP/STP BPDU(802.1s/802.1d) | Untag 裸二层帧,无 VLAN 标签 ❌ | 不受 VLAN 允许列表控制 | 生成树拓扑计算、根桥协商(你现在抓的就是这类) |
| CST BPDU / PVST+ Cisco 私有 BPDU | 带 VLAN Tag 封装 ✅ | 受 trunk 允许 VLAN 限制 | 思科每 VLAN 生成树,H3C 一般不用 |
port trunk permit vlan 10 20
undo port trunk permit vlan 1
trunk permit vlan无法阻断,必须使用下面方案:interface GigabitEthernet 1/0/1
undo stp enable
01-80-C2-00-00-00acl layer2 4000
rule deny destination-mac 0180-c200-0000 ffff-ffff-ffff
rule permit
interface GigabitEthernet 1/0/1
packet-filter layer2 4000 inbound
packet-filter layer2 4000 outbound
undo port trunk permit vlan 1仅拦截带标签业务流量,拦不住 BPDU,因此你抓包依旧可以看到报文。(0)
你抓包看到的现象完全正确,这正是MSTP(多生成树协议)的标准行为。
根本原因在于,MSTP的BPDU(网桥协议数据单元)是一种控制平面的协议报文,它天生就不携带任何VLAN Tag(802.1Q标签)。它的传输和处理逻辑,和数据平面的普通数据帧完全不同。
报文格式:MSTP的BPDU采用 IEEE 802.3 的封装格式,而VLAN Tag是 IEEE 802.1Q 标准定义的。两者是独立的规范,因此BPDU报文本身不带有VLAN信息。
传输载体:这种不带Tag的BPDU,会通过端口的 Native VLAN(即端口的PVID) 进行传输。在你的场景中,因为Trunk端口的PVID是默认的VLAN 1,所以BPDU是在VLAN 1里传输的。
处理方式:对于开启了STP的交换机端口,收到BPDU后,会直接将其上送CPU进行处理。CPU会根据BPDU内容进行生成树计算,这个过程不受端口上VLAN允许列表(如port trunk permit vlan)的限制。
结合你的组网,可以这样理解:
BPDU的“通行证”:对于交换机CPU发出的BPDU,它被视为优先级最高的控制报文。它“穿越”Trunk端口时,不经过数据平面VLAN过滤机制的检查。
结论:因此,即使你在Trunk端口配置了undo port trunk permit vlan 1(拒绝VLAN 1),这个规则也只对携带VLAN 1 Tag的数据帧生效。对于不带Tag的BPDU,这个规则无效,所以BPDU可以正常发出。
虽然BPDU能发出去,但随意“修剪”VLAN 1可能会引发STP计算异常。因为STP(包括MSTP)的CIST(公共和内部生成树) 计算,其基础拓扑信息正是通过这个基于VLAN 1的BPDU来传递的。
如果某台交换机上所有端口都禁止了VLAN 1,它可能会错误地认为自己是根桥,并持续发送BPDU。这会导致网络中同时存在多个“根桥”,造成生成树无法正常收敛,甚至引发环路。
(0)
潜在风险:STP的计算与VLAN 1 虽然BPDU能发出去,但随意“修剪”VLAN 1可能会引发STP计算异常。因为STP(包括MSTP)的CIST(公共和内部生成树) 计算,其基础拓扑信息正是通过这个基于VLAN 1的BPDU来传递的。 如果某台交换机上所有端口都禁止了VLAN 1,它可能会错误地认为自己是根桥,并持续发送BPDU。这会导致网络中同时存在多个“根桥”,造成生成树无法正常收敛,甚至引发环路 大佬,能详细讲解下CIST计算吗,它的BPDU怎么是基于VLAN1传输的?
潜在风险:STP的计算与VLAN 1 虽然BPDU能发出去,但随意“修剪”VLAN 1可能会引发STP计算异常。因为STP(包括MSTP)的CIST(公共和内部生成树) 计算,其基础拓扑信息正是通过这个基于VLAN 1的BPDU来传递的。 如果某台交换机上所有端口都禁止了VLAN 1,它可能会错误地认为自己是根桥,并持续发送BPDU。这会导致网络中同时存在多个“根桥”,造成生成树无法正常收敛,甚至引发环路 大佬,能详细讲解下CIST计算吗,它的BPDU怎么是基于VLAN1传输的?
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明