一、 MSTP產(chǎn)生背景
IEEE 于2002年發(fā)布的802.1S標(biāo)準(zhǔn)定義了MSTP
RSTP和STP 缺點:
同一局域網(wǎng)內(nèi)所有的vlan共享一個生成樹,無法在vlan間實現(xiàn)數(shù)據(jù)流量的負(fù)載均衡;
鏈路利用率低,被阻塞的冗余鏈路不承載任何流量,造成了帶寬的浪費,還可能造成部分vlan報文無法轉(zhuǎn)發(fā)。
MSTP:MSTP兼容STP和RSTP,既可以快速收斂,又能使不同VLAN的流量沿各自的路徑轉(zhuǎn)發(fā),從而為冗余鏈路提供了更好的負(fù)載分擔(dān)機制。
二、 MSTP基本概念
1.MSTP網(wǎng)絡(luò)層次結(jié)構(gòu)
MSTP不僅涉及多個MSTI(生成樹實例),而且還可劃分多個MST域(MST Region,也稱為MST區(qū)域)。總的來說,一個MSTP網(wǎng)絡(luò)可以包含一個或多個MST域,而每個MST域中又可包含一個或多個MSTI。組成每個MSTI的是其中運行STP/RSTP/MSTP的交換設(shè)備,是這些交換設(shè)備經(jīng)MSTP協(xié)議計算后形成的樹狀網(wǎng)絡(luò)。
2.MSTP域
同一MSTP域設(shè)備的特點
都啟動MSTP
具有相同的域名
具有相同的VLAN到生成樹實例映射配置
具有相同的MSTP修訂級別配置
一個MSTP網(wǎng)絡(luò)可以存在多個MST域,各MST域之間在物理上直接或間接相連。用戶可以通過MSTP配置命令把多臺交換設(shè)備劃分在同一個MST域內(nèi)。
3. MSTI 多生成樹實例
MSTI是指MST域內(nèi)的生成樹。一個MST域內(nèi)可以通過MSTP生成多棵生成樹,各棵生成樹之間彼此獨立。一個MSTI可以與一個或者多個VLAN對應(yīng),但一個VLAN只能與-個MSTI對應(yīng)。
4.VLAN映射表
VLAN映射表是MST域的屬性,描述了VLAN和MST域中對應(yīng)MSTI之間的映射關(guān)系。也就是把那些VLAN分別加入哪個MSTI中。
5.IST內(nèi)部生成樹
IST是各個MST域內(nèi)部的一棵生成樹,是僅針對具體的MST域來計算的。但它是一個特殊的MSTI,其MSTIID為0,即IST通常稱為MSTI0。每個MST域中只有一個IST,包括對應(yīng)MST域中所有互聯(lián)的交換機。
6. CST公共生成樹
CST:是連接整個MSTP網(wǎng)絡(luò)內(nèi)所有MST域的一棵單生成樹,是針對整個MSTP網(wǎng)絡(luò)來計算的,每個網(wǎng)絡(luò)中只有一個CST,每個MST域中的IST是整個MSTP網(wǎng)絡(luò)CIST在對應(yīng)MST與中的一個片段
7.CIST公共和內(nèi)部生成樹
CIST是通過STP或RSTP協(xié)議計算生成的,連接整個MSTP網(wǎng)絡(luò)內(nèi)所有交換機的單生成樹,由IST和CST共同構(gòu)成。這里要注意了,上面介紹的CST是連接交換網(wǎng)絡(luò)中所有MST域的單生成樹,而此處的CIST則是連接交換網(wǎng)絡(luò)內(nèi)的所有交換機的單生成樹。即每個MSTP網(wǎng)絡(luò)中也只有一個CIST。交換網(wǎng)絡(luò)中的所有MST域的IST和CST一起構(gòu)成一棵完整的生成樹,也就是這里的CIST。
8.SST
構(gòu)成SST(生成樹)有兩種情況
運行STP或RSTP生成樹協(xié)議的交換機只屬于一個生成樹
MST與中只有一個交換機,這個交換機構(gòu)成了生成樹,如上圖的B0區(qū)域
9.總根
總根是CIST生成樹的根橋,通常是交換網(wǎng)絡(luò)中最上層的交換機,上圖中的總根是A0域中的IST生成樹的根,一個MSTP網(wǎng)絡(luò)只有一個總根
10. 根域
在MSTP網(wǎng)絡(luò)中,每MST域都有一個特殊的IST實例,以及許多MSTI實例,所以域根(Regional Root)又分為IST域根和MSTI域根。
各個MST域中的IST生成樹中舉例CIST總根舉例最近的交換機是IST域根,總根所在MST域的IST域根就是總根。
MSTI的域根是對應(yīng)生成樹實例的樹根,域中不同的MSTI有各自的域根。而且,MST域內(nèi)各棵生成樹的拓?fù)洳煌蚋部赡懿煌?/p>
三、MSTP端口角色
MSTP端口角色相比RSTP中多一個主端口(master port ),根端口、指定端口、Alternate 端口、Backup端口和邊緣端口這五種主要端口角色的作用與RSTP協(xié)議中對應(yīng)的端口角色定義完全相同。
與RSTP相同,在MSTP中除了邊緣端口外,其他端口都參與MSTP的計算過程,同一端口在不同生成樹中擔(dān)任不同角色
Master端口
Master端口是MST域和總根相連的所有路徑中最短路徑上的端口,它是交換機上連接MST域到總根的端口。Master端口是域中的報文去往總根的必經(jīng)之路。Master端口是特殊域邊緣端口,Master 端口在CST/CIST上的角色是根端口,在其他各實例上的角色都是Master。在圖中,交換設(shè)備S1、S2、S3、S4和它們之間的鏈路構(gòu)成一個MST域,SI交換設(shè)備的端口AP1在域內(nèi)的所有端口中到總根的路徑開銷最小,所以API為Master端口。
域邊緣端口
域邊緣端口是指位于MST域的邊緣并連接其他MST域或SST的端口。進行MSTP計算時,域邊緣端口在MSTI上的角色和CIST實例的角色保持一致。即如果邊緣端口在CIST實例上的角色是Master端口(連接域到總根的端口),則它在域內(nèi)所有MSTI上的角色也是Master端口。在圖中,AP1是域邊緣端口,它在CIST上的角色是Master端口,則API在MST域內(nèi)所有生成樹實例上的角色都是Master端口。
四、MSTP的端口狀態(tài)與收斂機制
端口角色端口狀態(tài) | 根端口/Master端口 | 指定端口 | 域邊緣端口 | Aiternate端口 | Backup端口 |
---|---|---|---|---|---|
Forwarding | √ | √ | √ | - | - |
Leaning | √ | √ | √ | - | - |
Discarding | √ | √ | √ | √ | √ |
MSTP的收斂機制與RSTP是完全一樣的。
五、 MSTP 拓?fù)溆嬎阍?/p>
MSTP將整個層網(wǎng)絡(luò)劃分為多個MST域,把每個域視為一個節(jié)點。各個MST域之間按照STP或者RSTP協(xié)議算法進行計算并生成CST(是單生成樹);在一個MST域內(nèi)則是通過MSTP協(xié)議算法計算生成若干個MSTI(是多生成樹),其中實例0被稱為IST。MSTP使用MST BPDU(Multiple Spanning Tree Bridge Protocol Data Unit,多生成樹橋協(xié)議數(shù)據(jù)單元)作為生成樹計算的依據(jù)。MSTBPDU報文用來計算生成樹的拓?fù)洹⒕S護網(wǎng)絡(luò)拓?fù)湟约皞鬟_(dá)拓?fù)渥兓涗洝?/p>
5.1 MSTP 向量優(yōu)先級
優(yōu)先級向量名 | 說明 |
---|---|
根橋ID | 根橋ID用于選擇CIST中的根橋。在BPDU中對應(yīng)的網(wǎng)橋ID,計算公式為:Priority(l6bits)+MAC(48bits) |
外部路徑開銷(ERPC) | 從MST域根到達(dá)總根的路徑開銷。MST域內(nèi)所有交換機上保存的外部路徑開銷相同。若CIST根橋在域中,則域內(nèi)所有交換機上保存的外部路徑開銷為0 |
域根ID | 也就是通常所說的MSTI樹根,域根ID用于選擇MSTI中的樹根。它也是通過網(wǎng)橋ID來選舉的,計算公式為:Priority(l6bits)+ MAC(48bits) |
內(nèi)部路徑開銷(IRPC) | 本交換機到達(dá)域根橋的路徑開銷。域邊緣端口保存的內(nèi)部路徑開銷值大于(優(yōu)先級越低)非域邊緣端口保存的內(nèi)部路徑開銷 |
指定橋 | CIST或MSTI實例的指定橋是本交換機通往域根的最鄰近的上游交換機。如果本交換機就是總根或域根,則指定橋為自己 |
指定端口 | 指定橋上與本交換機根端口相連的端口就是指定端口。其端口ID(Port ID)=Priority(8位)+端口號(8位)。 |
接收端口 | 端口優(yōu)先級必須是16的整數(shù)倍接收到BPDU報文的端口。其端口ID(Port ID)= Priority(8位)+端口號(8位)。端口優(yōu)先級必須是16的整數(shù)倍 |
?
最小向量擁有最高優(yōu)先級:比較規(guī)則如下
首先,比較根橋ID。
如果根橋ID相同,再比較外部路徑開銷。
如果外部路徑開銷還相同,再比較域根ID.
如果域根ID仍然相同,再比較內(nèi)部路徑開銷。
如果內(nèi)部路徑仍然相同,再比較指定橋ID。
如果指定橋ID仍然相同,再比較指定端口ID。
如果指定端口ID還相同,再比較接收端口ID。
5.2 CIST 的計算
經(jīng)過配置消息交換比較后,首先在整個網(wǎng)絡(luò)中選擇一個優(yōu)先級最高的交換機作為CIST的樹根,然后在每個MST域內(nèi)通過MSTP協(xié)議算法計算生成IST;同時MSTP將每個MST域作為單臺交換機對待,通過STP或者RSTP協(xié)議算法在MST域間計算生成CST。
CST和IST構(gòu)成了整個交換機網(wǎng)絡(luò)的CIST。
5.3 MSTI計算
在MST域內(nèi),MSTP根據(jù)VLAN和生成樹實例的映射關(guān)系,針對不同的VLAN生成不同的生成樹實例
特點:
每個MSTI獨立計算自己的生成樹,互不干擾。
每個MSTI的生成樹計算方法與RSTP基本相同。
每個MSTI的生成樹可以有不同的根,不同的拓?fù)洹?/p>
每個MSTI在自己的生成樹內(nèi)發(fā)送BPDU。
每個MSTI的拓?fù)渫ㄟ^命令配置決定(不是自動生成的)。
每個端口在不同MSTI上的生成樹參數(shù)可以不同。
每個端口在不同MSTI上的角色、狀態(tài)可以不同。
5.4 MSTI 生成樹算法實現(xiàn)
在一開始時,每臺交換機的各個端口會生成以自身交換機為根橋的配置消息,其中根路徑開銷為0,指定橋ID為自身交換機ID,指定端口為本端口。每臺交換機都向外:發(fā)送自己的配置消息,并在接收到其他配置消息后進行如下處理。
(1)當(dāng)端口收到比自身的配置消息優(yōu)先級低(優(yōu)先級的比較就是根據(jù)前面介紹的向量優(yōu)先級比較規(guī)則進行的)的配置消息時,交換機把接收到的配置消息丟棄,對該端口的配置消息不作任何處理。
(2)當(dāng)端口收到比本端口配置消息優(yōu)先級高的配置消息時,交換機把接收到的配置消息中的內(nèi)容替換該端口的配置消息中的內(nèi)容:然后交換機將該端的配置消 息和交換機上的其他端口的配置消息進行比較,選出最優(yōu)的配置消息。
計算生成樹的步驟如下:
選舉根橋。此步是通過比較所有交換機發(fā)送的配置消息的樹根ID,樹根ID值最小的交換機為CIST根橋,或者MST域根橋。
選舉非根橋上的根端口。每臺非根橋把接收到最優(yōu)配置消息的那個端口定為自身交換機的根端口。
選舉指定端口。在這一步又分為以下兩個子步驟:
首先,交換機根據(jù)根端口的配置消息和根端口的路徑開銷,為每個端口計算一個標(biāo)準(zhǔn)的指定端口配置消息:用樹根ID替換為根端口配置消息中的樹根ID;用根路徑開銷替換為根端口配置消息中的根路徑開銷加上根端口的路徑開銷:用指定橋ID替換為自身交換機的ID:用指定端口ID替換為自身端口ID。
然后,交換機對以上規(guī)則計算出來的配置消息和對應(yīng)端口上原來的配置消息進行比較。如果端口上原來的配置消息更優(yōu),則交換機將此端口阻塞,端口的配置消息不變,并且此端口將不再轉(zhuǎn)發(fā)數(shù)據(jù),只接收配置消息(相當(dāng)于根端口);如果通過以上替換計算出來的配置消息比端口上原來的配置消息更優(yōu),則交換機就將該端口設(shè)置為指定端口,端口上的配置消息替換成通過以上替換計算出來的配置消息,并周期性向外發(fā)送。
在MSTI生成樹拓?fù)涫諗亢螅瑹o論非根橋是否接收到根橋傳來的信息都按照Hello定時器周期性發(fā)送BPDU。如果一一個端口連續(xù)3個Hello時間(這個是缺省的設(shè)置)接收不到指定橋(也就是它所連接的上-級交換機)送來的BPDU,那么該交換機認(rèn)為與此鄰居之間的鏈路失敗。
5.5 MSTP 對拓?fù)渥兓奶幚?/p>
在MSTP中檢測拓?fù)涫欠癜l(fā)生了變化的標(biāo)準(zhǔn)是根據(jù)–個非邊緣端口的狀態(tài)是否遷移到Forwarding狀態(tài),如果是遷移到了Forwarding狀態(tài),則會發(fā)生拓?fù)渥兓?br /> 交換機一旦檢測到拓?fù)浒l(fā)生變化,進行如下處理。
為本交換機的所有非邊緣指定端口啟動一個TC While Timer(該計時器值是Hello Time的兩倍),并在這個時間內(nèi),清空這些端口上學(xué)來的MAC地址。如果是根端口上有狀態(tài)變化,則啟動根端口。
發(fā)生狀態(tài)變化的這些端口向外發(fā)送TC BPDU,其中的TC置位,直到TC While Timer超時。根端口總是要發(fā)送這種TC BPDU。
其他交換機接收到TC BPDU,進行如F處理。
清空所有端口學(xué)來的MAC地址,收到TC BPDU的端口除外。
為所有自己的非邊緣指定端口和自己的根端口啟動TC While計時器,重復(fù)上述過程。
六、 MSTP BPDU 報文
4中BPDU 的比較
?
名稱 | 版本 | 類型 |
---|---|---|
配置BPDU | 0 | 0X00 |
RST BPDU | 2 | 0X02 |
MST BPDU | 3 | 0X02 |
TCN BPDU | 0 | 0X80 |
MST BPDU 報文結(jié)構(gòu)如下圖,無論是域內(nèi)的MST BPDU 還是域間的 MST BPDU,前36字節(jié)和 RST bpdu是相同的,從第37 字節(jié)開始是 MSTP專有字段
?
MSTP BPDU 字段說明
?
MSTP BPDU報文格式可配置功能目前MSTP的BPDU報文存在兩種格式。
dotls:IEEE802.1s規(guī)定的報文格式。
legacy:華為私有協(xié)議報文格式。
華為交換機支持自動識別報文格式的功能,支持自動識別模式
[Huawei-GigabitEthernet0/0/1]stp?compliance?? ??auto????Protocol?type?is?auto ??dot1s???Protocol?type?is?802.1s ??legacy??Protocol?type?is?legacy 編輯:黃飛
?
評論
查看更多