對於STP生成樹協議,瞭解的人比較多。經過STP協議,解決了二層網絡內的環路問題,在消除環路和鏈路備份之間達成了平衡。但在現網中,一個二層網路內每每不止一個vlan,而是多個vlan的集合,STP/RSTP只能處理單個vlan的問題,而對於多個vlan的狀況一籌莫展。所以,MSTP的出現相當重要。
本文經過查詢華爲Hex文檔,結合自身理解,造成比較清晰而重要的MSTP的文檔,多是全網最詳細的MSTP文檔。網絡
MSTP(multiple spanning tree protocol)是多生成樹協議,經過生成多個生成樹,來解決以太網的環路問題。負載均衡
MSTP把一個交換網絡劃分紅多個域,每一個域造成多棵生成樹,生成樹之間彼此獨立,每顆生成樹叫作一個多生成樹實例MSTI(multiple spanning tree instance),每一個域叫作一個MST域(multiple spanning tree region)。每一個MSTI能夠看做是多個vlan的集合,即vlan根據須要捆綁在若干MSTI上(通常而言,這種須要指的是相同的拓撲結構),vlan和MSTI是多對一的關係,這樣能夠節省通訊開銷和資源佔用率。
在引入MSTP後,MSTP經過設置vlan映射表,把vlan和msti聯繫起來,根據現網須要,該網絡中,每一個vlan對應了一個msti。能夠認爲,每一個msti之間容許獨立的stp協議。
通過計算,最終生成了兩棵樹:ide
一個MSTP網絡中包含多個MST域,每一個MST域中包含多個MSTI,一個MSTI中包含多個運行STP/RSTP/MSTP的交換設備spa
MST域由交換網絡中的多臺交換設備以及他們之間的網段所組成。同一MST域的設備具備如下特色:blog
MST域之間在物理上直接或者間接相連。ip
描述了vlan和MSTI的映射關係,vlan和MSTI是多對一的關係。資源
公共生成樹,鏈接交換網絡內全部MST域的一棵生成樹。若是把MST域看做是一個節點或橋,那麼CST就是這些節點經過STP/RSTP計算生成的一棵生成樹。文檔
單生成樹,運行STP/RSTP的交換設備只能屬於一個生成樹。或者MST域中只有一個交換設備,這個交換設備構成單生成樹。域名
IST Master,域內距離總根最近的交換設備。it
相比於RSTP,MSTP在根端口,指定端口,alternate端口,backup端口和邊緣端口的基礎上,新增master端口和域邊緣端口。即共有7種端口類型。
是MST域和總根相連的全部路徑種最短路徑上的端口,是交換設備上鍊接MST域到總根的端口。Master端口是域中的報文去往總根的必經之路。master端口是特殊的域邊緣端口,他在CIST上的角色是root port ,在其餘各實例上的角色都是master端口。
位於MST域的邊緣並鏈接其餘MST域或SST的端口。
相比於RST BPDU報文,MSTP的BPDU報文前36字節是相同的。從第37字節開始是其專有字段。
目前MST BPDU存在兩種格式。分別是:
MSTP將二層網絡分爲多個MST域,域間計算生產CST,域內分爲多個生成樹實例,每一個實例分別計算獨立的STP生成樹。
實例0被稱爲IST,其餘的多生成樹實例爲MSTI。
向量名稱 | 說明 |
---|---|
根交換設備ID | CIST的根交換設備ID,等於priority(16bit)+MAC(48bit),其中priority爲MSTI0的優先級 |
外部路徑開銷(ERPC) | 從CIST的域根到達總根的路徑開銷。MST域內全部交換設備上保存的外部路徑開銷相同。若CIST根交換設備在域中,則域內全部交換設備上保存的外部路徑開銷爲0。 |
域根ID | 域根ID用於選擇MSTI中的域根。域根ID = Priority(16bits) + MAC(48bits)。其中Priority爲MSTI0的優先級。 |
內部路徑開銷(IRPC) | 本橋到達域根的路徑開銷。域邊緣端口保存的內部路徑開銷大於非域邊緣端口保存的內部路徑開銷。 |
指定交換設備ID | CIST或MSTI實例的指定交換設備是本橋通往域根的最鄰近的上游橋。若是本橋就是總根或域根,則指定交換設備爲本身。 |
指定端口ID | 指定交換設備上同本設備上根端口相連的端口。Port ID = Priority(4位) + 端口號(12位)。端口優先級必須是16的整數倍。 |
接收端口ID | 接收到BPDU報文的端口。Port ID = Priority(4位) + 端口號(12位)。端口優先級必須是16的整數倍。 |
同一貫量比較,值最小的向量具備最高優先級。
1 比較根交換設備ID。
2 若是根交換設備ID相同,再比較外部路徑開銷。
3 若是外部路徑開銷相同,再比較域根ID。
4 若是域根ID仍然相同,再比較內部路徑開銷。
5 若是內部路徑仍然相同,再比較指定交換設備ID。
6 若是指定交換設備ID仍然相同,再比較指定端口ID。
若是端口接收到的BPDU內包含的配置消息優於端口上保存的配置消息,則端口上原來保存的配置消息被新收到的配置消息替代。端口同時更新交換設備保存的全局配置消息。反之,新收到的BPDU被丟棄。
通過比較配置消息後,在整個網絡中選擇一個優先級最高的交換設備做爲CIST的樹根。在每一個MST域內MSTP經過計算生成IST;同時MSTP將每一個MST域做爲單臺交換設備對待,經過計算在MST域間生成CST。CST和IST構成了整個交換設備網絡的CIST。
在MST域內,MSTP根據VLAN和生成樹實例的映射關係,針對不一樣的VLAN生成不一樣的生成樹實例。每棵生成樹獨立進行計算,計算過程與STP計算生成樹的過程相似
MSTI的特色:
每一個MSTI獨立計算本身的生成樹,互不干擾。
每一個MSTI的生成樹計算方法與STP基本相同。
每一個MSTI的生成樹能夠有不一樣的根,不一樣的拓撲。
每一個MSTI在本身的生成樹內發送BPDU。
每一個MSTI的拓撲經過命令配置決定。
每一個端口在不一樣MSTI上的生成樹參數能夠不一樣。
在運行MSTP協議的網絡中,一個VLAN報文將沿着以下路徑進行轉發:
-1 p0和p1兩個端口立刻都先成爲指定端口,發送RST BPDU。
-2 S2的p1口收到更優的RST BPDU,立刻意識到本身將成爲根端口,而不是指定端口,中止發送RST BPDU。
1 協商開始時,每一臺設備都認爲本身是根橋,根橋上的端口是指定端口,端口狀態爲Discarding,端口的synced變量置位,觸發Proposal和Agreement同時置位。上游設備發送Proposal報文,請求進行快速遷移。下游設備接收到後,把與上游設備相連的端口設置爲根端口,並阻塞全部非邊緣端口。
2 上游設備繼續發送Agreement報文。下游設備接收到後,根端口轉爲Forwarding狀態。
缺省狀況下,華爲數據通訊設備使用加強的快速遷移機制。