1. 程式人生 > >MSTP理論02-MSTP拓撲計算

MSTP理論02-MSTP拓撲計算

MSTP理論02-MSTP報文及拓撲計算

MSTP 使用多生成樹橋協議資料單元 MST BPDU(Multiple Spanning Tree Bridge Protocol Data Unit)作為生成樹計算的依據。 MST BPDU 報文用來計算生成樹的拓撲、維護網路拓撲以及傳達拓撲變化記錄。


1、MSTP 報文格式可配置
目前 MSTP 的 BPDU 報文存在兩種格式:
1)、dot1s: IEEE802.1s 規定的報文格式;
2)、legacy:私有協議報文格式。
如果埠收發報文格式為預設支援 dot1s 或者 legacy,這樣就存在一個缺點:需要人工識別對端的BPDU 報文格式,然後手工配置命令來決定支援哪種格式。人工識別報文格式比較困難,且一旦配置錯誤,就有可能導致 MSTP 計算錯誤,出現環路。
華為技術有限公司採用的埠收發 MSTP 報文格式可配置(stp compliance)功能,能夠實現對 BPDU報文格式的自適應:auto、dot1s、legacy。
這樣報文收發不但支援 dot1s 和 legacy 格式,還能通過 auto 方式根據收到的 BPDU 報文格式自動切換埠支援的 BPDU 報文格式,使報文格式與對端匹配。在自適應的情況下,埠初始支援 dot1s格式,收到報文後,格式則和收到的報文格式保持一致。


MSTP 拓撲計算
1、MSTP 的基本原理
MSTP 將整個二層網路劃分為多個 MST 域,各個域之間通過計算生成 CST。域內則通過計算生成多棵生成樹,每棵生成樹都被稱為是一個多生成樹例項。其中例項 0 被稱為 IST,其他的多生成樹例項為 MSTI。


2、優先順序向量
MSTI 和 CIST 都是根據優先順序向量來計算的,這些優先順序向量資訊都包含在 MST BPDU 中。各交換裝置互相交換 MST BPDU 來生成 MSTI 和 CIST。
1)、參與 CIST 計算的優先順序向量為:
{ 根交換裝置 ID,外部路徑開銷,域根 ID,內部路徑開銷,指定交換裝置 ID,指定端
口 ID,接收埠 ID }
2)、參與 MSTI 計算的優先順序向量為:
{ 域根 ID,內部路徑開銷,指定交換裝置 ID,指定埠 ID,接收埠 ID }
3)、比較原則:
同一向量比較,值最小的向量具有最高優先順序。優先順序向量比較原則如下。
a、 首先,比較根交換裝置 ID。
b、 如果根交換裝置 ID 相同,再比較外部路徑開銷。
c、 如果外部路徑開銷相同,再比較域根 ID。
d、 如果域根 ID 仍然相同,再比較內部路徑開銷。
e、 如果內部路徑仍然相同,再比較指定交換裝置 ID。
f、 如果指定交換裝置 ID 仍然相同,再比較指定埠 ID。
g、 如果指定埠 ID 還相同,再比較接收埠 ID。


3、CIST 的計算
經過比較配置訊息後,在整個網路中選擇一個優先順序最高的交換裝置作為 CIST 的樹根。在每個MST 域內 MSTP 通過計算生成 IST;同時 MSTP 將每個 MST 域作為單臺交換裝置對待,通過計算在 MST 域間生成 CST。 CST 和 IST 構成了整個交換裝置網路的 CIST。


4、MSTI 的計算
在 MST 域內, MSTP 根據 VLAN 和生成樹例項的對映關係,針對不同的 VLAN 生成不同的生成樹例項。每棵生成樹獨立進行計算,計算過程與 STP 計算生成樹的過程類似,其中MSTI 有如下特點:
1)、每個 MSTI 獨立計算自己的生成樹,互不干擾;
2)、每個 MSTI 的生成樹計算方法與 STP 基本相同;
3)、每個 MSTI 的生成樹可以有不同的根,不同的拓撲;
4)、每個 MSTI 在自己的生成樹內傳送 BPDU;
5)、每個 MSTI 的拓撲通過命令配置決定;
6)、每個埠在不同 MSTI 上的生成樹引數可以不同;
7)、每個埠在不同 MSTI 上的角色、狀態可以不同。
在執行 MSTP 協議的網路中,一個 VLAN 報文將沿著如下路徑進行轉發:
1)、在 MST 域內,沿著其對應的 MSTI 轉發;
2)、在 MST 域間,沿著 CST 轉發。


5、MSTP 對拓撲變化的處理
當檢測到拓撲發生了變化時:
1.首先清空狀態發生變化的埠上學習到的MAC地址。
2.同時在2倍的hello time時間內不斷向非邊緣埠傳送TC置位的MST BPDU。
3.其他裝置收到TC置位的MST BPDU後,清空其他所有埠學習到的MAC地址(除了收到MST BPDU的埠)。同時也會從自己的非邊緣埠和根埠向外泛洪TC置位的MST BPDU。