HCNP Routing&Switching之MSTP

  前文我們了解了RSTP保護相關話題,回顧請參考//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數據的負載分擔;

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

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

 

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

  提示:如圖,兩個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中,如下圖

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

  MST各種樹

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

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

  CIST:公共和內部生成樹,連接所有設備的一顆生成樹,由IST和CST共同構成;

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

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

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

  MSTI和MSTI域根

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

  MSTP計算方法

 

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

  CST計算結果

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

  IST計算結果

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

  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兼容性

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

  STP各版本對比

  MSTP配置

  1、進入mstp域配置模式

  2、配置MSTP域名

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

  4、配置實例與vlan的映射,默認所有vlan都映射到實例0上

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

  5、激活mstp域配置

  提示:默認配置完域名,修訂級別和實例映射以後,對應在區域配置里看不到任何配置,原因是沒有激活,必須激活區域配置,對應配置資訊才會在區域配置模式里顯示;

  6、查看MSTP區域配置資訊

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

   7、調整實例優先順序

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