HCNP Routing&Switching之MSTP

1874 發表於 2022-05-13

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

  MSTP技術背景

  我們知道RSTP在STP的基礎上進行了改進,實現了網路拓撲快速收斂;但是由於區域網內所有vlan共享一棵生成樹,因此被阻塞後的鏈路將不承載任何流量,無法實現vlan間流量的負載分擔,從而造成頻寬浪費;除此以外,部分vlan間通訊也可能出現次優路徑;為了彌補STP和RSTP的這些缺陷,IEEE於2002年釋出的802.1s標準定義了MSTP;MSTP相容STP和RSTP,即可以實現快速收斂,又提供了資料轉發的多條冗餘路徑,在資料轉發過程中實現了VLAN資料的負載分擔;

HCNP Routing&Switching之MSTP

  提示:如上所示,在STP和RSTP中如果某條鏈路被阻塞,那麼該鏈路將不承載任何流量,即交換機B下所有vlan訪問server將會繞路;從拓撲來看這很顯然不是一個很合理的拓撲;

  MSTP:Multiple STP,多生成樹協議;該協議可實現設定VLAN對映表,將一個或多個VLAN對映到一個多生成樹例項上,基於例項計算出多棵生成樹,實現例項間負載分擔;並且該協議具有RSTP快速收斂相容STP和RSTP;

 HCNP Routing&Switching之MSTP

  提示:有了MSTP我們就可以將不同VLAN對映到不同例項上,根據例項來算生成樹;這樣一來我們可以實現例項和例項的負載均衡;簡單講,就是從原來的一顆生成樹,變成多棵生成樹;當然不同生成樹,樹根不同,對應通訊流量轉發路徑也就不同,從而利用了被阻塞鏈路,實現流量的負載分擔;

HCNP Routing&Switching之MSTP

  提示:如圖,兩個5700交換機,根據不同例項對映不同的vlan實現了例項1包含vlan2,例項2包含vlan3;同時stp計算也是根據不同例項的對映,分別算出兩棵生成樹,對於例項1來說,5700-a是根橋,5700-b是備份根橋;對於例項2來說5700-b是根橋,5700-a是備份根橋;所以在3700上,對於不同vlan,它們阻塞的埠不同,當然資料轉發路徑也就不同;

  MSTP術語

  MST例項:Instance,例項,由MSTID標誌,兩位元組的整數(16位2進位制,即例項理論範圍是0-65535);不同型號交換機,效能配置高低可能影響支援建立例項的數量;比如華為vrp平臺支援49個mst 例項(0-48),而有的真機支援4095個(0-4094)例項;一般來說效能越好,對應支援建立例項數量也就越多;預設rstp是把所有vlan對映到mst instance 0上;

  MST區域:Region,所謂區域是指一組相鄰的交換機組成的一個區域;對於同一個區域內地裝置具有如下特點:

  1、都啟用了MSTP;

  2、具有相同的區域名稱;

  3、具有相同例項的對映;

  4、具有相同的修訂級別(版本);

  MST配置標識:MST Configuration Identifier,標識自己所在的區域,被封裝在交換機相互傳送的BPDU中,如下圖

HCNP Routing&Switching之MSTP

  提示:MST配置標識,佔1位元組,預設是0;同一個區域的所有交換機必須滿足區域名稱要相同,修訂級別要一樣,例項對映要一致;

  MST各種樹

HCNP Routing&Switching之MSTP

  IST:內部生成樹(Internal Spanning Tree),MST 域內例項0上的生成樹;

  CST:公共生成樹(Common Spanning Tree),連線所有MST域的一顆生成樹,即把每個區域當作一個裝置所形成的生成樹;

  CIST:公共和內部生成樹,連線所有裝置的一顆生成樹,由IST和CST共同構成;

  MSTI:多生成樹例項,每個域內可以存在多棵生成樹,每棵生成樹和相應的VLAN對應;

  總根:CIST例項橋ID最優的橋,即公共和內部生成樹組成的總生成樹的根橋;

  域根:MST域內各棵生成樹的拓撲不同,域根也可能不同;

  MSTI和MSTI域根

