組網要求:三臺交換機 SW1、SW2及SW3兩兩相連,構成一個三角形的網絡拓撲。SW3模擬接入層交換機,SW1及SW2模擬匯聚層的交換機。
現在要求:
1. 搭建如圖所示的拓撲;在不開啟生成樹或者關閉生成樹的情況下,觀察設備狀態(如果是採用交換機真機進行實驗,則注意觀察設備指示燈、接口帶寬利用率、設備CPU利用率等);
2. 開啟生成樹協議STP,觀察相關現象;
3. 配置STP,使得SW1成為網絡的STP主根,SW2成為次根,SW3的GE0/0/2被阻塞。
從拓撲我們能非常直觀的看出,在物理上這是一個鏈路冗餘的環境,存在二層環路。一旦在這個網絡中出現流量,就很有可能在環路中被不斷泛洪從而導致風暴。當出現廣播風暴時,我們能從設備的指示燈上觀察到非常直觀的現象:設備的指示燈會出現非常規律的「齊閃」。另外,處於環路上的設備接口,帶寬利用率可能會非常高,而設備的CPU利用率也可能出現飆高的情況。再者,如果交換機的日誌中出現MAC地址漂移的告警,那麼網絡中也極有可能存在二層環路。通過在網絡中的交換機上開啟STP(Spanning Tree Protocol,生成樹協議),能在保證物理鏈路冗餘的情況下,解決環路的問題,同時為網絡實現冗餘性:
一、華為模擬器實際操作視頻:
瀏覽器版本過低,暫不支持視頻播放
二、主要知識點:
乙太網交換網絡中為了進行鏈路備份,提高網絡可靠性,通常會使用冗餘鏈路。但是使用冗餘鏈路會在交換網絡上產生環路,並導致廣播風暴以及MAC地址表不穩定等故障現象,從而導致用戶通信質量較差,甚至通信中斷。為解決交換網絡中的環路問題,提出了生成樹協議STP(Spanning Tree Protocol)。
在乙太網交換網中部署生成樹協議後,如果網絡中出現環路,生成樹協議通過拓撲計算,可實現:
· 消除環路:通過阻塞冗餘鏈路消除網絡中可能存在的網絡通信環路。
· 鏈路備份:當前活動的路徑發生故障時,激活冗餘備份鏈路,恢復網絡連通性。
運行STP協議的設備採用配置消息BPDU(Bridge Protocol Data Unit,橋協議數據單元)交互信息,一般簡稱為BPDU。
配置BPDU中包含了足夠的信息保證設備完成生成樹計算,其中包含重要信息如下:
· 根橋ID:由根橋的優先級和MAC地址組成,每個STP網絡中有且僅有一個根。
· 根路徑開銷:到根橋的最短路徑開銷。
· 指定橋ID:由指定橋的優先級和MAC地址組成。
· 指定埠ID:由指定埠的優先級和埠名稱組成。
· Message Age:配置BPDU在網絡中傳播的生存期。
· Max Age:配置BPDU在設備中能夠保存的最大生存期。
· Hello Time:配置BPDU發送的周期。
· Forward Delay:埠狀態遷移的延時。
兩種度量
生成樹的生成計算有兩大基本度量依據:ID和路徑開銷。
ID又分為:BID(Bridge ID)和PID(Port ID)。
BID:橋ID
IEEE 802.1D標準中規定BID是由16位的橋優先級(Bridge Priority)與橋MAC地址構成。BID橋優先級佔據高16位,其餘的低48位是MAC地址。
在STP網絡中,橋ID最小的設備會被選舉為根橋。
PID:埠ID
PID由兩部分構成的,高4位是埠優先級,低12位是埠號。
PID只在某些情況下對選擇指定埠有作用。
路徑開銷
路徑開銷(Path Cost)是一個埠量,是STP協議用於選擇鏈路的參考值。STP協議通過計算路徑開銷,選擇較為「強壯」的鏈路,阻塞多餘的鏈路,將網絡修剪成無環路的樹形網絡結構。
在一個STP網絡中,某埠到根橋累計的路徑開銷就是所經過的各個橋上的各埠的路徑開銷累加而成,這個值叫做根路徑開銷(Root Path Cost)。
三、SW1的主要配置文件:
<SW1>display cu
#
sysname SW1
#
stp mode stp
stp instance 0 root primary
#
return
四、SW2的主要配置文件:
#
sysname SW2
#
stp mode stp
stp instance 0 root secondary
五、SW3的主要配置文件:
#
sysname SW3
#
stp mode stp
#
return
六、驗證配置結果:
1、在SW1上使用disp stp命令查看根橋情況。
[SW1]display stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :0 .4c1f-cc6b-455e
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc6b-455e / 0//主根橋id,優先級為0,最高
CIST RegRoot/IRPC :0 .4c1f-cc6b-455e / 0
CIST RootPortId :0.0
BPDU-Protection :Disabled
CIST Root Type :Primary root//主根橋
TC or TCN received :76
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:1m:19s
Number of TC :7
Last TC occurred :GigabitEthernet0/0/2
從輸出的信息我們得知,交換機SW1的橋ID為 0.4c1f-cc6b-455e,其中數值「0」為交換機的橋優先級,這顯然是我們的命令stp root primary的作用,使得交換機的優先級被配置為0(最小值也是最優的值),4c1f-cc6b-455e是本機的背板MAC地址。而上述輸出的信息中,ROOT的MAC也是4c1f-cc6b-455e,這就表明,本交換機就是網絡的根橋。
2、在SW2上使用disp stp命令查看根橋情況
[SW2]disp stp
-------[CIST Global Info][Mode STP]-------
CIST Bridge :4096 .4c1f-cc10-2c4f
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc6b-455e / 20000
CIST RegRoot/IRPC :4096 .4c1f-cc10-2c4f / 0
CIST RootPortId :128.1
BPDU-Protection :Disabled
CIST Root Type :Secondary root
TC or TCN received :35
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:3m:32s
Number of TC :10
Last TC occurred :GigabitEthernet0/0/1
3、SW1、SW2、SW3的接口STP狀態
[SW1]disp stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 DESI FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
從命令的輸出我們可以看出,SW1的兩個接口現在都是Forwarding轉發狀態。
<SW2>disp stp bri
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 DESI FORWARDING NONE
<SW3>display stp bri
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 ALTE DISCARDING NONE
SW3的GE0/0/2口現在是Discarding狀態,被阻塞了。這是因為這個接口到達根橋SW1的開銷最大。怎麼看接口的開銷呢?
<SW3>disp stp interface GigabitEthernet 0/0/2
-------[CIST Global Info][Mode STP]-------
CIST Bridge :32768.4c1f-cc63-797f
Config Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
Active Times :Hello 2s MaxAge 20s FwDly 15s MaxHop 20
CIST Root/ERPC :0 .4c1f-cc6b-455e / 20000
CIST RegRoot/IRPC :32768.4c1f-cc63-797f / 0
CIST RootPortId :128.1
BPDU-Protection :Disabled
TC or TCN received :86
TC count per hello :0
STP Converge Mode :Normal
Time since last TC :0 days 0h:20m:5s
Number of TC :11
Last TC occurred :GigabitEthernet0/0/1
----[Port2(GigabitEthernet0/0/2)][DISCARDING]----
Port Protocol :Enabled
Port Role :Alternate Port
Port Priority :128
Port Cost(Dot1T ) :Config=auto / Active=20000
Designated Bridge/Port :4096.4c1f-cc10-2c4f / 128.2
Port Edged :Config=default / Active=disabled
Point-to-point :Config=auto / Active=true
Transit Limit :147 packets/hello-time
Protection Type :None
如果此時,你希望SW3被阻塞的不是GE0/0/2口,而是GE0/0/1口呢?一種可選的辦法是,將GE0/0/2的接口COST調小,使得從這個接口上收到的BPDU累加COST比GE0/0/2口的累加值要小,也就是使得這個接口距離根橋SW1的「開銷」更小、「更近」。可進入GE0/0/1埠,執行stp cost 100 ,即可調小該埠的stp開銷值,該埠會轉為指定埠,變成轉發狀態。
[SW3]int GigabitEthernet 0/0/2
[SW3-GigabitEthernet0/0/2]stp cost 100
本實驗是通過華為模擬器eNSP1.3.00.100版(最新版)完成。該軟體還包含CE、CX、NE40E、NE5000E、NE9000E、USG6000V的設備IOS,可完成複雜網絡測試,需要該模擬器的朋友,可以轉發此文關注小編,私信小編【666】即可獲得。