組網圖形
RSTP簡介
- 乙太網交換網路中為了進行鏈路備份,提高網路可靠性,通常會使用冗餘鏈路。但是使用冗餘鏈路會在交換網路上產生環路,引發廣播風暴以及MAC地址表不穩定等故障現象,從而導致使用者通訊質量較差,甚至通訊中斷。為解決交換網路中的環路問題,提出了生成樹協議STP(Spanning Tree Protocol)。STP(Spanning Tree Protocol)是用來解決網路中環路問題的協議。執行該協議的裝置通過彼此互動資訊而發現網路中的環路,並對某些埠進行阻塞以消除環路。
- 與眾多協議的發展過程一樣,生成樹協議也是隨著網路的發展而不斷更新的,從最初的IEEE 802.1D中定義的STP到IEEE 802.1W中定義的快速生成樹協議RSTP(Rapid Spanning Tree Protocol),再到最新的IEEE 802.1S中定義的多生成樹協議MSTP(Multiple Spanning Tree Protocol)。
- 生成樹協議中,MSTP相容RSTP、STP,RSTP相容STP。三種生成樹協議的比較如表1所示。
生成樹協議 |
特點 |
應用場景 |
---|---|---|
STP |
|
無需區分使用者或業務流量,所有VLAN共享一棵生成樹。 |
RSTP |
|
|
MSTP |
|
需要區分使用者或業務流量,並實現負載分擔。不同的VLAN通過不同的生成樹轉發流量,每棵生成樹之間相互獨立。 |
組網需求
- 在一個複雜的網路中,網路規劃者由於冗餘備份的需要,一般都傾向於在裝置之間部署多條物理鏈路,其中一條作主用鏈路,其他鏈路作備份。這樣就難免會形成環形網路,若網路中存在環路,可能會引起廣播風暴和MAC表項被破壞。
- 網路規劃者規劃好網路後,可以在網路中部署RSTP協議預防環路。當網路中存在環路,RSTP通過阻塞某個埠以達到破除環路的目的。如圖1所示,當前網路中存在環路,SwitchA、SwitchB、SwitchC和SwitchD都執行RSTP,通過彼此互動資訊發現網路中的環路,並有選擇的對某個埠進行阻塞,最終將環形網路結構修剪成無環路的樹形網路結構,從而防止報文在環形網路中不斷迴圈,避免裝置由於重複接收相同的報文造成處理能力下降。
配置思路
- 1.在處於環形網路中的交換裝置上配置RSTP基本功能,包括:
a.配置環網中的裝置生成樹協議工作在RSTP模式。
b.配置根橋和備份根橋裝置。
c.配置埠的路徑開銷值,實現將該埠阻塞。
d.使能RSTP,實現破除環路。
- 2.配置保護功能,實現對裝置或鏈路的保護。例如:在根橋裝置的指定埠配置根保護功能。
操作步驟
- 配置RSTP基本功能
- a.配置環網中的裝置生成樹協議工作在RSTP模式
# 配置SwitchA/B/C/D的RSTP工作模式。
<HUAWEI> system-view [HUAWEI] sysname SwitchA [SwitchA] stp mode rstp
<HUAWEI> system-view [HUAWEI] sysname SwitchB [SwitchB] stp mode rstp
<HUAWEI> system-view [HUAWEI] sysname SwitchC [SwitchC] stp mode rstp
<HUAWEI> system-view [HUAWEI] sysname SwitchD [SwitchD] stp mode rstp
- b.配置根橋和備份根橋裝置
# 配置SwitchA為根橋。
[SwitchA] stp root primary
# 配置SwitchD為備份根橋。
[SwitchD] stp root secondary
- c.配置埠的路徑開銷值,實現將該埠阻塞
說明:
•埠路徑開銷值取值範圍由路徑開銷計算方法決定,這裡選擇使用華為計算方法為例,配置將被阻塞埠的路徑開銷值為20000。
•同一網路內所有交換裝置的埠路徑開銷應使用相同的計算方法。
# 配置SwitchA/B/C的埠路徑開銷。
[SwitchA] stp pathcost-standard legacy
[SwitchB] stp pathcost-standard legacy
[SwitchC] stp pathcost-standard legacy
# 配置SwitchC埠GigabitEthernet0/0/1埠路徑開銷值為20000。
[SwitchC] interface gigabitethernet 0/0/1 [SwitchC-GigabitEthernet0/0/1] stp cost 20000 [SwitchC-GigabitEthernet0/0/1] quit
# 配置SwitchD的埠路徑開銷。
[SwitchD] stp pathcost-standard legacy
- d.使能RSTP,實現破除環路
將與PC機相連的埠設定為邊緣埠並使能埠的BPDU報文過濾功能
# 配置SwitchB埠GigabitEthernet0/0/2為邊緣埠並使能埠的BPDU報文過濾功能。
[SwitchB] interface gigabitethernet 0/0/2 [SwitchB-GigabitEthernet0/0/2] stp edged-port enable [SwitchB-GigabitEthernet0/0/2] stp bpdu-filter enable [SwitchB-GigabitEthernet0/0/2] quit
# 配置SwitchC埠GigabitEthernet0/0/2為邊緣埠並使能埠的BPDU報文過濾功能。
[SwitchC] interface gigabitethernet 0/0/2 [SwitchC-GigabitEthernet0/0/2] stp edged-port enable [SwitchC-GigabitEthernet0/0/2] stp bpdu-filter enable [SwitchC-GigabitEthernet0/0/2] quit
裝置全域性使能RSTP
# 裝置SwitchA/B/C/D全域性使能RSTP。
[SwitchA] stp enable [SwitchB] stp enable [SwitchC] stp enable [SwitchD] stp enable
配置保護功能,如在根橋裝置的指定埠配置根保護功能
# 在SwitchA埠GigabitEthernet0/0/1上配置根保護功能。
[SwitchA] interface gigabitethernet 0/0/1 [SwitchA-GigabitEthernet0/0/1] stp root-protection [SwitchA-GigabitEthernet0/0/1] quit
# 在SwitchA埠GigabitEthernet0/0/2上配置根保護功能。
[SwitchA] interface gigabitethernet 0/0/2 [SwitchA-GigabitEthernet0/0/2] stp root-protection [SwitchA-GigabitEthernet0/0/2] quit
- 驗證配置結果
經過以上配置,在網路計算穩定後,執行以下操作,驗證配置結果。
# 在SwitchA上執行display stp brief命令,檢視埠狀態和埠的保護型別,結果如下:
[SwitchA] display stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 DESI FORWARDING ROOT 0 GigabitEthernet0/0/2 DESI FORWARDING ROOT
將SwitchA配置為根橋後,與SwitchB、SwitchD相連的埠GigabitEthernet0/0/2和GigabitEthernet0/0/1在生成樹計算中被選舉為指定埠,並在指定埠上配置根保護功能。
# 在SwitchB上執行display stp interface gigabitethernet 0/0/1 brief命令,檢視埠GigabitEthernet0/0/1狀態,結果如下:
[SwitchB] display stp interface gigabitethernet 0/0/1 brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 DESI FORWARDING NONE
埠GigabitEthernet0/0/1在生成樹選舉中成為指定埠,處於FORWARDING狀態。
# 在SwitchC上執行display stp brief命令,檢視埠狀態,結果如下:
[SwitchC] display stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 ALTE DISCARDING NONE 0 GigabitEthernet0/0/2 DESI FORWARDING NONE 0 GigabitEthernet0/0/3 ROOT FORWARDING NONE
埠GE0/0/1在生成樹選舉中成為Alternate埠,處於DISCARDING狀態。
埠GE0/0/3在生成樹選舉中成為根埠,處於FORWARDING狀態。