MSTP 多生成樹協議
STP/RSTP 的局限性
- 所有 vlan 共享一顆生成樹
- 無法實現不同 vlan 在多條 Trunk 鏈路上的分擔
- 二層鏈路負載均衡

STP/RSTP 的局限——次優二層路徑

**次優二層路徑(Suboptimal Layer 2 Path) 是指: ** 數據幀在交換網絡中傳輸時,沒有走 最優的、最短的或帶寬最高的路徑,而是走了 一條繞行的、效率較低的路徑 。
說白了就是,其實 3700 --> 5700-B 才是最優路徑,但是由于 STP 的原因,這條鏈路被堵塞了,只能走 3700 --> 5700-A --> 5700-B 這條路徑,這條路徑并不是最優的。
MSTP 的基本概念及優勢
MSTP 的定義
- MSTP(Multiple Spanning Tree,多生成樹協議)
- 基于實例計算出多顆生成樹,實例間實現負載分擔
- MSTP 標準協議為 IEEE802.1s

MST 域
- MST 域(MST Region):擁有相同 MST 配置標識的網橋構成的集合
- 域名
- 配置修訂號
- VLAN 與實例映射關系

CST、IST、CIST、總根和域根 – 實例0

-
CST:公共生成樹
- 是跨 MSTP 域的生成樹
- 負責在不同 MSTP 域之間構建無環路徑
- CST 是整個網絡中的一棵生成樹,不考慮 VLAN,只考慮域之間的連接
-
IST:內部生成樹
- 是每個 MSTP 域內部的一棵生成樹
- 所有未被映射到其他 MST 實例的 VLAN 都默認屬于 IST
- IST 就是 MST Instance 0
- IST 負責域內的生成樹計算
-
CIST:公共與內部生成樹
- 是整個網絡中的一棵“主生成樹”
- 由所有 MSTP 域的 IST(即 Instance 0) 和 域之間的 CST 構成
- CIST 是 MSTP 網絡中的全局生成樹
- 所有 VLAN 如果未被映射到其他 MST 實例,都走 CIST 路徑
-
總根
- CIST 的根橋(Root Bridge)
- 是整個網絡中 CIST 的“最高優先級橋”
- 所有 MSTP 域都會選舉出一個“通往總根”的路徑
- 通常由網絡中優先級最高的交換機擔任
-
域根
- 某個 MSTP 域中 CIST 的根橋
- 在一個 MSTP 域內,CIST 的根橋就是域根
- 域根是通往總根的“第一跳”
-
實例0
- MSTP 中的默認實例
- 所有未被映射到其他 MST 實例的 VLAN 都屬于 Instance 0
- Instance 0 就是 IST(Internal Spanning Tree)
- 所有 MSTP 域必須有一個 Instance 0
- Instance 0 構成了整個網絡的 CIST
MSTI和MSTI域根

-
MSTI:多生成樹實例
- MSTP 允許你將多個 VLAN 映射到一個 MSTI 上
- 每個 MSTI 是一個獨立的生成樹,可以有自己獨立的根橋、路徑和拓撲
- 這樣就可以為不同的 VLAN 設置不同的轉發路徑,實現 負載均衡 和 路徑優化
-
MSTI域根
-
每個 MSTI 在一個 MSTP 域中都有一個“域根”
-
這個域根是該 MSTI 在該域中的根橋
-
域根是通往“總根(CIST Root)”的入口
-
與“總根”的區別
總根(CIST Root) 整個網絡 整個 MSTP 網絡中 CIST 的根橋,全局唯一 MSTI 域根(Regional Root) 每個 MSTP 域 每個 MSTI 在域內的根橋,域內唯一
-
-
MSTI 域根的作用
路徑控制 | 每個 MSTI 可以有自己獨立的根橋,實現路徑優化 |
負載均衡 | 不同 MSTI 走不同路徑,提高帶寬利用率 |
域內轉發 | MSTI 域根是該 MSTI 在域內的“主控橋” |
域間轉發 | 域根負責將 MSTI 的流量傳遞給其他域 |
MSTP中的端口角色
-
Master端口
- IST根橋在CIST上的根端口
-
其他端口角色的定義和RSTP相同

