快速生成樹協(xié)議(RSTP)
STP并不是已經(jīng)淘汰不用,實(shí)際上不少廠家目前還僅支持STP。STP的最大缺點(diǎn)就是他的收斂時(shí)間太長,對(duì)于現(xiàn)在網(wǎng)絡(luò)要求靠可靠性來說,這是不允許的,快速生成樹的目的就是加快以太網(wǎng)環(huán)路故障收斂的速度。 1.RSTP 5種端口類型 STP定義了4種不同的端口狀態(tài),監(jiān)聽(Listening),學(xué)習(xí)(Learning),阻斷(Blocking)和轉(zhuǎn)發(fā)(Forwarding),其端口狀態(tài)表現(xiàn)為在網(wǎng)絡(luò)拓?fù)渲卸丝跔顟B(tài)混合(阻斷或轉(zhuǎn)發(fā)),在拓?fù)渲械慕巧?根端口、指定端口等等)。在操作上看,阻斷狀態(tài)和監(jiān)聽狀態(tài)沒有區(qū)別,都是丟棄數(shù)據(jù)幀而且不學(xué)習(xí)MAC地址,在轉(zhuǎn)發(fā)狀態(tài)下,無法知道該端口是根端口還是指定端口。 表8-20中看RSTP的端口狀態(tài)只有三種狀態(tài),Discarding、Leaning和Forwarding。 表8-20 STP和RSTP端口狀態(tài)比較 RSTP有五種端口類型。根端口和指定端口這兩個(gè)角色在RSTP中被保留,阻斷端口分成備份和替換端口角色。生成樹算法(STA)使用BPDU來決定端口的角色,端口類型也是通過比較端口中保存的BPDUB來確定哪個(gè)比其他的更優(yōu)先。 1)根端口 非根橋收到最優(yōu)的BPDU配置信息的端口為根端口,即到根橋開銷最小的端口,這點(diǎn)和STP一樣。請(qǐng)注意圖8-16上方的交換機(jī),根橋沒有根端口。 按照STP的選擇根端口的原則,SW-1和SW-2和根連接的端口為根端口。 2)指定端口 與STP一樣,每個(gè)以太網(wǎng)網(wǎng)段段內(nèi)必須有一個(gè)指定端口。假設(shè)SW-1的BID比SW-2 優(yōu)先,而且SW-1的P1口端口ID比P2優(yōu)先級(jí)高,那么P1為指定端口,如圖8-17所示。
圖8-16 RSTP根端口
圖8-17 指定端口的選擇 3)替換端口 如果一個(gè)端口收到另外一個(gè)網(wǎng)橋的更好的 BPDU,但不是最好的,那么這個(gè)端口成為替換端口,如圖8-18所示。 對(duì)于SW-2來說,端口P3收到的BPDU比自己優(yōu)先,自己為次優(yōu)先,P3為替換端口。
4)備份端口 如果一個(gè)端口收到同一個(gè)網(wǎng)橋的更好 BPDU,那么這個(gè)端口成為備份端。當(dāng)兩個(gè)端口被一個(gè)點(diǎn)到點(diǎn)鏈路的一個(gè)環(huán)路連在一起時(shí),或者當(dāng)一個(gè)交換機(jī)有兩個(gè)或多個(gè)到共享局域網(wǎng)段的連接時(shí),一個(gè)備份端口才能存在。 如圖8-19所示,SW-1的P1和P2口同時(shí)接入到以太網(wǎng)的同一網(wǎng)段,P1為指定端口,P2 優(yōu)先級(jí)低,則P2端口為備份端口。
圖8-18 替換端口的選擇
圖8-19 備份端口的選擇 5)禁用端口 在快速生成樹協(xié)議應(yīng)用的網(wǎng)絡(luò)運(yùn)行中不擔(dān)當(dāng)任何角色。 2.BPDU更新與變化 RSTP添加標(biāo)志位,如圖8-20所示。在STP中,標(biāo)志位只有0為TC和7為TCA使用,RSTP使用其中保留的6位。另外,RSTP在BPDU指定了端口的角色和端口狀態(tài),并且采用提議/同意的控制機(jī)制。
1)間隔發(fā)送BPDU STP的非根橋僅傳遞根橋生成的BPDU;RSTP的網(wǎng)橋不管是否收到來自根橋的BPDU,它每隔Hello time(默認(rèn)2秒)時(shí)間發(fā)送本身的BPDU配置信息。 2)快速的老化信息 STP必須等到20秒的老花時(shí)間到時(shí),才能更新BPDU;RSTP采用心跳的機(jī)制,當(dāng)一臺(tái)網(wǎng)橋在連續(xù)三次沒有收到BPDU的情況下,網(wǎng)橋認(rèn)為鄰居的根和指定根已經(jīng)丟失,立即老化自己的BPDU配置信息。 3)接受下級(jí)的BPDU 與Cisco專有的Backbone Fast的特性類似,RSTP接受下級(jí)的BPDU。如圖8-21所示,如果一臺(tái)網(wǎng)橋從它的指定根橋收到下級(jí)信息,立即接受并覆蓋原先的BPDU配置信息。
因?yàn)榻粨Q機(jī)SW-2知道根橋還在,立即發(fā)送BPDU的包含根橋信息給SW-1,SW-1停止發(fā)送BPDU,同時(shí)接受連接SW-2的端口為新的根端口。
3.快速轉(zhuǎn)換到轉(zhuǎn)發(fā)狀態(tài) STP 的網(wǎng)絡(luò)端口從阻斷到轉(zhuǎn)發(fā)狀態(tài),如果想快速收斂的話,需要修改默認(rèn)的轉(zhuǎn)發(fā)延遲和老化時(shí)間定時(shí)器;RSTP可以快速收斂而不依賴于定時(shí)器,這些快速的收斂主要依賴邊緣端口和點(diǎn)到點(diǎn)的鏈路來實(shí)現(xiàn)。 1)邊緣端口 一個(gè)邊緣端口就像一個(gè)Port Fast-enabled端口,并且只在連接了一個(gè)單獨(dú)的末端站點(diǎn)的端口上啟用他。但他和Port Fast-enabled 不一樣,他不產(chǎn)生拓?fù)涓淖?,但?dāng)他收到BPDU時(shí),自動(dòng)成為生成樹端口,Cisco交換機(jī)的配置也是采用Port Fast-enabled方式配置。 2)點(diǎn)到點(diǎn)鏈路 兩臺(tái)交換機(jī)之間的鏈路只有一根鏈路,同時(shí)端口之間的連接為全雙工,這樣的鏈路類型叫點(diǎn)到點(diǎn)鏈路。對(duì)于半雙工的鏈路叫共享端口。鏈路類型交換機(jī)自己檢查,也可人為修改。 4.提議/同意握手機(jī)制 RSTP使用提議/同意握手機(jī)制來完成端口的快速收斂。下面以圖8-22中的變化為例說明。
假設(shè)SW-1有一條新的鏈路連接到根橋。鏈路起來時(shí),根橋的P0口和SW-1的P1口同時(shí)進(jìn)入指定阻斷狀態(tài),而且P0和P1同時(shí)發(fā)布帶有提議標(biāo)志位的RSTP BPDU ①,同時(shí)P1成為新的根端口。 SW-1開始同步新的消息給其他的端口,P2為替換端口,同步中保持不變,P3為指定端口,同步中必須阻斷P3、P4為邊緣端口,同步中保持不變 ②;SW-1 通過新的根端口P1給根橋發(fā)送一個(gè)提議BPDU同意消息,將標(biāo)志位有提議給為同意,P0和P1握手成功③,P0和P1直接進(jìn)入轉(zhuǎn)發(fā)狀態(tài);這時(shí)P3端口為指定端口,還處于阻斷狀態(tài),同樣按照P0和P1的提議/同意握手機(jī)制,SW-1和SW-2快速進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。 提議/同意握手機(jī)制收斂很快,狀態(tài)轉(zhuǎn)變中無須依賴任何定時(shí)器;如果指定阻斷端口發(fā)送提議消息后沒有收到同意消息,此時(shí)進(jìn)入STP的監(jiān)聽、學(xué)習(xí)機(jī)制,這種可能出現(xiàn)在對(duì)方網(wǎng)橋不知道RSTP的BPDU,或者端口是關(guān)閉狀態(tài)。
5.新的拓?fù)涓淖儥C(jī)制
如圖8-23所示,STP的拓?fù)渥兓窍葘CN發(fā)送到根橋,再由根橋?qū)C發(fā)送給所有網(wǎng)橋。 SW-4發(fā)送自己的拓?fù)渥兓ㄖ?TCN)位傳遞給根橋,根橋發(fā)送TC位的BPDU給所有的其他網(wǎng)橋,通知拓?fù)渥兓?/p> 1)拓?fù)涓淖儥z測 在RSTP中,只有非邊緣端口進(jìn)入轉(zhuǎn)發(fā)狀態(tài)時(shí),才引起拓?fù)涞母淖儯丝诟淖兊狡渌麪顟B(tài)不引起拓?fù)涓淖?不產(chǎn)生TC),但RSTP網(wǎng)橋檢測到拓?fù)涓淖?,發(fā)生以下動(dòng)作: 非邊緣的指定端口和根端口啟動(dòng)一個(gè)等于兩倍Hello Time的TC等待計(jì)數(shù)器。 泛洪MAC地址到所有的端口上。 只要TC等待計(jì)時(shí)器在端口中運(yùn)行,該端口發(fā)送的帶有TC位的BPDU,在計(jì)時(shí)器激活期間,根端口也發(fā)送BPDU信息。 2)拓?fù)涓淖儌鞑?/font> 當(dāng)一個(gè)網(wǎng)橋收到帶有拓?fù)涓淖?TC)標(biāo)志為BPDU,按照以下兩種方式進(jìn)行處理: 清除交換機(jī)上所有端口學(xué)來的MAC地址除了拓?fù)涓淖兪諄淼腗AC地址。 啟動(dòng)拓?fù)涓淖?TC)等待計(jì)數(shù)器,發(fā)送帶有TC標(biāo)志位的BPDU到所有的指定端口和根端口。 通過這樣的機(jī)制,SW-4的TCN通過一步快速泛洪到整個(gè)網(wǎng)絡(luò)中,如圖8-24所示,無須經(jīng)過根橋。
(點(diǎn)擊查看大圖)圖8-23 STP拓?fù)涓淖冞^程
圖8-24 RSTP拓?fù)涓淖冞^程 6.RSTP的兼容性 STP無法知道RSTP中BPDU 帶有的版本為2,其本身的版本為0,但是RSTP可以識(shí)別版本為0的STP,一旦RSTP的端口接著是STP的設(shè)備,該端口將使用STP的BPDU和TCN來運(yùn)行,以保證RSTP和STP的互操作性。 對(duì)于Cisco的每VLAN生成樹(PVRST+),由于Cisco新的設(shè)備全部支持多生成樹,同時(shí)Cisco的每VLAN生成樹的私有性,理論上和RSTP沒有太多的區(qū)別,這里不再詳細(xì)介紹。 7.RSTP的配置 RSTP的配置,由于Cisco默認(rèn)是開啟STP。可以使用 spanning-tree mode rapid-pvst 命令,配置Cisco交換機(jī)的快速每VLAN生成樹,其他的配置和STP配置一樣。 Cisco的快速生成樹(PVRST+)已經(jīng)增強(qiáng)了802.1Q協(xié)議,支持在同一Trunk的鏈路中,阻斷某些VLAN,同時(shí)開通某些VLAN。 可能有的廠家的設(shè)備,默認(rèn)是開啟單VLAN的快速生成樹。在配置時(shí),參看相關(guān)手冊(cè)進(jìn)行配置。
|
|