協議信息
MSTP 兼容 STP 和 RSTP,既可以快速收斂,又提供了數據轉發的多個冗余路徑,在數據轉發過程中實現 VLAN 數據的負載均衡。
MSTP 可以將一個或多個 VLAN 映射到一個 Instance(實例)(一個或多個 VLAN 集合),再基于 Instance 計算生成樹。映射到同一個 Instance 的 VLAN 共享同一棵生成樹。
?
網絡層次
MSTP 把一個交換網絡劃分成多個域,每個域內形成多棵生成樹,生成樹之間彼此獨立。
MSTP 網絡中包含一個或多個 MST 域,每個 MST 域中包含一個或多個生成樹實例
術語解釋
MSTI --- 多生成樹實例
- 一個 MST 域內可以生成多棵生成樹,每棵生成樹都被稱為一個 MSTI
- MSTI 使用 Instance ID 標識,華為設備取值 0 - 4094
VLAN 映射表
MST 域的屬性,描述了 VLAN 和 MSTI 之間的映射關系
如圖所示的 MST Region 4 的 VLAN 映射有:
- VLAN1 映射到 MSTI 1
- VLAN2 映射到 MSTI 2
- 其他 VLAN 映射到 MSTI 3
CST 公共生成樹
連接交換網絡內所有 MST 域的一棵生成樹
如果把每個 MST 域看作是一個節點,CST 就是這些節點通過生成樹協議計算生成的一棵樹
IST 內部生成樹
各 MST 域內的生成樹
IST 時一個特殊的 MSTI,MSTI 的 instance ID 為 0
CIST 公共和內部生成樹
通過生成樹協議計算生成的,連接一個交換網絡內所有設備的單生成樹
所有 MST 域的 IST 加上 CST 就構成一棵完整的生成樹,即 CIST
SST 單生成樹
運行生成樹協議的交換設備只能屬于一個生成樹。如:STP 和 RSTP
MST 域中只有一臺交換設備,這臺設備就構成單生成樹
總根、域根和主橋
-
總根 CIST Root
是 CIST 的根橋
-
域根 Region Root
- 分為 IST 域根和 MSTI 域根
- IST 域根:在 MSTI 域中 IST 生成樹距離總根最近的交換設備是 IST 域根
- MSTI 域根是每個多生成樹的樹根
-
主橋
域內距離總根最近的交換設備
如果總根在 MST 域中,則總根為該域內的主橋
CIST 公共和內部生成樹選舉過程:
就是把 MST 域視為一臺邏輯交換機,然后進行生成樹計算
-
首先選舉總根 Root(實例 0 中的根)比較規則
- 在多個 MST 區域之間先選舉"總根”,通過比較實例 0 的 BID 橋 ID,越小越優(總根本質是實例 0 中的 Root)總根是設備的概念有整個 MST 多區域之間只能有一條總根 Root(可以相象把一個 MST 區域想成一個交換機)
- 總根可以是 MST 區域中的任意一臺設備
- 總根是整個大網中絕對的霸主
-
接著選舉域根
在每一個 MST 區域選舉一個 Region Root 域根,非總根區域的域根只能用于區域的域邊界設備擔任
Region root 比較規則- 比較區域邊界交換機到達總根的 ERPC 外部開銷(外部根路徑開銷)越小越優
- 如果 ERPC 外部開銷相同,比較域邊界交換機在實例 0 的橋 ID
- 域根選舉出來后,該區域內所有交換機到總根的 ERPC,等于域根到達總根的 ERPC(此時,把一個 MST 域視為一個邏輯交換機)
- 如果一個 MST 區域內存在總根,那么這個設備也是這個 MST 域的 Region root 域根
- 域根是每個 MST 區域內的霸主
-
選舉 CIST 中的端口角色規則
- 比較 CIST 的總根 ID,越小越優
- 比較 CIST 到達總根的 ERPC(ERPC 指到達總根的距離,ERPC 在跨越 MST 區域時累加)
- 比較 CIST 域根的橋 ID,越小越優
- 比驕 CIST 到達域根的 IRPC,越小越優(IRPC 指到達域根的距離)
- 比較 CIST 中 BPDU 報文發送者的 BID(橋 ID),越小越優
- 比較 CIST 中 BPDU 報文發送者的 PID(端口 ID),越小越優
- 比較 CIST 中 BPDU 報文接收者的 PID,越小越優
所有 CIST 的選舉基于 instance0 的 BID 來選舉
轉發原則
本區域中 VLAN 屬于哪個實例,就按哪個實例進行轉發。數據需要跨區域時,按照 CIST 進行轉發,進入其他區域后,按其他區域對應的實例進行轉發。
名詞解釋
域邊緣端口:
域邊緣端口是指位于 MST 域邊緣并連接其他 MST 域或 SST 的端口
域邊緣端口在生成樹實例上的角色與在 CIST 的角色保持一致(如果不一致,則會導致環路)
MASTER 端口:
MP 端口是在 MSTP 中新增的端口,只會出現在域根上
是 MST 域和總根項鏈的所有路徑中的最短路徑,是交換設別上連接 MST 域到總額和的端口
是域中報文去往總根的必經之路
配置命令
銳捷單域配置
?spanning-tree mode mst? // 修改生成樹為 MSTP
?spanning-tree mst configuration? // 進入 MST 設置
?name KFC? // 配置域名為 KFC
?revision 1? // 修訂級別 1
?instance 1 vlan 1-10? // 將 vlan 劃入實例
?show spanning-tree mst 1? // 查看 mst 實例 1
銳捷 MSTP 簡單實現
要求 VLAN10、VLAN20 數據流經過 S3 轉發,VLAN50、VLAN60 數據流經過 S4 轉發,S3、S4 其中一臺宕機時均可無縫切換至另一臺進行轉發。所配置的參數要求如下:
- region-name 為 ruijie;
- revision 版本為 1;
- 實例 1,包含 VLAN10、VLAN20;
- 實例 2,包含 VLAN50,VLAN60;
- S3 作為實例 0、1 中的主根,S4 作為實例 0、1 的從根;
- S4 作為實例 2 中的主根,S3 作為實例 2 的從根;
- 主根優先級為 4096,從根優先級為 8192;
VSU(config) spanning-tree # 開啟生成樹
VSU(config) spanning-tree mst configuration # 配置MSTP
VSU(config-mst) name ruijie # 名稱為ruijie
VSU(config-mst) revision 1 # 版本為1
VSU(config-mst) instance 1 vlan 10, 20 # 實例1允許通過VLAN10、VLAN20、VLAN30、VLAN40、VLAN100
VSU(config-mst) instance 2 vlan 50, 60 # 實例2允許通過VLAN50、VLAN60
...
S4(config) spanning-tree
S4(config) spanning-tree mst configuration
S4(config-mst) name ruijie
S4(config-mst) revision 1
S4(config-mst) instance 1 vlan 10, 20
S4(config-mst) instance 2 vlan 50, 60spanning-tree portfast default 配置所有的接口為邊緣端口
spanning-tree portfast (接口下)配置接口為邊緣端口
華為單域配置
?stp mode mstp ? // 修改 stp 模式為 mstp
?stp region-configuration?
?region-name KFC? // 配置域名
?revision-leval 1 ? // 配置修訂級別(版本)
?instance 1 vlan 1 to 50? // 將 vlan 劃入實例
?active region-configuration? // 激活配置
在多臺設備間,域名、修訂級別、VLAN 映射實例配置需保持一致
?stp instance 1 priority 0? // 修改實例的優先級
?display stp vlan 1? // 查看 vlan1 的生成樹
?display stp region-configuration? // 查看生成樹實例配置
?display stp brief? // 查看生成樹端口狀態
?stp instance 1 priority 4096? // 修改優先級
?