HCNP Routing&Switching之RSTP保護

1874發表於2022-05-11

  前文我們瞭解了RSTP相關話題,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/16240348.html;今天我們來聊一聊RSTP保護相關話題;

  我們知道RSTP優化了STP收斂速度,同時也加入了邊緣埠的機制,但是如果有人惡意使用stp特有的屬性發起攻擊,對於STP網路來說它也會造成網路不穩定;為了更好的保證RSTP協議在網路不穩定情況下,儘可能的保證流量的正常轉發,在標準協議中新增了4中保護功能;

  1、BPDU保護

  提示:我們知道邊緣埠的屬性就是不參與stp計算,但是它一旦收到了BPDU,該屬性也就失效;邊緣埠正常情況下是不可能收到BPDU報文的,如果說邊緣埠收到BPDU,說明要麼是我們鏈鋸接線有問題,要麼是有人惡意攻擊我們;如果我們沒有開啟邊緣埠BPDU保護,對應邊緣埠參與STP計算就會造成網路的震盪不穩定;

  提示:所謂BPDU保護就是針對邊緣埠的,開啟了邊緣埠的BPDU保護,對應邊緣埠一旦收到BPDU報文後,會立即把該埠shutdown;從而實現保護現有的stp網路不受邊緣埠的影響而造成網路震盪;

  實驗:如下拓撲,配置RSTP

  sw1的配置

HCNP Routing&Switching之RSTP保護
sys
sys sw1
stp mode rstp
stp priority 4096
View Code

  sw2的配置

HCNP Routing&Switching之RSTP保護
sys 
sys sw2
stp mode rstp 
int g0/0/3
stp edged-port en 
View Code

  sw3的配置

HCNP Routing&Switching之RSTP保護
sys 
sys sw3
stp mode rstp 
stp priority 8192
View Code

  驗證rstp個埠角色和狀態

  提示:可以看到現在三個交換機RSTP的角色和狀態都符合我們的拓撲;

  插拔邊緣埠,看看對應是否會對stp網路造成影響?

  提示:可以看到現在模擬插拔邊緣埠,並不會對stp網路造成影響,因為邊緣埠不參與stp計算;

  向邊緣埠傳送bpdu,看看對應埠是否會對stp網路造成影響呢?

  提示:我們使用sw4來傳送bpdu,看看對應邊緣埠收到bpdu後,是否會參與stp計算?

  提示:感覺開機配置SW4以後,對應沒有發生什麼變化;我們把sw4配置成root看看對應會發生變化嗎?

  提示:可以看到現在我們插拔邊緣介面,對應stp網路就會發生震盪;這說明 邊緣介面收到BPUD後會參與計算;

  開啟邊緣介面BPDU保護

  驗證:現在開啟sw4的g0/0/1,看看對應鏈路是否會自動shutdown呢?

   提示:可以看到當我們把sw4的埠開啟以後,對應sw2連線hub的鏈路就會down,這是sw2上開啟了bpdu保護,對應邊緣埠收到bpdu後,會立即將對應邊緣埠軟down;

  關閉sw4的1口,看看對應sw2的邊緣介面會不會自動up起來呢?

  提示:可以看到對應關閉了Sw4的1口,對應sw2的邊緣介面並沒有up起來;這是因為預設我們沒有配置error-down自動恢復;

  配置error-down自動恢復時間為30秒

  提示:系統預設error-down自動恢復時間範圍是30-86400秒;

  檢視error-down自動恢復

  提示:可以看到配置了error-down自動恢復時間,並開啟了sw4介面後,對應sw2的邊緣介面在30秒鐘後啟動一次邊緣介面,如果邊緣介面再次收到bpdu報文,對應又會產生error-down,對應埠又會shutdown,所以我們可以看到當error-down倒數計時完了以後,對應鏈路會啟動馬上又斷掉;

   2、根保護

  提示:我們知道如果在一個穩定的stp拓撲中加入一臺交換機,並開啟stp,對應拓撲就會發生變化,從而導致stp網路震盪;根對於stp來說尤其重要,所有跨交換機的訪問流量都會經由根,如果有人惡意冒充stp的根不但對stp網路會造成震盪、次優路徑,同時資訊保安也得不到保障,為此RSTP協議中加入了根保護機制;

  提示:所謂根保護機制是指配置了根保護的介面,如果收到更優的RST BPDU,對應埠會進入阻塞狀態,不再轉發報文;如果一段時間內該埠沒有收到更優的RST BPDU,對應埠又會恢復到正常轉發狀態;

  實驗:還是以上拓撲,我們在sw2的g0/0/3口配置根保護

  提示:邊緣介面不能配置根保護;

  刪除sw2的邊緣介面屬性

  驗證:開啟sw4的g0/0/1口,傳送更有的RST BPDU,看看對應埠是否會阻塞?

  提示:可以看到但我們把sw4口up起來後,對應sw2的3口就從轉發變成了阻塞;這是因為sw2的3口配置了根保護,它收到更優的RST BPDU後,對應會觸發根保護機制,將轉發狀態變成阻塞狀態,不再轉發資料,從而實現保護現有stp網路;

  關閉sw4的g0/0/1口,看看對應sw2的g0/0/3口是否會自動將狀態恢復成轉發狀態呢?

  提示:可以看到當把sw4的g0/0/1口shutdown以後,對應sw2的g0/0/3口會等待一段時間,確定沒有收到更優的RST BPDU以後,對應埠又會參與到stp計算中;這裡需要注意,指定埠從阻塞狀態轉變為forwarding狀態,會經由learning狀態,而不是直接轉變成forwarding狀態;

  3、環路保護

  提示:所謂環路保護是指由於鏈路擁塞導致BPDU丟失,為了避免因鏈路擁塞導致stp拓撲發生變化,從而引起stp網路震盪;設定環路保護的埠當收不到上游交換機傳送的BPDU報文時,環路保護機制就會生效;如果該埠參與了stp計算,則不論其角色如何,該埠在所有例項都處於discarding狀態;

  配置環路保護的命令

  提示:環路保護和根保護是互斥的,配置了根保護的埠不能再配置環路保護;環路保護和根保護都是在對應埠模式下開啟;開啟了環路保護的埠,在檢視埠狀態的後面會有一個保護機制從none變為loop;

  4、TC保護

  提示:我們知道只要往STP拓撲上接入交換機並開啟stp,對應stp網路都會發生拓撲變化從而引起網路震盪;拓撲變化對應交換機就會傳送tc,大量的TC報文會導致整個網路的交換機頻繁刪除mac地址表項,從而給交換機和鏈路帶來隱患;為了防止過多的TC報文影響網路穩定,RSTP協議中增加了tc保護;

  提示:所謂TC保護是指我們配置交換機在單位時間內處理單位數量的TC報文,如果超出配置單位時間處理的tc報文個數,對應交換機就處理TC報文;

  配置TC保護

  1、全域性開啟TC保護

  2、配置單位時間(處理頻率),預設是2秒

  stp tc-protection interval 10,這個命令在華為的模擬器上沒有,但真機有的機型是有的

  3、配置閥值(要處理的tc報文數量)預設是1個

  總結:各保護機制和應用的埠和作用

  RSTP保護推薦方案

  提示:在主根橋和備用根橋上開啟根保護,在接入終端的交換機上開啟邊緣埠和BPDU保護,環路保護在交換機與交換機相連的根埠或備份埠上開啟;

相關文章