眾所周知,不同 VLAN 接口“自環(huán)”了不會產(chǎn)生廣播風(fēng)暴,但是否會被 STP 阻塞掉呢?
舉個簡單的拓?fù)洌?/p>
這個拓?fù)渲?,SW1的G0/0/1和G0/0/2分別屬于不同的VLAN1和VLAN2,兩個口同時接傻瓜交換機(jī),相當(dāng)于“物理自環(huán)”了,但其實(shí)邏輯上并未環(huán)路,這種自環(huán)網(wǎng)絡(luò)是不會產(chǎn)生廣播風(fēng)暴的,如下圖:
廣播包進(jìn)入1口后打上缺省tag 1,即不會再向VLAN2的2口轉(zhuǎn)發(fā),不會產(chǎn)生環(huán)路風(fēng)暴。那么這種情況下,交換機(jī)啟用STP功能,這兩個口會不會被阻塞掉一個呢?說明這個問題之前先來模擬一下。
搭建拓?fù)?/h4>
本例通過eNSP搭建拓?fù)溥M(jìn)行模擬,交換機(jī)使能STP模式,1口配置為Access VLAN1,2口配置為Access VLAN2。
等待拓?fù)涫諗浚榭瓷蓸涫諗康淖罱K狀態(tài):
可以看到最終是2口被阻塞了,STP優(yōu)先級比較是“小優(yōu)”,1口優(yōu)先級更高阻塞2口符合預(yù)期。
但很顯然,STP協(xié)議并不關(guān)心1、2口是否屬于不同VLAN,即便是邏輯拓?fù)渖喜怀森h(huán)協(xié)議也會把它阻塞掉,這個結(jié)果其實(shí)并不符合大眾用戶的心理預(yù)期,屬于“誤阻塞”。那為什么為這樣呢?
原理分析
STP協(xié)議收斂的依據(jù)是BPDU報文的交互,交換機(jī)端口使能STP后,BPDU是端口發(fā)出來的,每個端口發(fā)出的BPDU均不一樣。BPDU報文是802.3/LLC幀格式封裝的,和我們常見的以太網(wǎng)數(shù)據(jù)報802.3 Ethernet 2幀格式有一些區(qū)別:
STP和RSTP的BPDU中是不包含VLAN信息的,所以生成樹協(xié)議不會基于端口VLAN去做判斷和比較。
那么在MSTP中的表現(xiàn)是怎么樣的呢?
MSTP不同VLAN接口的收斂
MSTP是可以配置VLAN在不同的實(shí)例中收斂的,兩個情況:
1.默認(rèn)配置
默認(rèn)情況下VLAN1和2都是MSTP的實(shí)例0,兩個口都在默認(rèn)實(shí)例0中收斂自然也會阻塞優(yōu)先級最低的那個口:
2. 配置實(shí)例
如果將VLAN1和VLAN2分別劃入不同實(shí)例1和2,那么實(shí)例之間是獨(dú)立收斂計算的,1、2物理口不會被阻塞,轉(zhuǎn)發(fā)機(jī)制如下:
- 處于VLAN1的數(shù)據(jù)會在實(shí)例1的生成樹中轉(zhuǎn)發(fā);
- 處于VLAN2的數(shù)據(jù)會在實(shí)例2的生成樹中轉(zhuǎn)發(fā);
- 其余VLAN數(shù)據(jù)在實(shí)例0中轉(zhuǎn)發(fā),但小優(yōu)口會被阻塞掉。
配置了MSTP的實(shí)例后,BDPU報文中是有MSTID字段的,交換機(jī)橋之間的交互計算會基于實(shí)例收斂:
總結(jié)
上述原理看不懂沒關(guān)系,慢慢再琢磨就行,但是下述總結(jié)務(wù)必記好:
Q:交換機(jī)使能STP或RSTP,不同VLAN接口“自環(huán)”了是否會被阻塞掉其中1個口?
A:會,阻塞掉優(yōu)先級小的那個口。
Q:如果是使能MSTP呢?
A:分兩種情況:
- 默認(rèn)不配置實(shí)例就和RSTP一樣,會阻塞優(yōu)先級小的那個口;
- 配置實(shí)例后,1口和2口在不同實(shí)例中均處于轉(zhuǎn)發(fā)狀態(tài)。