14、MSTP報文
MSTP使用多生成樹橋協議數據單元MST BPDU(Multiple Spanning Tree Bridge Protocol Data Unit)作爲生成樹計算的依據。MST BPDU報文用來計算生成樹的拓撲、維護網絡拓撲以及傳達拓撲變化記錄。
STP中定義的配置BPDU、RSTP中定義的RST BPDU、MSTP中定義的MST BPDU及TCN BPDU差異對比如下表1所示。
表1 四種BPDU差異比較 | ||
版本 | 類型 | 名稱 |
0 | 0x00 | 配置BPDU |
0 | 0x80 | TCN BPDU |
2 | 0x02 | RST BPDU |
3 | 0x02 | MST BPDU |
15、MSTP報文格式
圖1 MST BPDU報文結構
MST BPDU報文結構如上圖1所示。無論是域內的MST BPDU還是域間的,前36個字節和RST BPDU相同。從第37個字節開始是MSTP專有字段。最後的MSTI配置信息字段由若干MSTI配置信息組連綴而成。MST BPDU中的主要信息如下表2所示。
表2 MST BPDU中主要信息說明 | ||
字段內容 | 字節 | 說明 |
Protocol Identifier | 2 | 協議標識符。 |
Protocol Version Identifier | 1 | 協議版本標識符,STP爲0,RSTP爲2,MSTP爲3。 |
BPDU Type | 1 | BPDU類型:
|
CIST Flags | 1 | CIST標誌字段。 |
CIST Root Identifier | 8 | CIST的總根交換設備ID。 |
CIST External Path Cost | 4 | CIST外部路徑開銷指從本交換設備所屬的MST域到CIST根交換設備所屬的MST域的累計路徑開銷。CIST外部路徑開銷根據鏈路帶寬計算。 |
CIST Regional Root Identifier | 8 | CIST的域根交換設備ID,即IST Master的ID。如果總根在這個域內,那麼域根交換設備ID就是總根交換設備ID。 |
CIST Port Identifier | 2 | 本端口在IST中的指定端口ID。 |
Message Age | 2 | BPDU報文的生存期。 |
Max Age | 2 | BPDU報文的最大生存期,超時則認爲到根交換設備的鏈路故障。 |
Hello Time | 2 | Hello定時器,缺省爲2秒。 |
Forward Delay | 2 | Forward Delay定時器,缺省爲15秒。 |
Version 1 Length | 1 | Version1 BPDU的長度,值固定爲0。 |
Version 3 Length | 2 | Version3 BPDU的長度。 |
MST Configuration Identifier | 51 | MST配置標識,表示MST域的標籤信息,包含4個字段。 |
CIST Internal Root Path Cost | 4 | CIST內部路徑開銷指從本端口到IST Master交換設備的累計路徑開銷。CIST內部路徑開銷根據鏈路帶寬計算。 |
CIST Bridge Identifier | 8 | CIST的指定交換設備ID。 |
CIST Remaining Hops | 1 | BPDU報文在CIST中的剩餘跳數。 |
MSTI Configuration Messages(may be absent) | 16 | MSTI配置信息。每個MSTI的配置信息佔16 bytes,如果有n個MSTI就佔用n×16bytes。 |
16、MSTP報文格式可配置
目前MSTP的BPDU報文存在兩種格式:dot1s:IEEE802.1s規定的報文格式;legacy:私有協議報文格式。
如果端口收發報文格式爲默認支持dot1s或者legacy,這樣就存在一個缺點:需要人工識別對端的BPDU報文格式,然後手工配置命令來決定支持哪種格式。人工識別報文格式比較困難,且一旦配置錯誤,就有可能導致MSTP計算錯誤,出現環路。
華爲技術有限公司採用的端口收發MSTP報文格式可配置(stp compliance)功能,能夠實現對BPDU報文格式的自適應:auto、dot1s、legacy。
這樣報文收發不但支持dot1s和legacy格式,還能通過auto方式根據收到的BPDU報文格式自動切換端口支持的BPDU報文格式,使報文格式與對端匹配。在自適應的情況下,端口初始支持dot1s格式,收到報文後,格式則和收到的報文格式保持一致。
17、每個Hello Time時間內端口最多能發送BPDU的報文數可配置
Hello Time用於生成樹協議定時發送配置消息維護生成樹的穩定。如果交換設備在一段時間內沒有收到BPDU報文,則會由於消息超時而對生成樹進行重新計算。
當交換設備成爲根交換設備時,該交換設備會按照該設置值爲時間間隔發送BPDU報文。非根交換設備採用根交換設備所設置的Hello Time時間值。
華爲技術有限公司數據通信設備提供的每個Hello Time時間內端口最多能夠發送的BPDU報文個數可配置(Max Transmitted BPDU Number in Hello Time is Configurable)功能,可以設定當前端口在Hello Time時間內配置BPDU的最大發送數目。
用戶配置的數值越大,表示每Hello Time時間內發送的報文數越多。適當的設置該值可以限制端口每Hello Time時間內能發送的BPDU數目,防止在網絡拓撲動盪時,BPDU佔用過多的帶寬資源。
18、MSTP優先級向量
MSTP將整個二層網絡劃分爲多個MST域,各個域之間通過計算生成CST(公共生成樹)。域內則通過計算生成多棵生成樹,每棵生成樹都被稱爲是一個多生成樹實例。其中實例0被稱爲IST,其他的多生成樹實例爲MSTI。MSTP同STP一樣,使用配置消息進行生成樹的計算,只是配置消息中攜帶的是設備上MSTP的配置信息。
MSTI和CIST都是根據優先級向量來計算的,這些優先級向量信息都包含在MST BPDU中。各交換設備互相交換MST BPDU來生成MSTI和CIST。
參與CIST計算的優先級向量爲:
{ 根交換設備ID,外部路徑開銷,域根ID,內部路徑開銷,指定交換設備ID,指定端口ID,接收端口ID }
參與MSTI計算的優先級向量爲:
{ 域根ID,內部路徑開銷,指定交換設備ID,指定端口ID,接收端口ID }
括號中的向量的優先級從左到右依次遞減。
下表1對每個優先級向量進行解釋。
表1 向量說明 | |
向量名 | 說明 |
根交換設備ID | 根交換設備ID用於選擇CIST中的根交換設備。根交換設備ID = Priority(16bits) + MAC(48bits)。 其中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的整數倍。 |
MSTP優先級向量比較原則:
同一向量比較,值最小的向量具有最高優先級。
首先,比較根交換設備ID;如果根交換設備ID相同,再比較外部路徑開銷;如果外部路徑開銷相同,再比較域根ID;如果域根ID仍然相同,再比較內部路徑開銷;如果內部路徑仍然相同,再比較指定交換設備ID;如果指定交換設備ID仍然相同,再比較指定端口ID;如果指定端口ID還相同,再比較接收端口ID。
如果端口接收到的BPDU內包含的配置消息優於端口上保存的配置消息,則端口上原來保存的配置消息被新收到的配置消息替代。端口同時更新交換設備保存的全局配置消息。反之,新收到的BPDU被丟棄。
19、CIST的計算
經過比較配置消息後,在整個網絡中選擇一個優先級最高的交換設備作爲CIST的樹根。在每個MST域內MSTP通過計算生成IST;同時MSTP將每個MST域作爲單臺交換設備對待,通過計算在MST域間生成CST。CST和IST構成了整個交換設備網絡的CIST。
20、MSTI的計算
在MST域內,MSTP根據VLAN和生成樹實例的映射關係,針對不同的VLAN生成不同的生成樹實例。每棵生成樹獨立進行計算,計算過程與STP計算生成樹的過程類似。
MSTI的特點:
每個MSTI獨立計算自己的生成樹,互不干擾;每個MSTI的生成樹計算方法與STP基本相同;每個MSTI的生成樹可以有不同的根,不同的拓撲;每個MSTI在自己的生成樹內發送BPDU; 每個MSTI的拓撲通過命令配置決定; 每個端口在不同MSTI上的生成樹參數可以不同;每個端口在不同MSTI上的角色、狀態可以不同。
在運行MSTP協議的網絡中,一個VLAN報文將沿着如下路徑進行轉發:在MST域內,沿着其對應的MSTI轉發;在MST域間,沿着CST轉發。
21、MSTP對拓撲變化的處理
MSTP拓撲變化處理與RSTP拓撲變化處理過程類似
22、MSTP快速收斂機制
MSTP支持普通方式和增強方式兩種P/A(Proposal/Agreement)機制:
1、普通方式
MSTP支持普通方式的P/A機制實現與RSTP支持的P/A機制實現相同,RSTP支持的P/A機制請見前面的內容。
2、增強方式
圖1 增強方式的P/A機制
如上圖1所示,在MSTP中,P/A機制工作過程如下:
上游設備發送Proposal報文,請求進行快速遷移。下游設備接收到後,把與上游設備相連的端口設置爲根端口,並阻塞所有非邊緣端口。
上游設備繼續發送Agreement報文。下游設備接收到後,根端口轉爲Forwarding狀態。
下游設備迴應Agreement報文。上游設備接收到後,把與下游設備相連的端口設置爲指定端口,指定端口進入Forwarding狀態。
缺省情況下,華爲數據通信設備使用增強的快速遷移機制。如果華爲數據通信設備和其他製造商的設備進行互通,而其他製造商的設備P/A機制使用普通的快速遷移機制,此時,可在華爲數據通信設備上通過設置P/A機制爲普通的快速遷移機制,從而實現華爲數據通信設備和其他製造商的設備進行互通。