天天看點

詳解 RSTP 和 MSTP 的網絡實戰

學習網絡最重要的步驟之一,就是敲實驗。通過動手做實驗,可以把抽象的知識變得具體化,也能快速掌握其中的原理和使用場景,還能學會網絡裝置的實操指令。

之前寫過一篇《圖解 RSTP 和 MSTP 》的文章,但是篇幅有限,隻描述了技術原理,現在專門寫一篇網絡實驗,便于更好的了解 RSTP 和 MSTP 相關内容。

詳解 RSTP 和 MSTP 的網絡實戰

RSTP 功能

替代接口

我們用 3 台交換機搭建一個網絡環境,部署 RSTP 對網絡進行破環,驗證 RSTP 新增的替代接口角色。替代接口是根接口的備份。

實驗拓撲
詳解 RSTP 和 MSTP 的網絡實戰
實驗要求

三台交換機( SW )配置 RSTP 功能,在 SWC 上使用指令檢視替代接口。

操作步驟
  1. 三台 SW 按照網絡拓撲圖,對相應的接口進行連接配接。SW 預設的生成樹工作模式是 MSTP 。
詳解 RSTP 和 MSTP 的網絡實戰
  1. 在三台交換機上分别配置工作模式從預設的 MSTP 改成 RSTP ,并且啟動 STP 功能。

    stp mode

    指令用來修改交換機的工作模式。
詳解 RSTP 和 MSTP 的網絡實戰
功能驗證
  1. 在裝置上使用

    display stp

    指令檢視 RSTP 狀态 ,發現 SWB 的 MAC 位址最小,選舉為根橋。SWB 的橋 ID 是 32768.4c1f-cc61-1681,其中 32768 是 SWB 的優先級值,4c1f-cc61-1681 是 SWB 的 MAC 位址。根橋的 MAC 位址是 SWB 的 MAC 位址,說明 SWB 就是根橋。
詳解 RSTP 和 MSTP 的網絡實戰
  1. SWC 有兩個接口接入網絡,由于從 GE0/0/2 到達根橋的 RPC 更小,是以 GE0/0/2 成為 SWC 的根接口,GE0/0/1 成為替代接口。使用

    display stp brief

    指令檢視 RSTP 接口的狀态 。Role 為 ROOT 時表示根接口,Role 為 DESI(即 Designated )時表示指定接口,SWB 的 GigabitEthernet0/0/1 為 ALTE(即 Alternate )表示替代接口。接口狀态符合預期,實驗成功!
詳解 RSTP 和 MSTP 的網絡實戰
  1. 還可以抓包檢視替代接口的 BPDU 封包,詳細分析字段代表的含義,深入了解 RSTP 。
詳解 RSTP 和 MSTP 的網絡實戰

備份接口

RSTP 新增了備份接口角色,是指定接口的備份,搭建網絡實驗進行驗證。

實驗拓撲
詳解 RSTP 和 MSTP 的網絡實戰
實驗要求

在替代接口的實驗拓撲基礎上,新增一台 HUB ,連接配接 SWC 的兩個接口,使用指令檢視備份接口。

操作步驟
  1. 按照網絡拓撲圖,新增一台 HUB ,并連接配接相應的接口。對應 SWC 來說,它的 Ethernet0/0/1 和 Ethernet0/0/2 接口形成環路,RSTP 能夠檢測到,并在兩個接口中選擇一個阻塞。
功能驗證
  1. 在 SWC 中,Ethernet0/0/1 接口的接口 ID 更小,成為指定接口,而 Ethernet0/0/2 接口成為備份接口,備份接口被阻塞。在 SWC 上使用

    display stp brief

    指令檢視接口狀态,接口狀态符合預期,實驗成功!
詳解 RSTP 和 MSTP 的網絡實戰

邊緣接口

RSTP 新增的邊緣接口角色不參與生成樹的計算,當邊緣接口開啟後,立即切換到轉發狀态并開始收發流量,而不用

實驗拓撲
詳解 RSTP 和 MSTP 的網絡實戰
實驗要求
  • 在替代接口的實驗拓撲基礎上,新增兩台 PC ,分别連接配接 SWC 的兩個接口,其中一個接口使用預設配置,觀察接口狀态。
  • 另一個接口配置邊緣接口,檢視接口狀态變化。
操作步驟
  1. 新增 PC1 ,連接配接 SWC 的 Ethernet0/0/1 接口。
  2. 在 SWC 的 Ethernet0/0/2 接口使用指令

    stp edged-port enable

    配置成邊緣接口。新增 PC2 連接配接 Ethernet0/0/2 接口。
詳解 RSTP 和 MSTP 的網絡實戰
功能驗證
  1. 新增 PC1 時,使用

    display stp brief

    指令檢視 SWC 的 Ethernet0/0/1 接口狀态。未配置邊緣接口時,接口狀态從 Discarding 到 Learning 15秒時間,Learning 再到 Forwarding 15秒時間。
詳解 RSTP 和 MSTP 的網絡實戰
  1. 新增 PC2 時,使用

    display stp brief

    指令檢視 SWC 的 Ethernet0/0/2 接口狀态。配置邊緣接口時,接口直接切換到 Forwarding 狀态并開始收發資料,而不用經曆 Forward Delay 時間。
詳解 RSTP 和 MSTP 的網絡實戰

RSTP 保護功能

BPDU 保護( BPDU Protection )

