天天看點

90%的面試官都會問到交換網絡裡面備援和破環的STP協定

90%的面試官都會問到交換網絡裡面備援和破環的STP協定

個人名片:

🐼作者簡介:一名大一在校生

🐻‍❄️個人首頁:​​小新愛學習.​​ 🐼

🕊️系列專欄:零基礎學java ----- 重識c語言 ---- 計算機網絡

🐓每日一句:我走的很慢,但我從不放棄

文章目錄

  • ​​二層環路帶來的問題​​
  • ​​單點故障解決方案之STP​​
  • ​​STP生成樹協定​​
  • ​​生成樹概述:​​
  • ​​STP生成樹的作用​​
  • ​​基本概念 :​​
  • ​​根橋​​
  • ​​STP的計算過程​​
  • ​​啟動STP​​
  • ​​配置STP示例​​
  • ​​STP的典型應用​​
  • ​​STP vs RSTP vs MSTP​​

二層環路帶來的問題

  • 1、廣播風暴:交換機CPU使用率飙升
  • 2、MAC位址飄逸:每一次MAC位址表都會變化

單點故障解決方案之STP

  • STP-生成樹協定,無環路
  • STP是一個用于區域網路中消除環路的協定
  • 基本概念 :根橋,Cost開銷,RPC根路徑開銷,BPDU

STP生成樹協定

生成樹概述:

  • 1、STP是一個用于區域網路中消除環路的協定
  • 2、運作該協定的裝置通過彼此互動資訊而發現網絡中的環路,并對某些接口進行阻塞以消除環路
  • 3、STP在網絡中運作後會持續監控網絡的狀态,當網絡出現拓撲變更時,STP能夠進行感覺并可以制動響應,進而使網絡狀态适應新的拓撲結構,保證網絡的可靠性
  • 4、由于區域網路規模的不斷增長,生成樹協定成為了目前最重要的區域網路協定之一

STP生成樹的作用

  • 生成樹能動态響應網絡拓撲變化調整阻塞接口
  • 生成樹既可以做到防止二層交換機的環路,又可以做到提高網絡的備援性

基本概念 :

根橋,Cost開銷,RPC根路徑開銷,BPDU

根橋

  • 1、根橋是一個STP交換網絡中的樹根
  • 2、STP開始工作以後,會在交換網絡中選舉一個根橋,根橋是生成樹進行拓撲計算的重要“參考點”,是STP計算得出的無環拓撲的樹根
  • 3、在STP網絡中,橋ID最小的裝置會被選舉為根橋

    在BID的比較過程中,首先比較橋優先級,優先級的值越小,則越優先,擁有最小優先級值的交換機會 成為根橋;如果優先級相等在比較MAC位址,擁有最小MAC位址的交換機會成為根橋。

STP的計算過程

1、選舉根橋

網絡初始化時,網絡中所有的STP裝置都認為自己是“根橋”,根橋ID為自身的裝置ID。通過交換BPDU消息,裝置之間比較根橋ID,網絡中根橋ID最小的裝置被選為根橋。根橋上的所有端口都是轉發狀态。

2、選舉根接口

非根橋裝置将接收最優配置消息的那個端口定為根端口,根端口也是處于轉發狀态。

3、選舉指定接口

  • 裝置根據根端口的配置消息和根端口的路徑開銷,為每個端口計算一個指定端口配置消息,然後将計算出的配置消息與角色待定端口自己的配置消息進行比較。
  • 如果計算出的配置消息更優,則該端口被确定為指定端口,其配置消息也被計算出的配置消息替換,并周期性地向外發送;  
  • 如果該端口自己的配置消息更優,則不更新該端口的配置消息并将該端口阻塞。該端口将不再轉發資料,且隻接收不發送配置消息。 

4、阻塞非指定接口

剩下的就是阻塞接口

一旦根橋、根端口和指定端口選舉成功,整個樹形拓撲就建立完畢了。在拓撲穩定後,隻有根端口和指定端口轉發流量,其他的非根、非指定端口都處于阻塞(Blocking)狀态,它們隻接收STP協定封包而不轉發使用者流量。下面結合例子說明STP算法實作的具體過程。

90%的面試官都會問到交換網絡裡面備援和破環的STP協定

啟動STP

  • 1.執行指令system-view,進入系統視圖。
  • 2.執行指令stp mode stp,配置交換裝置的STP模式。
  • 3.預設情況下,交換機運作MSTP模式,MSTP模式相容STP和RSTP模式。
  • 4.(可選)配置根橋和備份根橋
  • 5

    a.在欲配置為根橋的裝置上執行指令:stp root primary,配置目前裝置為根橋裝置。

    b.在欲配置為備份根橋的裝置上執行指令:stp root secondary,配置目前裝置為備份根橋裝置。

  • 6.(可選)執行指令stp priority priority,配置交換裝置在系統中的優先級。
  • 7.預設情況下,交換裝置的優先級取值為32768。其值的步長為4096,如0、4096、8192等。數值越小,優先級越高,成為根橋的可能性越大。對于網絡中部分性能低、網絡層次低的交換裝置,不适合作為根橋裝置,一般會配置其低優先級以保證該裝置不會成為根橋。
  • 8.(可選)執行指令stp pathcost-standard { dot1d-1998 | dot1t | legacy },配置端口路徑開銷計算方法。
  • 9.預設情況下,路徑開銷值的計算方法為IEEE 802.1t(dot1t)标準方法。同一網絡内所有交換裝置的端口路徑開銷應使用相同的計算方法。
  • 10.(可選)配置端口路徑開銷值及優先級
  • 11

    a.執行指令interface interface-type interface-number,進入參與生成樹協定計算的接口視圖。

    b.執行指令stp cost cost,設定目前端口的路徑開銷值。

    存在環路的網絡環境中,對于鍊路速率值相對較小的端口,建議将其路徑開銷值配置相對較大,以使其在生成樹算法中被選舉成為阻塞端口,阻塞其所在鍊路。

    c.執行指令stp port priority priority,配置端口的優先級。

    預設情況下,交換裝置端口的優先級取值是128。

    d.如果希望将某交換裝置的端口阻塞進而破除環路,則可将其端口優先級設定比預設值大,使得在選舉過程中成為被阻塞的端口。

    e.執行指令quit,退回系統視圖。

  • 12.執行指令stp enable,使能交換裝置的STP功能。
  • 13.執行指令commit,送出配置。

