mstp和stp的區(qū)別(詳談STP、RSTP、MSTP三者不同之處)
依次升級(jí),向下兼容,二層防環(huán)
STP 與 RSTP 的區(qū)別
1、 端口角色
STP:RP、DP、BP(blocking)
RSTP: RP、DP、BP、AP、EP
2、 端口狀態(tài)
RSTP 的狀態(tài)規(guī)范把原來(lái)的 5 種狀態(tài)縮減為 3 種。根據(jù)端口是否轉(zhuǎn)發(fā)用戶流量和學(xué)習(xí)
MAC 地址來(lái)劃分:
3、BPDU 不同 ①類型不同:只存在一種 BPDU,RSTP BPDU,相當(dāng)于 STP 配置 BPDU。 ②配置 BPDU 格式的改變,充分利用了 STP 協(xié)議報(bào)文中的 Flag 字段。
4、收斂機(jī)制
STP 在任何的情況端口從阻塞到轉(zhuǎn)發(fā)最少需要30S。
RSTP 在以下的場(chǎng)景下,端口從阻塞到轉(zhuǎn)發(fā)不需要轉(zhuǎn)發(fā)延遲:
①根端口快速切換機(jī)制 如果網(wǎng)絡(luò)中一個(gè)根端口失效,那么網(wǎng)絡(luò)中最優(yōu)的 Alternate 端口將成為根端口,直接進(jìn)入 Forwarding 狀態(tài),無(wú)需任何轉(zhuǎn)發(fā)延遲。
②邊緣端口機(jī)制 邊緣端口不參與RSTP 運(yùn)算,可以由 Disable 直接轉(zhuǎn)到 Forwarding 狀態(tài),且不經(jīng)歷時(shí)延。
③Proposal/Agreement 機(jī)制 當(dāng)一個(gè)端口被選舉成為指定端口之后,在 STP中,該端口至少要等待一個(gè) Forward Delay(Learning)時(shí)間才會(huì)遷移到 Forwarding 狀態(tài)。而在 RSTP 中, 此端口會(huì)先進(jìn)入 Discarding 狀態(tài),再通過(guò) Proposal/Agreement 機(jī)制快速進(jìn) 入 Forwarding 狀態(tài)。這種機(jī)制必須在點(diǎn)到點(diǎn)全雙工鏈路上使用。
新鏈路連接成功后,P/A 機(jī)制協(xié)商過(guò)程如下:
(1)p0 和 p1 兩個(gè)端口馬上都先成為指定端口,發(fā)送 RST BPDU。
(2)S2 的 p1 口收到更優(yōu)的 RST BPDU,馬上意識(shí)到自己將成為根端口,而不是指定
端口,停止發(fā)送 RST BPDU。
(3)S1 的 p0 進(jìn)入 Discarding 狀態(tài),于是發(fā)送的 RST BPDU 中把 proposa 置 1。
(4)S2 收到根橋發(fā)送來(lái)的攜帶 proposal 的 RST BPDU,開(kāi)始將自己的所有端口進(jìn)入 sync變量置位。
(5)p2 已經(jīng)阻塞,狀態(tài)不變 p4 是邊緣端口,不參與運(yùn)算;所以只需要阻塞非邊緣指定端口 p3。
(6)p2 和 p3 都進(jìn)入 Discarding 狀態(tài)之后,端口的 synced 變量置位,根端口 p1 的 synced也置位,于是便向 S1 返回 Agreement 位置位的回應(yīng) RST BPDU。該 RST BPDU 攜帶和剛才根橋發(fā)過(guò)來(lái)的 BPDU 一樣的信息,除了 Agreement 位置位之外(Proposal 位清零)。
(7)當(dāng) S1 判斷出這是對(duì)剛剛發(fā)出的 Proposal 的回應(yīng),于是端口 p0 馬上進(jìn)入 Forwarding狀態(tài)。
以上 P/A 過(guò)程可以向下游繼續(xù)傳遞。
事實(shí)上對(duì)于 STP,指定端口的選擇可以很快完成,主要的速度瓶頸在于:為了避免環(huán)路,必須等待足夠長(zhǎng)的時(shí)間,使全網(wǎng)的端口狀態(tài)全部確定,也就是說(shuō)必須要等待至少一個(gè)Forward Delay 所有端口才能進(jìn)行轉(zhuǎn)發(fā)。而 RSTP 的主要目的就是消除這個(gè)瓶頸,通過(guò)阻塞自己的非根端口來(lái)保證不會(huì)出現(xiàn)環(huán)路。而使用 P/A 機(jī)制加快了上游端口轉(zhuǎn)到Forwarding 狀態(tài)的速度。
說(shuō)明:P/A 機(jī)制要求兩臺(tái)交換設(shè)備之間鏈路必須是點(diǎn)對(duì)點(diǎn)的全雙工模式。一旦 P/A 協(xié)商不成功,指定端口的選擇就需要等待兩個(gè) Forward Delay,協(xié)商過(guò)程與 STP 一樣。
5、對(duì)次優(yōu) BPDU 的處理方式
當(dāng)一個(gè)端口收到上游的指定橋發(fā)來(lái)的 RST BPDU 報(bào)文時(shí),該端口會(huì)將自身存儲(chǔ)的RST BPDU 與收到的 RST BPDU 進(jìn)行比較。 如果該端口存儲(chǔ)的 RST BPDU 的優(yōu)先級(jí)高于收到的 RST BPDU,那么該端口會(huì)直接丟棄收到的 RST BPDU,立即回應(yīng)自身存儲(chǔ)的 RST BPDU。當(dāng)上游設(shè)備收到下游設(shè)備回應(yīng)的 RST BPDU 后,上游設(shè)備會(huì)根據(jù)收到的 RST BPDU 報(bào)文中相應(yīng)的字段立即更新自己存儲(chǔ)的 RST BPDU。 由此,RSTP 處理次等 BPDU 報(bào)文不再依賴于任何定時(shí)器通過(guò)超時(shí)解決拓?fù)涫諗浚瑥亩涌炝送負(fù)涫諗?。STP要等待20S老化時(shí)間。
6、 TC機(jī)制
1. T 點(diǎn)接口發(fā)生變更后,下游設(shè)備會(huì)不間斷地向上游設(shè)備發(fā)送 TCN BPDU 報(bào)文。
2. 上游設(shè)備收到下游設(shè)備發(fā)來(lái)的 TCN BPDU 報(bào)文后,只有指定端口處理 TCN BPDU 報(bào)文。其它端口也有可能收到 TCN BPDU 報(bào)文,但不會(huì)處理。
3. 上游設(shè)備會(huì)把配置 BPDU 報(bào)文中的 Flags 的 TC 和 TCA 位設(shè)置 1,然后發(fā)送給下游設(shè)備,告知下游設(shè)備停止發(fā)送 TCN BPDU 報(bào)文。
4. 上游設(shè)備復(fù)制一份 TCN BPDU 報(bào)文,向根橋方向發(fā)送。
5. 重復(fù)步驟 1、2、3、4,直到根橋收到 TCN BPDU 報(bào)文。
6. 根橋把配置 BPDU 報(bào)文中的 Flags 的 TC 位置 1 后發(fā)送,通知下游設(shè)備直接刪除橋
MAC 地址表項(xiàng)。
說(shuō)明:
? TCN BPDU 報(bào)文主要用來(lái)向上游設(shè)備乃至根橋通知拓?fù)渥兓?/p>
? 置位的TCA標(biāo)記的配置BPDU報(bào)文主要是上游設(shè)備用來(lái)告知下游設(shè)備已經(jīng)知道拓?fù)?/p>
變化,通知下游設(shè)備停止發(fā)送 TCN BPDU 報(bào)文。
? 置位的 TC 標(biāo)記的配置 BPDU 報(bào)文主要是上游設(shè)備用來(lái)告知下游設(shè)備拓?fù)浒l(fā)生變化,請(qǐng)下游設(shè)備直接刪除橋 MAC 地址表項(xiàng),從而達(dá)到快速收斂的目的。
RSTP 拓?fù)渥兓幚?/p>
在 RSTP 中檢測(cè)拓?fù)涫欠癜l(fā)生變化只有一個(gè)標(biāo)準(zhǔn):一個(gè)非邊緣端口遷移到 Forwarding狀態(tài)。
一旦檢測(cè)到拓?fù)浒l(fā)生變化,將進(jìn)行如下處理:
? 為本交換設(shè)備的所有非邊緣指定端口啟動(dòng)一個(gè) TC While Timer,該計(jì)時(shí)器值是 Hello Time 的兩倍。在這個(gè)時(shí)間內(nèi),清空狀態(tài)從 Forwarding 到 Discarding 的端口上學(xué)習(xí)到的 MAC 地址。同時(shí),由這些端口向外發(fā)送 RST BPDU,其中 TC 置位。一旦 TC While Timer 超時(shí),則停止發(fā)送 RST BPDU。
? 其他交換設(shè)備接收到 RST BPDU后,清空所有端口學(xué)習(xí)到 MAC 地址,除了收到 RST BPDU 的端口。然后也為自己所有的非邊緣指定端口和根端口啟動(dòng) TC While Timer,重復(fù)上述過(guò)程。
如此,網(wǎng)絡(luò)中就會(huì)產(chǎn)生 RST BPDU 的泛洪。
6、 增加防護(hù)機(jī)制
RSTP 提供的保護(hù)功能有:
(1) BPDU 保護(hù)
在交換設(shè)備上,通常將直接與用戶終端(如 PC 機(jī))或文件服務(wù)器等非交換設(shè)備相連的端口配置為邊緣端口。正常情況下,邊緣端口不會(huì)收到 RST BPDU。如果有人偽造 RST BPDU 惡意攻擊交換設(shè)備,當(dāng)邊緣端口接收到 RST BPDU 時(shí),交換設(shè)備會(huì)自動(dòng)將邊緣端口設(shè)置為非邊緣端口,并重新進(jìn)行生成樹計(jì)算,從而引起網(wǎng)絡(luò)震蕩。
交換設(shè)備上啟動(dòng)了 BPDU 保護(hù)功能后,如果邊緣端口收到 RST BPDU,邊緣端口將被error-down,但是邊緣端口屬性不變,同時(shí)通知網(wǎng)管系統(tǒng)。
(2) 根保護(hù)
由于維護(hù)人員的錯(cuò)誤配置或網(wǎng)絡(luò)中的惡意攻擊,網(wǎng)絡(luò)中合法根橋有可能會(huì)收到優(yōu)先級(jí)更高的 RST BPDU,使得合法根橋失去根地位,從而引起網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的錯(cuò)誤變動(dòng)。這種不合法的拓?fù)渥兓瑫?huì)導(dǎo)致原來(lái)應(yīng)該通過(guò)高速鏈路的流量被牽引到低速鏈路上,造成網(wǎng)絡(luò)擁塞。
對(duì)于啟用 Root 保護(hù)功能的指定端口,其端口角色只能保持為指定端口。一旦啟用Root 保護(hù)功能的指定端口收到優(yōu)先級(jí)更高的 RST BPDU 時(shí),端口狀態(tài)將進(jìn)入 Discarding 狀態(tài),不再轉(zhuǎn)發(fā)報(bào)文。在經(jīng)過(guò)一段時(shí)間(通常為兩倍的 Forward Delay),如果端口一直沒(méi)有再收到優(yōu)先級(jí)較高的 RST BPDU,端口會(huì)自動(dòng)恢復(fù)到正常的 Forwarding 狀態(tài)。
說(shuō)明: Root 保護(hù)功能只能在指定端口上配置生效。
(3) 環(huán)路保護(hù)
在運(yùn)行 RSTP 協(xié)議的網(wǎng)絡(luò)中,根端口和其他阻塞端口狀態(tài)是依靠不斷接收來(lái)自上游交換設(shè)備的 RST BPDU 維持。當(dāng)由于鏈路擁塞或者單向鏈路故障導(dǎo)致這些端口收不到來(lái)自上游交換設(shè)備的 RST BPDU 時(shí),此時(shí)交換設(shè)備會(huì)重新選擇根端口。原先的根端口會(huì)轉(zhuǎn)變?yōu)橹付ǘ丝冢鹊淖枞丝跁?huì)遷移到轉(zhuǎn)發(fā)狀態(tài),從而造成交換網(wǎng)絡(luò)中可能產(chǎn)生環(huán)路。
在啟動(dòng)了環(huán)路保護(hù)功能后,如果根端口或 Alternate 端口長(zhǎng)時(shí)間收不到來(lái)自上游設(shè)備的 BPDU 報(bào)文時(shí),則向網(wǎng)管發(fā)出通知信息(此時(shí)根端口會(huì)進(jìn)入 Discarding 狀態(tài),角色切換為指定端口),而 Alternate 端口則會(huì)一直保持在阻塞狀態(tài)(角色也會(huì)切換為指定端口),不轉(zhuǎn)發(fā)報(bào)文,從而不會(huì)在網(wǎng)絡(luò)中形成環(huán)路。直到鏈路不再擁塞或單向鏈路故障恢復(fù),端口重新收到 BPDU 報(bào)文進(jìn)行協(xié)商,并恢復(fù)到鏈路擁塞或者單向鏈路故障前的角色和狀態(tài)。
說(shuō)明:
環(huán)路保護(hù)功能只能在根端口或 Alternate 端口上配置生效。
(4) 防 TC-BPDU 攻擊
交換設(shè)備在接收到 TC BPDU 報(bào)文后,會(huì)執(zhí)行 MAC 地址表項(xiàng)和 ARP 表項(xiàng)的刪除操作。如果有人偽造 TC BPDU 報(bào)文惡意攻擊交換設(shè)備時(shí),交換設(shè)備短時(shí)間內(nèi)會(huì)收到很多 TC BPDU 報(bào)文,頻繁的刪除操作會(huì)給設(shè)備造成很大的負(fù)擔(dān),給網(wǎng)絡(luò)的穩(wěn)定帶來(lái)很大隱患。啟用防 TC-BPDU 報(bào)文攻擊功能后,在單位時(shí)間內(nèi),交換設(shè)備處理 TC BPDU 報(bào)文的次數(shù)可配置。如果在單位時(shí)間內(nèi),交換設(shè)備在收到 TC BPDU 報(bào)文數(shù)量大于配置的閾值,那么設(shè)備只會(huì)處理閾值指定的次數(shù)。對(duì)于其他超出閾值的 TC BPDU 報(bào)文,定時(shí)器到期后設(shè)備只對(duì)其統(tǒng)一處理一次。這樣可以避免頻繁的刪除 MAC 地址表項(xiàng)和 ARP 表項(xiàng),從而達(dá)到保護(hù)設(shè)備的目的。
MSTP
STP/RSTP在交換機(jī)上有且僅有一個(gè)實(shí)例,所有vlan映射到一個(gè)實(shí)例上,RSTP雖然可以實(shí)現(xiàn)網(wǎng)絡(luò)的快速收斂,但是仍然會(huì)出現(xiàn)閑置鏈路,沒(méi)有達(dá)到負(fù)載均衡的目的。
MSTP可以自定義多個(gè)生成樹實(shí)例,允許多個(gè)vlan映射到不同的實(shí)例。實(shí)現(xiàn)負(fù)載均衡,避免閑置鏈路;實(shí)現(xiàn)冗余備份,各實(shí)例之間的單獨(dú)進(jìn)行RSTP計(jì)算的,互不影響。不同的vlan流量根據(jù)不同的路徑進(jìn)行轉(zhuǎn)發(fā)。
MSTP 基本概念:
(1)CIST公共和內(nèi)部生成樹: CIST是通過(guò)STP或RSTP協(xié)議計(jì)算生成的,連接一個(gè)交換網(wǎng)絡(luò)內(nèi)所有交換設(shè)備的單生成樹??偢钦麄€(gè)網(wǎng)絡(luò)中優(yōu)先級(jí)最高的網(wǎng)橋,即為CIST的根橋。所有MST域的IST加上CST就構(gòu)成一棵完整的生成樹,即CIST。拓?fù)渲?,MST域內(nèi)的紅線和MST域間的藍(lán)線共同 組成了CIST。CIST的根橋?yàn)镸ST Region1中的S1。
(2)CST公共生成樹: CST(Common Spanning Tree)是連接交換網(wǎng)絡(luò)內(nèi)所有MST域的 一棵生成樹。CST就是這些節(jié)點(diǎn)通過(guò)STP或RSTP協(xié)議計(jì)算生成的一棵生成樹。拓?fù)渲?,由藍(lán)線組成CST。CST的根即為MST Region1。
(3)內(nèi)部生成樹: IST(Internal Spanning Tree)是各MST域內(nèi)的一棵生成樹。 MST域內(nèi)每顆生成樹都對(duì)應(yīng)一個(gè)實(shí)例號(hào),IST的實(shí)例號(hào)為0。實(shí)例 0無(wú)論有沒(méi)有配置都是存在的,沒(méi)有映射到其他實(shí)例的VLAN默認(rèn) 都會(huì)映射到實(shí)例0,即IST上。(只根據(jù)實(shí)例0的根為ist) IST是 CIST在MST域中的一個(gè)片段。拓?fù)渲校杉t線組成IST。
(4)主橋: (Master Bridge)也就是IST Master,它是域內(nèi)距離總根最近的交換設(shè)備。如果總根在MST域中,則總根為該域的主橋。拓?fù)渲?,Master橋?yàn)辄S色的網(wǎng)橋,即為S1/S4/S7。
(5)單生成樹: SST(Single Spanning Tree)有兩種情況:運(yùn)行STP或RSTP的 交換設(shè)備只能屬于一個(gè)生成樹。MST域中只有一個(gè)交換設(shè)備, 這個(gè)交換設(shè)備構(gòu)成單生成樹。拓?fù)渲袥](méi)有給出實(shí)例。
TCN BPDU 0x80
CONFIG BPDU 0X00
MAC maxage 300S
同一個(gè)域的條件
(1) region name
(2) region level
(3) 實(shí)例中的 vlan 映射
MSTP相對(duì)于RSTP和STP的優(yōu)點(diǎn)
1、MSTP支持鏈路負(fù)載分擔(dān),而STP/RSTP不支持: RSTP所有的VLAN在一棵樹上即一個(gè)實(shí)例,單個(gè)無(wú)法現(xiàn)實(shí)負(fù)載負(fù)擔(dān); MSTP有實(shí)例的概念,一個(gè)實(shí)例相當(dāng)于一顆樹,將不同實(shí)例的根設(shè)置在不同的交換機(jī)上,然后將不同的vlan映射到不同的實(shí)例里,實(shí)現(xiàn)流量負(fù)載分擔(dān),提高鏈路的利用率。
2、MSTP有域的概念,而STP/RSTP沒(méi)有: MSTP可以將設(shè)備分別劃分到不同域中,每個(gè)域單獨(dú)收斂,域中的一臺(tái)設(shè)備發(fā)生變化,只會(huì)影響該域,不會(huì)應(yīng)該整個(gè)網(wǎng)絡(luò)。
MSTP在RSTP的基礎(chǔ)上新增了2種端口:
Master端口: 1.MST域和總根相連的所有路徑中最短路徑上的端口,它是交換設(shè)備上連接MST 域到總根的端口。 2.域中的報(bào)文去往總根的必經(jīng)之路。 3.特殊域邊緣端口,Master端口在CIST上的角色是Root Port,在其它各實(shí)例上的角色都是Master端口。
域邊緣端口: 1.是指位于MST域的邊緣并連接其它MST域的端口。 2.進(jìn)行MSTP計(jì)算時(shí),域邊緣端口在MSTI上的角色和CIST實(shí)例的角色保持一致。
MSTP 快速收斂機(jī)制
MSTP 支持普通方式和增強(qiáng)方式兩種 P/A(Proposal/Agreement)機(jī)制:
? 普通方式
MSTP 支持普通方式的 P/A 機(jī)制實(shí)現(xiàn)與 RSTP 支持的 P/A 機(jī)制實(shí)現(xiàn)相同。
? 增強(qiáng)方式
增強(qiáng)方式的 P/A 機(jī)制
如圖 所示,在 MSTP 中,P/A 機(jī)制工作過(guò)程如下:
1. 上游設(shè)備發(fā)送 Proposal 報(bào)文,請(qǐng)求進(jìn)行快速遷移。下游設(shè)備接收到后,把與上游設(shè)備相連的端口設(shè)置為根端口,并阻塞所有非邊緣端口。
2. 上游設(shè)備繼續(xù)發(fā)送 Agreement 報(bào)文。下游設(shè)備接收到后,根端口轉(zhuǎn)為Forwarding 狀態(tài)。
3. 下游設(shè)備回應(yīng) Agreement 報(bào)文。上游設(shè)備接收到后,把與下游設(shè)備相連的端口設(shè)置為指定端口,指定端口進(jìn)入 Forwarding 狀態(tài)。
缺省情況下,華為數(shù)據(jù)通信設(shè)備使用增強(qiáng)的快速遷移機(jī)制。如果華為數(shù)據(jù)通信設(shè)備和其他制造商的設(shè)備進(jìn)行互通,而其他制造商的設(shè)備 P/A 機(jī)制使用普通的快速遷移機(jī)制,此時(shí),可在華為數(shù)據(jù)通信設(shè)備上通過(guò)命令 stp no-agreement-check 設(shè)置 P/A 機(jī)制為普通的快速遷移機(jī)制,從而實(shí)現(xiàn)華為數(shù)據(jù)通信設(shè)備和其他制造商的設(shè)備進(jìn)行互通。
本站部分文章來(lái)自網(wǎng)絡(luò)或用戶投稿。涉及到的言論觀點(diǎn)不代表本站立場(chǎng)。閱讀前請(qǐng)查看【免責(zé)聲明】發(fā)布者:方應(yīng),如若本篇文章侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。本文鏈接:http://www.gdyuanyu.cn/tougao/73986.html