HCNP Routing&Switching之MSTP

  提示:一個區域裡可有多棵生成樹,即一個例項對應一棵生成樹;上圖表示區域3裡有3棵生成樹,除了IST例項0以外,其中例項3的域根是swb(紅色虛線),例項5的域根是swc(藍色虛線);這意味著不同例項通訊資料轉發路徑的不同;

  MSTP計算方法

 HCNP Routing&Switching之MSTP

  提示:CST/IST的計算和RSTP類似;MSTI的計算僅限於區域內,MSTI計算引數包含在IST BPDU中,和IST計算同步完成;這裡需要注意的是隻有CIST的配置資訊會發往其他區域,各MSTI配置資訊只在該區域內傳播;

  CST計算結果

HCNP Routing&Switching之MSTP

  提示:從上圖可以看到通過各個區域傳送的CIST配置資訊,從而計算出一顆CST生成樹,並阻塞對應鏈路來防止環路;

  IST計算結果

HCNP Routing&Switching之MSTP

  提示:IST就是例項0所形成的生成樹,所以該生成樹是各區域內部的MSTI資訊計算出各個區域內的一個棵樹,上圖黑色實線就是IST;

  MSTP計算結果分析

HCNP Routing&Switching之MSTP

  提示:如上圖所示,hostB和hostA通訊,hostB在區域4裡,屬於vlan2;首先在區域4裡檢視是否有vlan2的例項對映,如果有,就按照對應例項的生成樹線路轉發資料;如果沒有,就走IST線路;可以看到區域4裡並沒有VLAN2的例項對映,所以資料轉發路徑走IST,然後從IST的根橋轉發給其他區域;但資料到達區域3時,還是同樣的方式,檢視對應區域3是否有vlan2的例項對映,如果有,就走對應例項MSTI生成樹對應路徑,如果沒有就走IST;可以看到區域3也沒有VLAN的對映,所以通訊路徑還是會沿著IST的路徑從IST的根橋傳送出去;但資料來到區域1時也是先看有沒有對應例項的對映,如果有就走對應例項MSTI對應的路徑,如果沒有就走IST;可以看到區域1裡有vlan2的對映,所以在區域1裡對應資料會沿著紅色虛線進行轉發,到達對應msit的根橋,然後傳送給下一個區域;同理區域2裡也有vlan2的例項,所以資料會沿著紅色虛線進行轉發,最後到達hostA;當然最開始會看CIST,判斷出對應那條鏈路阻塞;然後在根據各個區域裡的例項對映關係,來轉發資料;

  STP、RSTP和MSTP相容性

HCNP Routing&Switching之MSTP

  提示:三種工作模式總的原則就是向下相容,MSTP相容RSTP,RSTP相容STP;如果MSTP交換機的埠上曾經連線有STP或RSTP交換機,則對應埠會被遷移到STP或RSTP相容工作模式;如果STP/RSTP交換機被關機,該埠無法自動遷移到MSTP模式工作,此時如果在埠上執行mcheck操作,則該埠會重新遷移到MSTP模式下工作;

  STP各版本對比

HCNP Routing&Switching之MSTP

  MSTP配置

  1、進入mstp域配置模式

HCNP Routing&Switching之MSTP

  2、配置MSTP域名

HCNP Routing&Switching之MSTP

  3、配置MSTP修訂級別,範圍0-65535,預設為0

HCNP Routing&Switching之MSTP

  4、配置例項與vlan的對映,預設所有vlan都對映到例項0上

HCNP Routing&Switching之MSTP

  提示:上述MSTP域名,修訂級別和例項對映關係,在同一區域內的所有交換機必須相同;

  5、啟用mstp域配置

HCNP Routing&Switching之MSTP

  提示:預設配置完域名,修訂級別和例項對映以後,對應在區域配置裡看不到任何配置,原因是沒有啟用,必須啟用區域配置,對應配置資訊才會在區域配置模式裡顯示;

  6、檢視MSTP區域配置資訊

HCNP Routing&Switching之MSTP

  提示:可以看到對應例項裡有哪些VLAN,預設沒有配置例項,就只有例項0,即所有VLAN都對映在例項0上; 所以我們把例項0稱作內部生成樹即IST;

   7、調整例項優先順序

HCNP Routing&Switching之MSTP

  提示:這個例項優先順序調整和STP類似,命令不同之處在於MSTP需要加上例項號,即表示對那個例項進行調整;如上述命令表示把例項10的stp優先順序設定為0,即例項0的主根橋;把例項20的stp優先順序設定為4096,即設定例項20的備用根橋;