配置STP示例

以下圖的組網環境為例,介紹STP的配置步驟、檢視配置結果。

90%的面試官都會問到交換網絡裡面備援和破環的STP協定

1.在SwitchA上配置生成樹協定為STP模式,配置SwitchA為根橋,路徑開銷計算方法為華為私有計算方法。

<SwitchA> system-view
[~SwitchA] stp mode stp
[*SwitchA] stp root primary
[*SwitchA] stp pathcost-standard legacy
[*SwitchA] commit      

2.在SwitchB上配置生成樹協定為STP模式,配置SwitchB為備份根橋,路徑開銷計算方法為華為私有計算方法,并關閉與Server2相連端口的STP功能。

<SwitchB> system-view
[~SwitchB] stp mode stp
[*SwitchB] stp root secondary
[*SwitchB] stp pathcost-standard legacy
[*SwitchB] interface 10ge 1/0/2
[*SwitchB-10GE1/0/2] stp disable
[*SwitchB-10GE1/0/2] commit      

3.在SwitchC上配置生成樹協定為STP模式,路徑開銷計算方法為華為私有計算方法,接口10GE1/0/1的路徑開銷值為20000,并關閉與Server1相連端口的STP功能。

<SwitchC> system-view
[~SwitchC] stp mode stp
[*SwitchC] stp pathcost-standard legacy
[*SwitchC] interface 10ge 1/0/1
[*SwitchC-10GE1/0/1] stp cost 20000
[*SwitchC-10GE1/0/1] quit
[*SwitchC] interface 10ge 1/0/2
[*SwitchC-10GE1/0/2] stp disable
[*SwitchC-10GE1/0/2] commit      

4.在SwitchD上配置生成樹協定為STP模式,路徑開銷計算方法為華為私有計算方法。

<SwitchD> system-view
[~SwitchD] stp mode stp
[*SwitchD] stp pathcost-standard legacy
[*SwitchD] commit      

5.環網中所有裝置均使能STP。以SwitchA為例,在SwitchB、SwitchC和SwitchD上執行相同的操作。

[~SwitchA] stp enable
[*SwitchA] commit      

6.驗證配置結果。待網絡穩定後,可以執行display stp brief檢視端口角色和端口狀态等資訊,以SwitchA為例:

[~SwitchA] display stp brief
 MSTID  Port                        Role  STP State    Protection      Cost    Edged
     0  10GE1/0/1                   DESI  forwarding    none              2     disable
     0  10GE1/0/2                   DESI  forwarding    none              2     disable      

STP的典型應用

在一個複雜的網絡中,網絡規劃者由于備援備份的需要,一般都傾向于在裝置之間部署多條實體鍊路,其中一條作主用鍊路,其他鍊路作備份。這樣就難免會形成環形網絡,若網絡中存在環路,可能會引起廣播風暴和MAC表項被破壞。

在網絡中部署STP協定,通過彼此互動資訊發現網絡中的環路,并有選擇的對某個端口進行阻塞,最終将環形網絡結構修剪成無環路的樹形網絡結構,進而防止封包在環形網絡中不斷增生和無限循環,避免裝置由于重複接收相同的封包造成處理能力下降。

STP vs RSTP vs MSTP

STP包含兩種含義:

  • 狹義的STP是指IEEE 802.1D中定義的STP協定。
  • 廣義的STP包括IEEE 802.1D中定義的STP、IEEE 802.1W中定義的快速生成樹協定RSTP(Rapid Spanning Tree Protocol)和IEEE 802.1S中定義的多生成樹協定MSTP(Multiple Spanning Tree Protocol)。

目前,生成樹協定支援如下:

  • STP是基礎的資料鍊路層的管理協定,用于二層網絡的環路檢測和預防。但是,STP拓撲收斂速度慢。
  • RSTP在STP基礎上進行了改進,實作了網絡拓撲快速收斂。但RSTP和STP還存在同一個缺陷:區域網路内所有的VLAN共享一棵生成樹,不能按VLAN阻塞備援鍊路,所有VLAN的封包都沿着一棵生成樹進行轉發。
  • MSTP通過設定VLAN映射表(即VLAN和生成樹執行個體的對應關系表),把VLAN和生成樹執行個體聯系起來。同時它把一個交換網絡劃分成多個域,每個域内形成多棵生成樹執行個體,生成樹執行個體之間彼此獨立。MSTP提供了資料轉發的多個備援路徑,在資料轉發過程中實作VLAN資料的負載均衡。

生成樹協定中,MSTP相容RSTP、STP,RSTP相容STP。三種生成樹協定的比較

生成樹協定 特點 應用場景
STP 形成一棵無環路的樹,解決廣播風暴并實作備援備份。收斂速度較慢。 無需區分使用者或業務流量,所有VLAN共享一棵生成樹。
RSTP 形成一棵無環路的樹,解決廣播風暴并實作備援備份。收斂速度快。 無需區分使用者或業務流量,所有VLAN共享一棵生成樹。
MSTP