MSTP工作原理
- MSTP的BPDU格式

CIST的優先級向量
-
CIST優先級向量={RootID:ERPC:RRootID:IRPC:DesignateBridgeID:DesignatePortID:RcvPortID}
-
比較原則:最小最優
- 首先比較CIST總根ID
- 其次比較CIST外部開銷
- 再次比較CIST域根ID
- 再其次比較CIST內部路徑開銷
- 再其次比較CIST指定橋ID
- 再其次比較CIST指定端口ID
- 最后比較CIST接收端口ID
MSTI的優先級向量
- MSTI優先級向量={RRootID:IRPC:DesignateBridgeID:DesignatePortID:RcvPortID}
- 比較原則:最小最優
- 首先比較MSTI域根ID
- 其次比較MSTI內部路徑開銷
- 再其次比較MSTI指定橋ID
- 再其次比較MSTI指定端口ID
- 最后比較MSTI接收端口ID
MSTP計算方法
- CST/IST的計算和RSTP類似
- MSTI的計算僅限于區域內
- MSTI計算參數包含在IST BPDU中,和IST的計算同步完成

CST計算

IST計算

MSTI計算過程-Region1

MSTI計算過程-Region2

MSTP計算結果

MSTP計算結果及分析


MSTP的P/A機制
- 上游橋發送的Proposal BPDU中,P標志位和A標志位都置位
- 下游收到P標志位和A標志位都置位的Proposal BPDU,在終端口頭同步后會回應Agreement BPDU,使得上游的指定端口快速進入轉發狀態

MSTP兼容性
MSTP和RSTP的互操作
- RSTP橋將MSTP域看做一個橋ID為域根ID的RSTP橋
- 實例0就是標準的RSTP,MSTP使用實例0與STP/RSTP對接

MSTP工作模式

典型配置案例
MSTP組網應用
- MSTP單域多實例組網
- 某局域網分為核心層、接入層兩個層次,運行MSTP協議
- SW1為實例0和實例1的根網橋,SW2為實例2的根網橋,實現局域網二層流量負載

MSTP基本配置 - 物理拓撲

MSTP基本配置 - 配置SWA的MST域參數

MSTP基本配置 - 設置RSTP點到點鏈路和邊緣端口

MSTP基本配置 - 驗證MSTP基本信息


保護機制
保護特性分類
- BPDU保護
- 根橋保護
- 環路保護
- TC保護
保護需求—邊緣端口受到攻擊
- 如果一個邊緣端口接收到配置消息,將從邊緣端口轉換成非邊緣端口,從而導致生成樹重新計算

BPDU保護機制
- 啟動了BPDU保護功能后,如果邊緣端口收到了配置消息,MSTP就將這些端口關閉

根橋的錯誤切換
- 合法根橋收到優先級更高的配置消息,失去根橋的地位,引起網絡拓撲結構的變動

根橋保護機制
- 對于設置了根保護功能的端口,一旦該端口收到某實例優先級更高的配置消息,立即將該實例端口設置為指定端口、偵聽狀態,不再轉發報文

配置根橋保護
- 根橋保護命令

環路的產生
- 由于鏈路擁塞或者單向鏈路故障,端口會收不到上游設備的BPDU報文。此時下游設備重新選擇端口角色,會導致環路的產生

環路保護機制
- 配置了環路保護的端口,當接收不到上游設備發送的BPDU報文時,環路保護生效
- 如果該端口參與了STP計算,則無論其角色如何,該端口在所有實例都將處于Discard ing狀態

TC攻擊
- 在有偽造的TC-BPDU報文惡意攻擊設備時,設備短時間內會收到很多的TC-BPDU報文,頻繁的刪除操作給設備帶來的分擔很大,給網絡的穩定帶來很大的隱患

TC保護機制
- 設置設備在收到TC-BPDU報文后的10秒內,進行地址表項刪除操作的最多次數
- 監控在該時間段內收到的TC-BPDU報文數是否大于門限值