众所周知,不同 VLAN 接口“自环”了不会产生广播风暴,但是否会被 STP 阻塞掉呢?

网络
本例通过eNSP搭建拓扑进行模拟,交换机使能STP模式,1口配置为Access VLAN1,2口配置为Access VLAN2。

举个简单的拓扑:

这个拓扑中,SW1的G0/0/1和G0/0/2分别属于不同的VLAN1和VLAN2,两个口同时接傻瓜交换机,相当于“物理自环”了,但其实逻辑上并未环路,这种自环网络是不会产生广播风暴的,如下图:

广播包进入1口后打上缺省tag 1,即不会再向VLAN2的2口转发,不会产生环路风暴。那么这种情况下,交换机启用STP功能,这两个口会不会被阻塞掉一个呢?说明这个问题之前先来模拟一下。

搭建拓扑

本例通过eNSP搭建拓扑进行模拟,交换机使能STP模式,1口配置为Access VLAN1,2口配置为Access VLAN2。

等待拓扑收敛,查看生成树收敛的最终状态:

可以看到最终是2口被阻塞了,STP优先级比较是“小优”,1口优先级更高阻塞2口符合预期。

但很显然,STP协议并不关心1、2口是否属于不同VLAN,即便是逻辑拓扑上不成环协议也会把它阻塞掉,这个结果其实并不符合大众用户的心理预期,属于“误阻塞”。那为什么为这样呢?

原理分析

STP协议收敛的依据是BPDU报文的交互,交换机端口使能STP后,BPDU是端口发出来的,每个端口发出的BPDU均不一样。BPDU报文是802.3/LLC帧格式封装的,和我们常见的以太网数据报802.3 Ethernet 2帧格式有一些区别:

STP和RSTP的BPDU中是不包含VLAN信息的,所以生成树协议不会基于端口VLAN去做判断和比较。

图片

那么在MSTP中的表现是怎么样的呢?

MSTP不同VLAN接口的收敛

MSTP是可以配置VLAN在不同的实例中收敛的,两个情况:

1.默认配置

默认情况下VLAN1和2都是MSTP的实例0,两个口都在默认实例0中收敛自然也会阻塞优先级最低的那个口:

2. 配置实例

如果将VLAN1和VLAN2分别划入不同实例1和2,那么实例之间是独立收敛计算的,1、2物理口不会被阻塞,转发机制如下:

  • 处于VLAN1的数据会在实例1的生成树中转发;
  • 处于VLAN2的数据会在实例2的生成树中转发;
  • 其余VLAN数据在实例0中转发,但小优口会被阻塞掉。

配置了MSTP的实例后,BDPU报文中是有MSTID字段的,交换机桥之间的交互计算会基于实例收敛:

总结

上述原理看不懂没关系,慢慢再琢磨就行,但是下述总结务必记好:

Q:交换机使能STP或RSTP,不同VLAN接口“自环”了是否会被阻塞掉其中1个口?

A:会,阻塞掉优先级小的那个口。

Q:如果是使能MSTP呢?

A:分两种情况:

  • 默认不配置实例就和RSTP一样,会阻塞优先级小的那个口;
  • 配置实例后,1口和2口在不同实例中均处于转发状态。
责任编辑:赵宁宁 来源: 小云君网络
相关推荐

2010-07-10 12:04:28

2010-05-12 17:32:18

2020-10-22 08:06:40

私有网络物联网IOT

2009-07-07 11:26:21

2009-11-01 16:17:16

2020-01-15 08:42:16

TCP三次握手弱网络

2019-10-30 05:24:32

STP树协议网络协议

2011-07-27 11:29:46

STP生成树交换机

2014-06-30 09:32:24

VLAN交换机

2009-01-15 09:57:00

2023-09-24 23:07:24

流量抑制风暴控制

2021-10-13 06:49:15

网络 IO

2013-12-27 15:42:34

小米闪购

2011-12-25 20:45:59

云计算

2009-03-06 10:10:00

广播风暴网络

2022-02-04 21:17:27

机器智能应用

2022-10-18 07:10:09

Python应用程序模块

2010-08-05 10:58:18

Vlan端口

2014-07-18 09:54:57

vlan路​由​器

2018-08-29 14:56:42

SSD接口固态硬盘
点赞
收藏

51CTO技术栈公众号