邊緣接口收到 BPDU 後,會變成一個普通 RSTP 接口,可能會引發網絡中的 RSTP 重新計算,對網絡造成影響。

為了防止誤接交換機或 BPDU 攻擊對網絡造成影響,可開啟 BPDU 保護功能解決問題。如果邊緣接口收到 BPDU ,那麼交換機立馬把接口關閉,同時觸發告警。

實驗拓撲
詳解 RSTP 和 MSTP 的網絡實戰
實驗說明

對比未開啟 BPDU 保護功能和開啟 BPDU 保護功能的差別。

操作步驟
  1. 未開啟 BPDU 保護時:在替代接口的實驗拓撲基礎上,SWC 的 Ethernet0/0/1 接口開啟了邊緣接口功能,未開啟 BPDU 保護功能。新增一台 SWD 連接配接 SWC 的 Ethernet0/0/1 接口。SWD 的 MAC最優,在 SWC 上使用

    display stp brief

    display stp

    指令檢視,根橋從 SWB 變成了 SWD ,所有接口狀态也發生相應變化。
詳解 RSTP 和 MSTP 的網絡實戰
  1. 開啟 BPDU 保護時:在 SWC 執行

    stp bpdu-protection

    指令,即所有邊緣接口開啟 BPDU 保護功能,立馬産生告警資訊。在 SWC 上使用

    display stp brief

    display stp

    指令檢視,根橋又從 SWD 變成了 SWB ,Ethernet0/0/1 接口關閉。
詳解 RSTP 和 MSTP 的網絡實戰
功能分析
  1. 邊緣接口收到 BPDU 後,變成一個普通 RSTP 接口,由于 SWD 的 MAC 最小,RSTP 重新計算,SWD 成為根橋,所有交換機的接口狀态進行相應改變,産生網絡震蕩。
  2. 邊緣接口開啟 BPDU 保護功能後,收到 BPDU 就會把接口關閉,同時産生告警。
  3. 邊緣接口關閉後不會自動恢複,需要在接口上執行

    undo shutdown

    指令,或者使用

    restart

    指令恢複接口。

根保護( Root Protection )

完成收斂的 RSTP 網絡中,如果根橋發生變化,那麼勢必導緻 RSTP 重新計算,網絡轉發受到影響。通常會在根橋的指定接口開啟根保護功能,如果收到更優的 BPDU ,就會丢棄這些 BPDU ,并把接口切換到丢棄狀态。

在替代接口實驗的基礎上,新增一台 SWD ,接入到根橋 SWB 的 Ethernet0/0/1 接口,SWD 的 MAC 最優。

實驗拓撲
詳解 RSTP 和 MSTP 的網絡實戰
實驗說明

對比未開啟根保護功能和開啟根保護功能的差別。

操作步驟
  1. 未開啟根保護時:在替代接口的實驗拓撲基礎上,新增一台 SWD 連接配接 SWB 的 Ethernet0/0/1 接口。SWD 的 MAC 位址最優,在 SWB 上使用

    display stp brief

    display stp

    指令檢視,根橋從 SWB 變成了 SWD ,SWB 上的所有接口狀态也發生相應變化。
詳解 RSTP 和 MSTP 的網絡實戰
  1. 開啟根保護時:在 SWB 的 Ethernet0/0/1 接口上使用

    shutdown

    指令關閉接口,然後使用

    stp root-protection

    指令配置接口的根保護功能,再使用

    undo shutdown

    指令開啟接口。使用

    display stp brief

    display stp

    指令檢視,根橋是 SWB ,SWB 的 Ethernet0/0/1 接口變成丢棄狀态,并且 Protection 字段顯示為 ROOT 。
詳解 RSTP 和 MSTP 的網絡實戰
功能分析
  1. 未開啟根保護時,mac 位址更優的 SWD 接入 SWB 的 Ethernet0/0/1 接口後,RSTP 重新計算,SWD 成為根橋,接口狀态進行相應改變,并産生網絡震蕩。
  2. 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 可實作網絡的無環化。

實驗拓撲
詳解 RSTP 和 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 之間的鍊路傳輸。

操作步驟
  1. 對 SWA 進行配置。
詳解 RSTP 和 MSTP 的網絡實戰

使用

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 的次根橋。

  1. 對 SWB 進行配置。
詳解 RSTP 和 MSTP 的網絡實戰
  1. 對 SWC 進行配置。
詳解 RSTP 和 MSTP 的網絡實戰
功能驗證

完成所有交換機配置後,檢視 SWC 的接口狀态。

詳解 RSTP 和 MSTP 的網絡實戰

在 MSTI1 中,SWC 的 G0/0/2 接口處于丢棄狀态,那麼 MSTI1 的流量是在 SWA 和 SWC 的鍊路進行傳輸。在 MSTI2 中,SWC 的 G0/0/1 接口處于丢棄狀态,那麼 MSTI2 的流量是在 SWB 和 SWC 的鍊路進行傳輸。結果符合預期,實驗成功!

結尾

交換機開啟後,生成樹協定有一些參數會有預設值,不用手動、自動生成的配置。具體參數預設值如下:

詳解 RSTP 和 MSTP 的網絡實戰

維護 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 ] ,這條指令用于檢視生成樹的狀态資訊與統計資訊。

關注公衆号:網絡技術平台,回複 “ 資料 ” 擷取視訊、教育訓練教程、實驗手冊、電子書。