學習網絡最重要的步驟之一,就是敲實驗。通過動手做實驗,可以把抽象的知識變得具體化,也能快速掌握其中的原理和使用場景,還能學會網絡裝置的實操指令。
之前寫過一篇《圖解 RSTP 和 MSTP 》的文章,但是篇幅有限,隻描述了技術原理,現在專門寫一篇網絡實驗,便于更好的了解 RSTP 和 MSTP 相關内容。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iNiJDZiZmYyATNwImZiFjNxkDZ3MmNmJmMlFGN5U2Yy8CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
RSTP 功能
替代接口
我們用 3 台交換機搭建一個網絡環境,部署 RSTP 對網絡進行破環,驗證 RSTP 新增的替代接口角色。替代接口是根接口的備份。
實驗拓撲
實驗要求
三台交換機( SW )配置 RSTP 功能,在 SWC 上使用指令檢視替代接口。
操作步驟
- 三台 SW 按照網絡拓撲圖,對相應的接口進行連接配接。SW 預設的生成樹工作模式是 MSTP 。
- 在三台交換機上分别配置工作模式從預設的 MSTP 改成 RSTP ,并且啟動 STP 功能。
指令用來修改交換機的工作模式。stp mode
功能驗證
- 在裝置上使用
指令檢視 RSTP 狀态 ,發現 SWB 的 MAC 位址最小,選舉為根橋。SWB 的橋 ID 是 32768.4c1f-cc61-1681,其中 32768 是 SWB 的優先級值,4c1f-cc61-1681 是 SWB 的 MAC 位址。根橋的 MAC 位址是 SWB 的 MAC 位址,說明 SWB 就是根橋。display stp
- SWC 有兩個接口接入網絡,由于從 GE0/0/2 到達根橋的 RPC 更小,是以 GE0/0/2 成為 SWC 的根接口,GE0/0/1 成為替代接口。使用
指令檢視 RSTP 接口的狀态 。Role 為 ROOT 時表示根接口,Role 為 DESI(即 Designated )時表示指定接口,SWB 的 GigabitEthernet0/0/1 為 ALTE(即 Alternate )表示替代接口。接口狀态符合預期,實驗成功!display stp brief
- 還可以抓包檢視替代接口的 BPDU 封包,詳細分析字段代表的含義,深入了解 RSTP 。
備份接口
RSTP 新增了備份接口角色,是指定接口的備份,搭建網絡實驗進行驗證。
實驗拓撲
實驗要求
在替代接口的實驗拓撲基礎上,新增一台 HUB ,連接配接 SWC 的兩個接口,使用指令檢視備份接口。
操作步驟
- 按照網絡拓撲圖,新增一台 HUB ,并連接配接相應的接口。對應 SWC 來說,它的 Ethernet0/0/1 和 Ethernet0/0/2 接口形成環路,RSTP 能夠檢測到,并在兩個接口中選擇一個阻塞。
功能驗證
- 在 SWC 中,Ethernet0/0/1 接口的接口 ID 更小,成為指定接口,而 Ethernet0/0/2 接口成為備份接口,備份接口被阻塞。在 SWC 上使用
指令檢視接口狀态,接口狀态符合預期,實驗成功!display stp brief
邊緣接口
RSTP 新增的邊緣接口角色不參與生成樹的計算,當邊緣接口開啟後,立即切換到轉發狀态并開始收發流量,而不用
實驗拓撲
實驗要求
- 在替代接口的實驗拓撲基礎上,新增兩台 PC ,分别連接配接 SWC 的兩個接口,其中一個接口使用預設配置,觀察接口狀态。
- 另一個接口配置邊緣接口,檢視接口狀态變化。
操作步驟
- 新增 PC1 ,連接配接 SWC 的 Ethernet0/0/1 接口。
- 在 SWC 的 Ethernet0/0/2 接口使用指令
配置成邊緣接口。新增 PC2 連接配接 Ethernet0/0/2 接口。stp edged-port enable
功能驗證
- 新增 PC1 時,使用
指令檢視 SWC 的 Ethernet0/0/1 接口狀态。未配置邊緣接口時,接口狀态從 Discarding 到 Learning 15秒時間,Learning 再到 Forwarding 15秒時間。display stp brief
- 新增 PC2 時,使用
指令檢視 SWC 的 Ethernet0/0/2 接口狀态。配置邊緣接口時,接口直接切換到 Forwarding 狀态并開始收發資料,而不用經曆 Forward Delay 時間。display stp brief
RSTP 保護功能
BPDU 保護( BPDU Protection )
邊緣接口收到 BPDU 後,會變成一個普通 RSTP 接口,可能會引發網絡中的 RSTP 重新計算,對網絡造成影響。
為了防止誤接交換機或 BPDU 攻擊對網絡造成影響,可開啟 BPDU 保護功能解決問題。如果邊緣接口收到 BPDU ,那麼交換機立馬把接口關閉,同時觸發告警。
實驗拓撲
實驗說明
對比未開啟 BPDU 保護功能和開啟 BPDU 保護功能的差別。
操作步驟
- 未開啟 BPDU 保護時:在替代接口的實驗拓撲基礎上,SWC 的 Ethernet0/0/1 接口開啟了邊緣接口功能,未開啟 BPDU 保護功能。新增一台 SWD 連接配接 SWC 的 Ethernet0/0/1 接口。SWD 的 MAC最優,在 SWC 上使用
和display stp brief
指令檢視,根橋從 SWB 變成了 SWD ,所有接口狀态也發生相應變化。display stp
- 開啟 BPDU 保護時:在 SWC 執行
指令,即所有邊緣接口開啟 BPDU 保護功能,立馬産生告警資訊。在 SWC 上使用stp bpdu-protection
和display stp brief
指令檢視,根橋又從 SWD 變成了 SWB ,Ethernet0/0/1 接口關閉。display stp
功能分析
- 邊緣接口收到 BPDU 後,變成一個普通 RSTP 接口,由于 SWD 的 MAC 最小,RSTP 重新計算,SWD 成為根橋,所有交換機的接口狀态進行相應改變,産生網絡震蕩。
- 邊緣接口開啟 BPDU 保護功能後,收到 BPDU 就會把接口關閉,同時産生告警。
- 邊緣接口關閉後不會自動恢複,需要在接口上執行
指令,或者使用undo shutdown
指令恢複接口。restart
根保護( Root Protection )
完成收斂的 RSTP 網絡中,如果根橋發生變化,那麼勢必導緻 RSTP 重新計算,網絡轉發受到影響。通常會在根橋的指定接口開啟根保護功能,如果收到更優的 BPDU ,就會丢棄這些 BPDU ,并把接口切換到丢棄狀态。
在替代接口實驗的基礎上,新增一台 SWD ,接入到根橋 SWB 的 Ethernet0/0/1 接口,SWD 的 MAC 最優。
實驗拓撲
實驗說明
對比未開啟根保護功能和開啟根保護功能的差別。
操作步驟
- 未開啟根保護時:在替代接口的實驗拓撲基礎上,新增一台 SWD 連接配接 SWB 的 Ethernet0/0/1 接口。SWD 的 MAC 位址最優,在 SWB 上使用
和display stp brief
指令檢視,根橋從 SWB 變成了 SWD ,SWB 上的所有接口狀态也發生相應變化。display stp
- 開啟根保護時:在 SWB 的 Ethernet0/0/1 接口上使用
指令關閉接口,然後使用shutdown
指令配置接口的根保護功能,再使用stp root-protection
指令開啟接口。使用undo shutdown
和display stp brief
指令檢視,根橋是 SWB ,SWB 的 Ethernet0/0/1 接口變成丢棄狀态,并且 Protection 字段顯示為 ROOT 。display stp
功能分析
- 未開啟根保護時,mac 位址更優的 SWD 接入 SWB 的 Ethernet0/0/1 接口後,RSTP 重新計算,SWD 成為根橋,接口狀态進行相應改變,并産生網絡震蕩。
- SWB 的 Ethernet0/0/1 接口開啟根保護後,會忽略收到的 SWD 的更優 BPDU ,并把接口切換到丢棄狀态。
環路保護( Loop Protection )
當鍊路出現單向故障或網絡擁塞時,非根橋的根接口或替代接口收不到 BPDU ,導緻交換機重新計算 RSTP ,接口會成為指定接口并切換成轉發狀态,發送流量,導緻網絡中出現環路。
我們可以使用環路保護功能來規避這個問題。在接口下使用
stp loop-protection
指令開啟環路保護功能,這個接口可以是根接口,也可以是替代接口。配置完成後,使用
display stp brief
指令可以看到 Protection 字段顯示為 LOOP 。接口沒有收到 BPDU 後,會将接口調整為指定接口,并保持在丢棄狀态,進而避免出現環路。
模拟器無法搭建網絡環境,無實驗内容。
拓撲變更保護( TC Protection )
網絡拓撲出現變化,TC BPDU 會泛洪全網,TC BPDU 又會使交換機執行 MAC 位址删除操作,消耗交換機大量性能。
交換機使用
stp tc-protection
指令開啟拓撲變更保護功能,交換機預設會在 2 秒内隻處理 1 次 TC BPDU ,如果這段時間内,收到更多的 TC BPDU ,那麼隻能在 2 秒後才進行處理。
MSTP 功能
MSTP 多執行個體
三台交換機構成一個三角的二層環路,部署 MSTP 可實作網絡的無環化。
實驗拓撲
實驗要求
VLAN 2 - 10 在 SWA 和 SWC 之間的鍊路傳輸,VLAN 11 - 20 在 SWB 和 SWC 之間的鍊路傳輸。建立兩個執行個體:Instance1 和 Instance2 ,将 VLAN2 至 10 映射到 Instance1 ,将 VLAN11 至 20 映射到 Instance2 ,其餘 VLAN 保留在預設的 Instance0 裡。
把 SWA 規劃成 MSTI1 的主根橋,SWB 規劃為次根橋,確定 VLAN2 至 10 的流量在 SWA 和 SWC 之間的鍊路傳輸。将 SWB 規劃成 MSTI2 主根橋,SWA 規劃為次根橋,確定 VLAN11 至 20 的流量在 SWB 和 SWC 之間的鍊路傳輸。
操作步驟
- 對 SWA 進行配置。
使用
stp region-configuration
指令進入裝置的 MST 域視圖,在這個視圖下進行 MST 域的相關配置。
region-name
指令用于修改 MST 域名,預設 MST 域名是裝置的 MAC 位址。預設這些指令未生效,需要使用
active region-configuration
指令進行激活。
stp instance 1 root primary
指令是将 SWA 設定為 MSTI1 的主根橋,
stp instance 2 root secondary
指令是将 SWA 設定為 MSTI2 的次根橋。
- 對 SWB 進行配置。
- 對 SWC 進行配置。
功能驗證
完成所有交換機配置後,檢視 SWC 的接口狀态。
在 MSTI1 中,SWC 的 G0/0/2 接口處于丢棄狀态,那麼 MSTI1 的流量是在 SWA 和 SWC 的鍊路進行傳輸。在 MSTI2 中,SWC 的 G0/0/1 接口處于丢棄狀态,那麼 MSTI2 的流量是在 SWB 和 SWC 的鍊路進行傳輸。結果符合預期,實驗成功!
結尾
交換機開啟後,生成樹協定有一些參數會有預設值,不用手動、自動生成的配置。具體參數預設值如下:
維護 RSTP/MSTP 指令
日常網絡裝置調試時,不僅要知道配置指令,還需要了解維護指令,才能完全正确使用 RSTP/MSTP 。
- reset stp [ interface interface-type interface-number ] statistics ,這條指令用于清除生成樹的統計資訊。
- reset stp error packet statistics ,這條指令用于清除生成樹協定的錯誤封包計數。
- display stp topology-change ,這條指令用于檢視 RSTP/MSTP 拓撲變化相關的統計資訊。
- display stp [ interface interface-type interface-number | slot slot-id ] tc-bpdu statistics ,這條指令用于檢視端口TC/TCN封包收發計數。
- display stp [ interface interface-type interface-number | slot slot-id ][ brief ] ,這條指令用于檢視生成樹的狀态資訊與統計資訊。
terface-type interface-number* | slot slot-id ] tc-bpdu statistics ,這條指令用于檢視端口TC/TCN封包收發計數。
- display stp [ interface interface-type interface-number | slot slot-id ][ brief ] ,這條指令用于檢視生成樹的狀态資訊與統計資訊。
關注公衆号:網絡技術平台,回複 “ 資料 ” 擷取視訊、教育訓練教程、實驗手冊、電子書。