33?張圖詳解?RSTP?、MSTP、替代技術(shù)
STP 的弊端
上次有寫(xiě)過(guò)一篇《圖解 STP 》的文章,里面有提到 STP 的功能是消除環(huán)路和鏈路備份,同時(shí)也發(fā)現(xiàn) STP 的一些問(wèn)題:- 網(wǎng)絡(luò)收斂速度慢:BPDU 的 Max Age 值是
20
秒,接口從偵聽(tīng)到學(xué)習(xí)狀態(tài)和從學(xué)習(xí)到轉(zhuǎn)發(fā)狀態(tài)分別有一個(gè)15
秒的轉(zhuǎn)發(fā)延遲時(shí)間,因此一個(gè)接口從阻塞到轉(zhuǎn)發(fā)狀態(tài)需要30 ~ 50
秒的時(shí)間,這段時(shí)間內(nèi)接口無(wú)法正常使用。
- 接口狀態(tài)不合理:STP 接口的禁用、阻塞、偵聽(tīng)狀態(tài)類(lèi)似,功能高度重合。
- 拓?fù)渥兓蕾?lài)計(jì)時(shí)器:根交換機(jī)發(fā)送配置 BPDU 的 Hello Time 是
2
秒,非根交換機(jī)即使沒(méi)收到 BPDU ,也要在 Max Age 的20
秒后,才會(huì)重新計(jì)算 STP 。
什么是收斂?收斂是指網(wǎng)絡(luò)進(jìn)入穩(wěn)定狀態(tài)。比如在 STP 中所有接口獲得接口角色,進(jìn)入轉(zhuǎn)發(fā)或阻塞狀態(tài)。收斂時(shí)間是指網(wǎng)絡(luò)從發(fā)生變化到進(jìn)入穩(wěn)定狀態(tài)的時(shí)間。
RSTP
鑒于 STP 的優(yōu)缺點(diǎn)都很明顯,棄之又覺(jué)得可惜,還是搶救一下吧。于是升級(jí)版的 RSTP 出現(xiàn)了,對(duì) STP 進(jìn)行了大量的改進(jìn)。RSTP 增加新的接口角色,其中的替代接口可在交換機(jī)的根接口失效時(shí),立即成為新的根接口,獲取新的路徑到達(dá)根橋。RSTP 使用 P/A 機(jī)制,讓指定接口能夠快速進(jìn)入轉(zhuǎn)發(fā)狀態(tài),而不用像 STP 那樣經(jīng)過(guò) Forward Delay 時(shí)間。RSTP 還新增邊緣接口的概念,讓交換機(jī)接入終端設(shè)備的接口立即進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。RSTP 接口角色
RSTP 在 STP 的基礎(chǔ)上增加了接口角色,4 種接口角色分別是:根接口( RP )、指定接口( DP )、替代接口( Alternate Port ,AP )和備份接口( Backup Port ,BP )。根接口和指定接口與 STP 中定義相同,對(duì)于 STP 的非根非指定接口,RSTP 將其分為兩種,一種是替代接口,另一種是備份接口。1、替代接口( Alternate Port ,AP )
替代接口就是根接口的備份,由于收到其它交換機(jī)發(fā)送的更優(yōu) BPDU 而被阻塞的接口。如果根接口發(fā)生故障,那么替代接口會(huì)成為新的根接口。接口切換過(guò)程中,無(wú)需延時(shí),無(wú)需 BPDU 交互,立馬進(jìn)入到轉(zhuǎn)發(fā)狀態(tài)。一臺(tái)交換機(jī)如果是非根橋,那么它有且只有一個(gè)根接口,但是這臺(tái)交換機(jī)可以沒(méi)有替代接口,也可以有,當(dāng)有替代接口時(shí),可以有一個(gè)或多個(gè)。當(dāng)交換機(jī)的根接口發(fā)生故障時(shí),最優(yōu)的替代接口將成為新的根接口。如上圖所示,SW1 是網(wǎng)絡(luò)中的根橋,SW3 有兩個(gè)接口接入到網(wǎng)絡(luò)中,由于 G0/11 比 G0/12 到達(dá)根橋的 RPC 更小,G0/11 成為 SW3 的根接口。G0/12 收到 SW2 發(fā)送的 BPDU ,經(jīng)過(guò) SW3 計(jì)算后決定阻塞,成為 SW3 的替代接口。2、備份接口( Backup Port ,BP )
備份接口也是指定接口的備份,備份接口是交換機(jī)收到了自己發(fā)送的 BPDU 而被阻塞的接口。如果一臺(tái)交換機(jī)的多個(gè)接口在同一個(gè)物理網(wǎng)段內(nèi),其中一個(gè)選舉為指定接口,其它接口選舉為備份接口且處于丟棄狀態(tài),備份接口作為這個(gè)網(wǎng)段到達(dá)根橋的冗余接口。如果交換機(jī)的指定接口發(fā)生故障,最優(yōu)的備份接口成為新的指定接口,為根交換機(jī)與這條鏈路提供另一條轉(zhuǎn)發(fā)通道,實(shí)現(xiàn)與這個(gè)網(wǎng)段的數(shù)據(jù)交互。備份接口通常在這兩種情況下出現(xiàn),一種是交換機(jī)的多個(gè)接口連接到一臺(tái)集線(xiàn)器( Hub )上,但是集線(xiàn)器和共享網(wǎng)絡(luò)幾乎絕跡。另一種情況是同一臺(tái)交換機(jī)的兩個(gè)接口通過(guò)一條網(wǎng)線(xiàn)連接起來(lái),這種通常是人為的誤操作。因此備份接口比較少見(jiàn)。如上圖所示,SW1 是網(wǎng)絡(luò)中的根橋,SW2 的 G0/11 和 G0/12 接口形成自環(huán),RSTP 能夠檢測(cè)到這個(gè)環(huán)路,并在這兩個(gè)接口中選擇一個(gè)進(jìn)行阻塞。由于 G0/11 接口的接口 ID 更小,成為 SW2 的指定接口,而 G0/12 接口成為備份接口,備份接口被阻塞。如上圖所示,SW2 的兩個(gè)接口連接在同一臺(tái)集線(xiàn)器( Hub )上,集線(xiàn)器收到數(shù)據(jù)后會(huì)拷貝到其它所有接口,而且集線(xiàn)器不支持 STP/RSTP ,因此 SW2 從 G0/11 接口發(fā)出的 BPDU 會(huì)被集線(xiàn)器發(fā)送到 SW2 的 G0/12 接口,反之亦然。當(dāng) SW2 的指定接口 G0/11 出現(xiàn)故障時(shí),備份接口 G0/12 將接替它的工作,負(fù)責(zé)與相應(yīng)的網(wǎng)段實(shí)現(xiàn)數(shù)據(jù)交互。RSTP 接口狀態(tài)
STP 有 5 種接口狀態(tài),分別是禁用、阻塞、偵聽(tīng)、學(xué)習(xí)和轉(zhuǎn)發(fā),而 RSTP 對(duì)接口狀態(tài)進(jìn)行了簡(jiǎn)化,把禁用、阻塞、偵聽(tīng)狀態(tài)合并為丟棄狀態(tài)( Discarding )。因?yàn)檫@三類(lèi)狀態(tài)的功能區(qū)別不大,接口都不學(xué)習(xí) MAC 地址,也不轉(zhuǎn)發(fā)數(shù)據(jù),這也是丟棄狀態(tài)接口的處理方式。那么 RSTP 就是 3 種狀態(tài),即丟棄狀態(tài)( Discarding )、學(xué)習(xí)狀態(tài)( Learning )和轉(zhuǎn)發(fā)狀態(tài)( Forwarding )。學(xué)習(xí)和轉(zhuǎn)發(fā)狀態(tài)保持不變,和 STP 中的定義相同。邊緣接口
如果交換機(jī)的接口連接的是終端設(shè)備,比如 PC 、服務(wù)器、打印機(jī)等,而不是其它交換機(jī)的接口,那么這些接口不太可能造成環(huán)路。我們就可以將交換機(jī)的接口配置為邊緣接口( Edge Port ),邊緣接口默認(rèn)不參加生成樹(shù)計(jì)算。當(dāng)邊緣接口被開(kāi)啟后,立即切換到轉(zhuǎn)發(fā)狀態(tài)并開(kāi)始收發(fā)數(shù)據(jù)流量,而不用經(jīng)歷轉(zhuǎn)發(fā)延遲時(shí)間,提升網(wǎng)絡(luò)效率。邊緣接口的開(kāi)啟和關(guān)閉都不會(huì)觸發(fā) RSTP 拓?fù)渥兏?/span>P/A 機(jī)制
在 STP 中,交換機(jī)的一個(gè)接口成為指定接口后,還需要經(jīng)過(guò)偵聽(tīng)和學(xué)習(xí)狀態(tài),即經(jīng)過(guò) 30 秒時(shí)間,才能進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。而 RSTP 引入 P/A 機(jī)制( Proposal/Agreement ,握手/贊同),讓指定接口與對(duì)端接口進(jìn)行握手,并逐級(jí)進(jìn)行傳遞避免環(huán)路,這個(gè)過(guò)程不使用計(jì)時(shí)器。也就是說(shuō),完成握手的 RSTP 指定接口從丟棄狀態(tài)直接進(jìn)入到轉(zhuǎn)發(fā)狀態(tài),而不需要經(jīng)過(guò)其它狀態(tài),加速生成樹(shù)的收斂。Proposal 消息和 Agreement 消息都是 BPDU 。交換機(jī)通過(guò) BPDU 中的 Flag(標(biāo)記)字段來(lái)標(biāo)識(shí) BPDU 的不同類(lèi)型,包括 Proposal BPDU 和 Agreement BPDU 。如上圖所示,在 SW1 和 SW2 新增一條鏈路,由于 SW1 的橋優(yōu)先級(jí)最高,成為這個(gè)網(wǎng)絡(luò)中的根橋,SW1 的 G0/1 接口成為指定接口,SW2 的 G0/2 接口成為根接口。如果是運(yùn)行 STP ,那么指定接口和根接口必須經(jīng)歷偵聽(tīng)和學(xué)習(xí)狀態(tài)才能進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。如果網(wǎng)絡(luò)中運(yùn)行的是 RSTP ,當(dāng) SW1 與 SW2 之間新增一條鏈路后。- SW1 和 SW2 馬上在各自的接口上發(fā)送 BPDU ,開(kāi)始的時(shí)候雙方都認(rèn)為自己是根橋。
- 經(jīng)過(guò) BPDU 交互后,SW2 認(rèn)為 SW1 才是根橋。這時(shí) SW1 的 G0/1 接口成為指定接口,SW2 的 G0/2 接口則成為根接口,并馬上停止發(fā)送 BPDU 。這兩個(gè)接口都處于丟棄狀態(tài)。
- 接下來(lái) P/A 過(guò)程會(huì)發(fā)生在 SW1 和 SW2 之間。SW1 從 G0/1 接口發(fā)送 Proposal 消息,希望自己能夠立刻進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。
- 而 SW2 在收到 Proposal 消息后,首先會(huì)判斷接收 Proposal 消息的接口是不是根接口。在確認(rèn)自己收到 Proposal 的接口是根接口后,SW2 為了避免出現(xiàn)環(huán)路,阻塞自己所有非邊緣的指定接口,使這些接口都進(jìn)入到丟棄狀態(tài),這個(gè)操作稱(chēng)為 P/A 同步機(jī)制。邊緣接口不參與這個(gè)過(guò)程。
- 在 SW2 所有接口完成同步后,SW2 清楚的知道自己的接口不存在環(huán)路,馬上將根接口 G0/2 切換到轉(zhuǎn)發(fā)狀態(tài),并從根接口向 SW1 發(fā)送 Agreement 消息。
- SW1 在 G0/1 接口上收到 Agreement 消息后,立刻將 G0/1 接口切換成轉(zhuǎn)發(fā)狀態(tài),這時(shí) PC1 和 PC2 就可以通信了。
保護(hù)功能
交換機(jī)有多種保護(hù)功能,用于提升生成樹(shù)協(xié)議的穩(wěn)定性。1、BPDU 保護(hù)( BPDU Protection )
當(dāng)邊緣接口收到 BPDU 后,會(huì)馬上變成一個(gè)普通的 RSTP 接口,可能引發(fā)網(wǎng)絡(luò)中 RSTP 重新計(jì)算,從而對(duì)網(wǎng)絡(luò)造成影響。通常邊緣接口連接終端設(shè)備,應(yīng)該不會(huì)收到 BPDU ,但是如果誤接了交換機(jī),那么這個(gè)邊緣接口就有可能收到 BPDU ,會(huì)引入環(huán)路隱患。還有一種情況是惡意用戶(hù)連接邊緣接口后,發(fā)起 BPDU 攻擊,也會(huì)對(duì)網(wǎng)絡(luò)造成很大影響。通過(guò)在交換機(jī)上開(kāi)啟 BPDU 保護(hù)功能就可以解決這個(gè)問(wèn)題。當(dāng)交換機(jī)開(kāi)啟這個(gè)功能后,如果邊緣接口收到 BPDU ,那么交換機(jī)馬上把接口關(guān)閉,置為 Error-Down ,同時(shí)觸發(fā)告警。如果受到保護(hù)的邊緣接口因?yàn)槭盏?BPDU 而被關(guān)閉,默認(rèn)情況下是不會(huì)自動(dòng)恢復(fù)的,需要在交換機(jī)上手動(dòng)執(zhí)行命令開(kāi)啟來(lái)恢復(fù)接口。除此之外,還可以手動(dòng)設(shè)置接口自動(dòng)恢復(fù)功能,在指定時(shí)間后自動(dòng)恢復(fù)。2、根保護(hù)( Root Protection )
RSTP 根據(jù)根橋計(jì)算出無(wú)環(huán)拓?fù)?,根橋是很重要的。在已?jīng)完成收斂的 RSTP 網(wǎng)絡(luò)中,如果根橋發(fā)生變化,那么 RSTP 就會(huì)重新計(jì)算,重新計(jì)算時(shí)網(wǎng)絡(luò)將不可用。通常我們會(huì)選擇網(wǎng)絡(luò)中性能最好和位置最重要的設(shè)備作為根橋,將其優(yōu)先級(jí)設(shè)置為最小值 0 ,但是這個(gè)措施并不能保證這個(gè)設(shè)備永遠(yuǎn)是網(wǎng)絡(luò)中的根橋,畢竟根橋的角色是可以搶占的。如果網(wǎng)絡(luò)中新接入的交換機(jī)優(yōu)先級(jí)被配置為 0 ,恰好 MAC 地址比根橋更小,那么新交換機(jī)將搶占成為新的根橋,還會(huì)造成網(wǎng)絡(luò)的 RSTP 重新計(jì)算,從而對(duì)網(wǎng)絡(luò)造成影響。在交換機(jī)的相關(guān)接口部署根保護(hù)功能,就可以規(guī)避這個(gè)問(wèn)題。當(dāng)根橋的指定接口開(kāi)啟根保護(hù)功能后,這個(gè)指定接口如果收到更優(yōu)的 BPDU ,就會(huì)過(guò)濾這個(gè) BPDU ,并將接口切換至丟棄狀態(tài),這樣根橋的地位就可以保持。如果這個(gè)指定接口不再收到更優(yōu)的 BPDU,那么兩倍的轉(zhuǎn)發(fā)延遲時(shí)間后,接口自動(dòng)恢復(fù)到轉(zhuǎn)發(fā)狀態(tài)。3、環(huán)路保護(hù)( Loop Protection )
當(dāng)網(wǎng)絡(luò)中出現(xiàn)線(xiàn)路單向故障或者網(wǎng)絡(luò)擁塞時(shí),交換機(jī)的根接口和丟棄狀態(tài)的替代接口將無(wú)法正常接收 BPDU ,就會(huì)導(dǎo)致交換機(jī)重新進(jìn)行 RSTP 重新計(jì)算,接口的角色和狀態(tài)會(huì)發(fā)生變化,可能會(huì)在網(wǎng)絡(luò)中引入環(huán)路。如上圖所示,SW1 是根橋,SW3 的 G0/11 是根接口,G0/12 是替代接口處于丟棄狀態(tài)。SW3 的 G0/12 接口雖然處于丟棄狀態(tài),但是會(huì)持續(xù)偵聽(tīng) BPDU 。當(dāng)網(wǎng)絡(luò)正常時(shí),SW3 會(huì)在 G0/12 接口上周期性的收到 BPDU 。如果 SW2 和 SW3 的鏈路出現(xiàn)單向故障,從 SW2 到 SW3 不通,從 SW3 到 SW2 正常。那么 SW3 的 G0/12 接口無(wú)法收到 SW2 發(fā)送的 BPDU ,導(dǎo)致 SW3 認(rèn)為 G0/12 接口的上游設(shè)備故障。過(guò)了 Max Age 時(shí)間后,SW3 的 G0/12 接口會(huì)成為指定接口,并切換到轉(zhuǎn)發(fā)狀態(tài),然后開(kāi)始發(fā)送流量。但是 SW2 并未發(fā)生故障,因此一旦 SW3 的 G0/12 接口切換到轉(zhuǎn)發(fā)狀態(tài),網(wǎng)絡(luò)中便出現(xiàn)了環(huán)路。使用環(huán)路保護(hù)功能可以規(guī)避這個(gè)問(wèn)題:- 在根接口上開(kāi)啟環(huán)路保護(hù)功能后,如果根接口長(zhǎng)時(shí)間沒(méi)有收到 BPDU ,交換機(jī)會(huì)重新選舉根接口,原來(lái)的根接口調(diào)整為指定接口,且接口狀態(tài)切換成丟棄狀態(tài),從而避免出現(xiàn)環(huán)路。
- 在替代接口上開(kāi)啟環(huán)路保護(hù)功能后,如果替代接口長(zhǎng)時(shí)間沒(méi)有收到 BPDU ,交換機(jī)會(huì)把替代接口調(diào)整為指定接口,且接口狀態(tài)保持在丟棄狀態(tài),從而避免出現(xiàn)環(huán)路。
4、拓?fù)渥兏Wo(hù)( TC Protection )
一個(gè)穩(wěn)定的網(wǎng)絡(luò)是不會(huì)頻繁出現(xiàn)拓?fù)渥兏?,一旦網(wǎng)絡(luò)拓?fù)涑霈F(xiàn)變更,TC BPDU( TC 置位的 BPDU )會(huì)泛洪到全網(wǎng),而 TC BPDU 會(huì)讓交換機(jī)執(zhí)行 MAC 地址表刪除的操作。如果網(wǎng)絡(luò)環(huán)境很不穩(wěn)定,導(dǎo)致 TC BPDU 頻繁的泛洪,或者是網(wǎng)絡(luò)中存在惡意用戶(hù),發(fā)送大量的 TC BPDU 對(duì)網(wǎng)絡(luò)進(jìn)行攻擊,那么會(huì)極大消耗交換機(jī)的性能。交換機(jī)開(kāi)啟拓?fù)渥兏Wo(hù)功能后,默認(rèn)將在 2 秒內(nèi)只進(jìn)行一次的 TC BPDU 處理,如果在 2 秒內(nèi)收到了 2 個(gè)及以上的 TC BPDU ,那么交換機(jī)只會(huì)處理一次,對(duì)于超出的部分,必須等待 2 秒后才進(jìn)行處理。BPDU
RSTP 的配置 BPDU 稱(chēng)為 RST BPDU( Rapid Spanning Tree BPDU ),它的格式和 STP 的配置 BPDU 差不多,只有個(gè)別字段做了修改。RST BPDU 的 “ 協(xié)議版本 ID ” 字段值是 0x02 ,“ BPDU 類(lèi)型 ”字段值是 0x02 。主要變化是在 “ 標(biāo)志 ” 字段,這個(gè)字段一共 8 bit ,STP 只使用了最高比特位和最低比特位,而 RSTP 使用了剩余的 6 個(gè)比特位,并對(duì)這些比特位分別進(jìn)行了定義。RST BPDU 的Aggrement
(同意)和 Proposal
(提議)比特位用于 P/A( Proposal/Aggrement )機(jī)制。Port Role
(接口角色)比特位是 2 bit ,用于標(biāo)識(shí) RST BPDU 發(fā)送接口的接口角色,01 表示根接口,10 表示替代接口,11 表示指定接口,而 00 保留使用。最后的 Forwarding
(轉(zhuǎn)發(fā))和 Learning
(學(xué)習(xí))比特位表示 RST BPDU 發(fā)送接口的接口狀態(tài)。RSTP 與 STP 不同,在網(wǎng)絡(luò)收斂后,無(wú)論是根橋還是非根橋,都會(huì)周期性的發(fā)送配置 BPDU,對(duì)于非根橋,不需要在根接口收到 BPDU 之后而產(chǎn)生自己的配置 BPDU ,而是自發(fā)的、周期性發(fā)送 BPDU 。MSTP
雖然 RSTP 對(duì) STP 進(jìn)行了改進(jìn),但是還有一個(gè)缺陷,那就是所有 VLAN 共用一棵生成樹(shù)。這樣就無(wú)法實(shí)現(xiàn)負(fù)載分擔(dān),導(dǎo)致線(xiàn)路帶來(lái)利用率低、設(shè)備資源利用率低。如果有一種生成樹(shù)協(xié)議,基于 VLAN 進(jìn)行生成樹(shù)的計(jì)算,那么這種技術(shù)有哪些優(yōu)缺點(diǎn)??jī)?yōu)點(diǎn)很明顯,交換機(jī)為每一個(gè) VLAN 單獨(dú)計(jì)算一棵生成樹(shù),可以實(shí)現(xiàn)流量的負(fù)載分擔(dān)。但是也有一個(gè)缺陷,如果網(wǎng)絡(luò)中的 VLAN 數(shù)量很多,那么所有交換機(jī)都要為每一個(gè) VLAN 計(jì)算一棵生成樹(shù),那么設(shè)備的資源消耗巨大,甚至?xí)绊懙秸A髁康奶幚怼?/span>為了解決這個(gè)問(wèn)題,MSTP( Multiple Instances Spanning Tree Protocol )出現(xiàn)了,兼容 STP 和 RSTP 。生成樹(shù)不是基于 VLAN 運(yùn)行的,而是基于Instance
(實(shí)例)運(yùn)行的。Instance 是一個(gè)或多個(gè) VLAN 的集合。我們可以將一個(gè)或多個(gè) VLAN 映射到一個(gè) Instance ,然后 MSTP 基于 Instance 計(jì)算生成樹(shù)。基于 Instance 的生成樹(shù)稱(chēng)為 MSTI( Multiple Spanning Tree Instance ,多生成樹(shù)實(shí)例),MSTP 為每一個(gè) Instance 維護(hù)獨(dú)立的 MSTI 。映射到同一個(gè) Instance 的 VLAN 共享一棵生成樹(shù)??筛鶕?jù)實(shí)際需求,在交換機(jī)上創(chuàng)建多個(gè) Instance ,然后將指定的 VLAN 映射到相應(yīng)的 Instance 。一個(gè) Instance 可以包含多個(gè) VLAN ,但是一個(gè) VLAN 只能被映射到一個(gè) Instance 。在創(chuàng)建 Instance 后,我們可以對(duì) MSTI 進(jìn)行主根橋、次根橋、接口優(yōu)先級(jí)或 Cost 等配置。如果網(wǎng)絡(luò)中有大量 VLAN ,那么我們可以將 VLAN 按照一定規(guī)律分別映射到不同的 Instance 中,從而實(shí)現(xiàn)負(fù)載分擔(dān),而交換機(jī)僅對(duì)這幾個(gè) Instance 進(jìn)行生成樹(shù)計(jì)算,設(shè)備資源消耗大大降低。MSTP 引入了域( Region )的概念,我們可以將網(wǎng)絡(luò)劃分成多個(gè) MST 域( Multiple Spanning Tree Region ,多生成樹(shù)域),一個(gè) MST 域可以包含一臺(tái)或多臺(tái)交換機(jī),同一個(gè) MST 域的交換機(jī)必須配置相同的域名( Region Name )、相同的修訂級(jí)別( Revision Level ),以及相同的 VLAN 與 Instance 的映射關(guān)系。替代方案
學(xué)完 STP/RSTP/MSTP 后,解決網(wǎng)絡(luò)中的二層環(huán)路問(wèn)題,想到的解決方案就是生成樹(shù)協(xié)議。但是生成樹(shù)協(xié)議有天生的缺陷,收斂速度慢,雖然 RSTP/MSTP 對(duì) STP 進(jìn)行了改進(jìn),但是在毫秒級(jí)切換的要求下,生成樹(shù)就不適用了。而且生成樹(shù)的原理是將環(huán)路中的接口進(jìn)行阻塞,導(dǎo)致被阻塞的線(xiàn)路無(wú)法承載流量,造成網(wǎng)絡(luò)資源的浪費(fèi)。MSTP 在這方面進(jìn)行了優(yōu)化,讓不同 VLAN 的流量可以在不同線(xiàn)路進(jìn)行負(fù)載分擔(dān),可是對(duì)于單個(gè) VLAN 來(lái)說(shuō),始終會(huì)有一些線(xiàn)路無(wú)法承載流量?,F(xiàn)在已經(jīng)有許多其它技術(shù)或解決方案用于替代生成樹(shù)協(xié)議。1、Smart Link
Smart Link 是為雙上行組網(wǎng)定做的解決方案。如上圖所示,交換機(jī) SW3 一條上行鏈路連接 SW1 ,另一條上行鏈路連接 SW2 。在 SW3 上創(chuàng)建 Smart Link 組,將 SW3 的兩個(gè)上行接口添加到這個(gè)組里,G0/1 口指定為 Master 接口、G0/2 口指定為 Slave 接口。默認(rèn)只有 Master 接口是活躍的( Active ),這個(gè)接口可以正常收發(fā)流量,而 G0/2 接口會(huì)被阻塞( Inactive )。這樣網(wǎng)絡(luò)中的二層環(huán)路將被打破。如上圖所示,當(dāng) SW3 的 G0/1 接口發(fā)生故障,或者線(xiàn)路發(fā)生故障,Smart Link 會(huì)馬上感知到,并且實(shí)現(xiàn)毫秒級(jí)的快速切換,G0/2 接口將立即切換到 Active 狀態(tài),并開(kāi)始收發(fā)流量。在 Smart Link 切換過(guò)程中,SW3 還可以使用 Flush 報(bào)文去刷新上聯(lián)設(shè)備,即 SW1 和 SW2 的 MAC 地址表等數(shù)據(jù),加快網(wǎng)絡(luò)收斂。Smart Link 配置簡(jiǎn)單,切換時(shí)間快。由于工作機(jī)制的限制,只能適用于特定的雙上行組網(wǎng)場(chǎng)景。SW1 、SW2 和 SW3 使用 Smart Link 防環(huán)后,也就不需要使用生成樹(shù)協(xié)議了。2、iStack/CSS
iStack 是華為盒式交換機(jī)的堆疊技術(shù)。而 CSS( Cluster Switch System ,集群交換系統(tǒng))是華為框式交換機(jī)的集群技術(shù)。什么是堆疊?所謂堆疊,是指多臺(tái)物理交換機(jī)通過(guò)特定的線(xiàn)纜連接,并通過(guò)相應(yīng)的配置,組成邏輯上的一臺(tái)設(shè)備的技術(shù)。STP/RSTP/MSTP 或 Smart Link 都是采用阻塞特定接口的方式實(shí)現(xiàn)網(wǎng)絡(luò)的無(wú)環(huán)化,使得網(wǎng)絡(luò)資源得不到充分利用。一旦使用堆疊/集群技術(shù),情況就不一樣了。如上圖所示,假設(shè) SW1 和 SW2 都是盒式交換機(jī),且都支持 iStack ,那么可以使用堆疊線(xiàn)纜把 SW1 和 SW2 連接起來(lái),然后組建堆疊系統(tǒng),建立完成后,SW1 和 SW2 不再是兩臺(tái)單獨(dú)的交換機(jī),而是一個(gè)有兩個(gè)槽位的框式交換機(jī)。那么網(wǎng)絡(luò)結(jié)構(gòu)將大大簡(jiǎn)化,由于 SW1 和 SW2 在邏輯上是一臺(tái)設(shè)備,設(shè)備的管理和配置將變得簡(jiǎn)單。SW3 分別與 SW1 、SW2 互聯(lián)的線(xiàn)路,現(xiàn)在可以看做是兩臺(tái)交換機(jī)之間的兩條鏈路,我們可以將這兩條鏈路進(jìn)行聚合,這樣網(wǎng)絡(luò)中將不存在二層環(huán)路,也無(wú)需部署防環(huán)技術(shù)。而且所有的鏈路都處于工作狀態(tài),沒(méi)有接口被阻塞,設(shè)備資源和鏈路資源的利用率將最大化。