根端口(ROOT)
根端口是每臺(tái)非根橋,到達(dá)根橋的距離最近的端口,每臺(tái)交換機(jī)上只能有一個(gè)根端口,根端口屬于活動(dòng)拓?fù)涞囊徊糠郑梢赞D(zhuǎn)發(fā)數(shù)據(jù)幀,發(fā)送和接收BPDU消息(STP根端)
指定端口(DESIGN)------端口剛啟用時(shí)默認(rèn)是指定端口
在活動(dòng)拓?fù)渲校粨Q機(jī)會(huì)從指定端口對(duì)應(yīng)的網(wǎng)段上接收去往根橋的數(shù)據(jù)幀,每個(gè)網(wǎng)段上只能存在一個(gè)指定端口
較STP新增了兩個(gè)端口概念,替代接口和備份接口。但同樣都是阻塞起來的,只是為了指定端口或根端口出故障時(shí)可以快速收斂。
替代端口(alternate—從不同交換機(jī)收到BPDU,處于劣勢(shì)的BPDU為替換端口)
替代端口是一個(gè)提供了去往根橋替代路徑的交換機(jī)端口,活動(dòng)拓?fù)渲械奶娲丝谔幱贒iscarding狀態(tài)。當(dāng)現(xiàn)有的指定端口鏈路發(fā)生故障之后,替代端口會(huì)過渡成為指定端口
備份端口(backup)----去往同一個(gè)交換機(jī)有兩個(gè)端口
一臺(tái)設(shè)備上收到了自己所發(fā)送的BPDU從而被阻塞的接口。
備份端口是指定交換機(jī)上的一個(gè)額外的交換機(jī)端口,其作用是為指定交換機(jī)提供一份備份鏈路。備份端口在活動(dòng)拓?fù)渲刑幱贒iscarding狀態(tài)。當(dāng)現(xiàn)有的根端口發(fā)生故障之后,替代端口會(huì)過渡成為根端口
如圖,LSW2上的GE 0/0/3阻塞,因?yàn)槭鞘盏搅薒SW3的BPDU報(bào)文,形成了環(huán)路,且收到的BPDU報(bào)文比自己的優(yōu),從而阻塞,就變成了替代接口。而LSW2上的GE 0/0/5。
因?yàn)槭盏降氖亲约喊l(fā)送過來的BPDU報(bào)文且端口id較大被阻塞,從而變成備份接口。
邊緣端口:如果端口位于整個(gè)交換區(qū)域邊緣,不與任何交換設(shè)備連接,這種端口叫做邊緣端口。邊緣端口一般與用戶終端設(shè)備直接連接。
邊緣端口的特點(diǎn)
1. 邊緣端口會(huì)節(jié)省30S的延時(shí),端口UP后會(huì)立即進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。 2. 邊緣端口的UP/DOWN不會(huì)觸發(fā)拓?fù)涓淖儭?3. 邊緣端口收的TC置為的配置BPDU報(bào)文不會(huì)將MAC地址的老化時(shí)間設(shè)置為15s。 4. 邊緣端口如果收到配置的BPDU報(bào)文會(huì)馬上變?yōu)橐粋€(gè)普通端口,進(jìn)行STP的收斂。 5. 邊緣端口也會(huì)發(fā)送配置BPDU報(bào)文。 6. PA協(xié)商不會(huì)阻塞邊緣端口。
禁用端口(disabled)
禁用端口不擔(dān)任角色
替代端口和備份端口 Discarding狀態(tài)
二.RSTP的端口狀態(tài)
Discarding(丟棄):Discarding狀態(tài)的端口只接收BPDU報(bào)文,有時(shí)可以發(fā)送BPDU(視角色而定)
Learning(學(xué)習(xí))-----Listening狀態(tài):這是一種過渡狀態(tài)。在Learning下,交換設(shè)備會(huì)根據(jù)收到的用戶流量,構(gòu)建MAC地址表,但不轉(zhuǎn)發(fā)用戶流量,所以叫做學(xué)習(xí)狀態(tài)。Learning狀態(tài)的端口處理BPDU報(bào)文,不轉(zhuǎn)發(fā)用戶流量。
Forwarding(轉(zhuǎn)發(fā)):在這種狀態(tài)下,端口既轉(zhuǎn)發(fā)用戶流量又處理BPDU報(bào)文。
三.RSTP鏈路狀態(tài)類型
非邊緣端口可以分為兩類鏈路狀態(tài)
點(diǎn)到點(diǎn)P2P:端口工作在全雙工模式下,此類型會(huì)假設(shè)端口與點(diǎn)到點(diǎn)鏈路相連,鏈路對(duì)端只有一臺(tái)交換機(jī)
共享:端口工作在半雙工模式下,此類型會(huì)假設(shè)端口與共享鏈路相連,共享介質(zhì)上可能存在多臺(tái)交換機(jī)
根端口:不使用鏈路狀態(tài)類型參數(shù),一旦處于同步狀態(tài),根端口會(huì)立馬過渡到Forwarding狀態(tài)。
替代與備份端口:大多數(shù)情況下,也不考慮鏈路類型參數(shù)。
四.RSTP針對(duì)STP的改進(jìn)
BPDU 格式和處理的改變
標(biāo)志位增加了更多的標(biāo)志功能:提議位,端口角色位,學(xué)習(xí)位,轉(zhuǎn)發(fā)位,同意位
STP中只有根交換機(jī)才會(huì)發(fā)送BPDU,而在RSTP中非根交換機(jī)也可以發(fā)送BPDU,BPDU的內(nèi)容是基于根端口上的信息得來得。這樣交換機(jī)就可以讓BPDU快速得超時(shí),當(dāng)三個(gè)HELLO間隔時(shí)間內(nèi)沒有收到最優(yōu)BPDU得話,端口就會(huì)讓該BPDU超時(shí)。
與STP不同,RSTP中,網(wǎng)段上得指定交換機(jī)得指定端口發(fā)送的次優(yōu)BPDU會(huì)直接被交換機(jī)接收(而不是忽略等待超時(shí)后再處理),立刻代替之前保存的BPDU,交換機(jī)會(huì)根據(jù)一般得規(guī)則重新計(jì)算自己在網(wǎng)段上的端口角色狀態(tài)和端口狀態(tài)。這種行為使得交換機(jī)能夠在鄰居交換機(jī)和根交換機(jī)之間的連接(間接連接)出現(xiàn)問題時(shí),能夠快速的響應(yīng)。
發(fā)送次優(yōu)BPDU的情況:根端口DOWN掉或三個(gè)HELLO時(shí)間內(nèi)沒有 從對(duì)端收到最優(yōu)BPDU。若無其他替換端口,聲明自己是根橋,若有替換端口,發(fā)送與那個(gè)接口有關(guān)的BPDU(主要是開銷)
RSTP的提議同意機(jī)制(重!!!)
前提條件:必須是點(diǎn)到點(diǎn)的鏈路,如果是半雙工端口會(huì)識(shí)別為共享(share)鏈路,在共享鏈路上不能使用P/A協(xié)商。
網(wǎng)絡(luò)拓?fù)渥兏螅蠹s需要3個(gè)hello time時(shí)間,即6秒。
P/A提議快速收斂機(jī)制:
新鏈路連接時(shí)候,鏈路兩端的端口初始都為指定端口并處于阻塞的狀態(tài)。
proposing:當(dāng)一個(gè)指定端口處于Discarding或Learning狀態(tài)時(shí),該變量置位,并向下游交換設(shè)備傳遞Proposal位被置位的RST BPDU。
Proposed:當(dāng)端口收到對(duì)端的指定端口發(fā)來的攜帶proposal的RST BPDU時(shí),該變量置位。該變量指示本網(wǎng)段上的指定端口希望盡快進(jìn)入forwarding狀態(tài)。
Sync:當(dāng)proposed被置位以后,收到proposal的根端口會(huì)依次為自己的其他端口置位sync變量,而收到proposal的非邊緣端口則會(huì)進(jìn)入discarding狀態(tài)。
Synced:當(dāng)端口轉(zhuǎn)到discarding狀態(tài)后,會(huì)將自己的synced變量置位。Alternate端口、backup端口和邊緣端口會(huì)馬上置位該變量。根端口監(jiān)視其他端口的synced,當(dāng)所有其他端口的synced全被置位,根端口會(huì)將自己的synced置位,然后傳回RST BPDU,其中agreement位被置位。
Agreed:當(dāng)指定端口接收到一個(gè)RST BPDU時(shí),如果該BPDU中的agreement位被置位且端口角色字段是跟端口,該變量被置位。Agreed變量一旦被置位,指定端口馬上轉(zhuǎn)入forwarding狀態(tài)。
P/A提議機(jī)制實(shí)例:
p0和p1兩個(gè)端口馬上都先成為指定端口,發(fā)送RST BPDU。
A的p1口收到更優(yōu)的RST BPDU,馬上意識(shí)到自己將成為根端口,而不是指定端口,停止發(fā)送RST BPDU。
ROOT的p0進(jìn)入discarding狀態(tài),于是發(fā)送的RST BPDU中把proposal置1.
A收到根橋發(fā)送來的攜帶proposal的RST BPDU,開始將自己的所有端口進(jìn)入sync變量置位。
P2已經(jīng)阻塞,狀態(tài)不變;p4是邊緣端口,不參與運(yùn)算;所以只需要阻塞費(fèi)邊緣指定端口p3.
P2,p3,p4都進(jìn)入discarding狀態(tài)之后,各端口的synced變量置位,根端口p1的synced也置位,于是便向p0返回agreement位置位的回應(yīng)RST BPDU。該RST BPDU攜帶和剛才根橋發(fā)過來的BPDU一樣的信息,除了agreement位置位之外(proposal位清零)。
當(dāng)s1判斷出這是對(duì)剛剛發(fā)出的proposal的回應(yīng),于是端口p0馬上進(jìn)入forwarding狀態(tài)。
PS:如果指定端口發(fā)出Proposal置位的BPDU后沒有收到Agreement BPDU報(bào)文,則該端口需要等待30s(兩個(gè)延遲時(shí)間)才會(huì)進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。因?yàn)橛脩糁鳈C(jī)沒有RSTP功能,所以需要配置邊緣端口(可以忽略Forward Delay時(shí)間直接進(jìn)入Forwarding狀態(tài),無時(shí)延),如果不配置,用戶會(huì)有明顯的網(wǎng)絡(luò)中斷,這樣RSTP的性能可能比STP還要差。
RSTP中收斂時(shí)間的優(yōu)化:
P/A協(xié)商:可以讓交換機(jī)的RP和DP的互聯(lián)接口快速進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。
直連故障:AP口變?yōu)镽P并快速進(jìn)入轉(zhuǎn)發(fā)狀態(tài),不需要30s延時(shí)。
非直連鏈路故障:連續(xù)丟失3個(gè)RST BPDU包,端口角色就需切換,最長(zhǎng)時(shí)間為6s。
次優(yōu)場(chǎng)景:AP口收到次優(yōu)的RST BPDU包后會(huì)馬上變?yōu)镈P口,并向該端口發(fā)送最優(yōu)的RST BPDU包。
RSTP中TC置位的RST BPDU包所有橋設(shè)備都可以發(fā)送,連續(xù)發(fā)送4s(TC while時(shí)間)。
在RSTP中非根橋也會(huì)每隔hello timer 主動(dòng)發(fā)送RST BPDU報(bào)文,不是由根橋來發(fā)。
在RSTP中DP口shutdown后BP口的角色會(huì)馬上變?yōu)镈P口,并經(jīng)過30s的轉(zhuǎn)發(fā)延時(shí)進(jìn)入到轉(zhuǎn)發(fā)狀態(tài)。
在RSTP中什么情況下才會(huì)發(fā)送TC BPDU包?
新的指定端口進(jìn)入到轉(zhuǎn)發(fā)狀態(tài)。
MAC地址表的清除:
TC發(fā)送者:清除除了邊緣端口以外的其它端口的MAC地址綁定條目。
TC接受者:清除除了TC報(bào)文接口端口和邊緣端口以外的其它端口的MAC地址綁定條目。
RSTP的拓?fù)渥兓桨?/p>
在STP中,端口變?yōu)镕orwarding狀態(tài)或從Forwarding變?yōu)锽locking狀態(tài)均會(huì)觸發(fā)拓?fù)涓淖兲幚磉^程,而RSTP只在非邊緣端口轉(zhuǎn)為Forwarding狀態(tài)時(shí)才會(huì)觸發(fā)處理過程。
在RSTP中,當(dāng)交換機(jī)由非邊緣端口轉(zhuǎn)變?yōu)镕orwarding狀態(tài)時(shí),網(wǎng)橋會(huì)在兩倍的Hello Time時(shí)間內(nèi)向根端口以及指定端口發(fā)送TC置位為1的RST BPDU,同時(shí)清除這些端口學(xué)習(xí)到的MAC地址。
其他交換機(jī)收到TC置位的RST BPDU時(shí)候,會(huì)清除接收TC報(bào)文的端口以及邊緣端口之外的其余端口MAC地址,并同樣會(huì)在兩倍的Hello Time時(shí)間內(nèi)向根端口以及指定端口發(fā)送TC置位為1的RST BPDU報(bào)文。
交換機(jī)收到TC置位的RST BPDU后不需要在Max Age+Forward Delay時(shí)間內(nèi)將MAC地址老化時(shí)間設(shè)置為Forward Delay,而是直接清除端口MAC地址,重新進(jìn)行學(xué)習(xí),從而實(shí)現(xiàn)更快的收斂。
五.RSTP保護(hù)功能
BPDU(Bridge Protocol Data Unit)保護(hù)
應(yīng)用場(chǎng)景:邊緣端口在收到BPDU以后端口狀態(tài)將變?yōu)榉沁吘壎丝冢藭r(shí)就會(huì)造成生成樹的重新計(jì)算,如果攻擊者偽造配置消息惡意攻擊交換設(shè)備,就會(huì)引起網(wǎng)絡(luò)震蕩。
功能:交換設(shè)備上啟動(dòng)了BPDU保護(hù)功能后,如果邊緣端口收到RST BPDU,邊緣端口將被error-down,但是邊緣端口屬性不變,同時(shí)通知網(wǎng)管系統(tǒng)。被error-down的邊緣端口只能由網(wǎng)絡(luò)管理員手動(dòng)恢復(fù)。如果用戶需要被error-down的邊緣端口可自動(dòng)恢復(fù),可通過配置使能端口自動(dòng)恢復(fù)功能,并可設(shè)置延遲時(shí)間。
防TC-BPDU報(bào)文攻擊保護(hù)
應(yīng)用場(chǎng)景:交換設(shè)備在接收到拓?fù)渥兓瘓?bào)文后,會(huì)執(zhí)行MAC地址表項(xiàng)和ARP表項(xiàng)的刪除操作,如果頻繁操作則會(huì)對(duì)CPU的沖擊很大。
功能:?jiǎn)⒂梅繲C-BPDU報(bào)文攻擊功能后,在單位時(shí)間內(nèi),交換設(shè)備處理拓?fù)渥兓瘓?bào)文的次數(shù)可配置。如果在單位時(shí)間內(nèi),交換設(shè)備在收到拓?fù)渥兓瘓?bào)文數(shù)量大于配置的閾值,那么設(shè)備只會(huì)處理閾值指定的次數(shù)。對(duì)于其他超出閾值的拓?fù)渥兓瘓?bào)文,定時(shí)器到期后設(shè)備只對(duì)其統(tǒng)一處理一次。這樣可以避免頻繁的刪除MAC地址表項(xiàng)和ARP表項(xiàng),從而達(dá)到保護(hù)設(shè)備的目的。
Root保護(hù)
應(yīng)用場(chǎng)景:由于維護(hù)人員的錯(cuò)誤配置或網(wǎng)絡(luò)中的惡意攻擊,根橋收到優(yōu)先級(jí)更高的BPDU,會(huì)失去根橋的地位,重新進(jìn)行生成樹的計(jì)算,并且由于拓?fù)浣Y(jié)構(gòu)的變化,可能造成高速流量遷移到低速鏈路上,引起網(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)過一段時(shí)間(通常為兩倍的Forward Delay),如果端口一直沒有再收到優(yōu)先級(jí)較高的RST BPDU,端口會(huì)自動(dòng)恢復(fù)到正常的Forwarding狀態(tài)。
環(huán)路保護(hù)
應(yīng)用場(chǎng)景:在運(yùn)行RSTP協(xié)議的網(wǎng)絡(luò)中,根端口和其他阻塞端口狀態(tài)是依靠不斷接收來自上游交換設(shè)備的RST BPDU維持。當(dāng)由于鏈路擁塞或者單向鏈路故障導(dǎo)致這些端口收不到來自上游交換設(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í)間收不到來自上游的RST BPDU時(shí),則向網(wǎng)管發(fā)出通知信息(如果是根端口則進(jìn)入Discarding狀態(tài))。而阻塞端口則會(huì)一直保持在阻塞狀態(tài),不轉(zhuǎn)發(fā)報(bào)文,從而不會(huì)在網(wǎng)絡(luò)中形成環(huán)路。直到根端口或Alternate端口收到RST BPDU,端口狀態(tài)才恢復(fù)正常到Forwarding狀態(tài)。 說明: 環(huán)路保護(hù)功能只能在根端口或Alternate端口上配置生效。
-
端口
+關(guān)注
關(guān)注
4文章
955瀏覽量
32019 -
環(huán)路
+關(guān)注
關(guān)注
0文章
50瀏覽量
12001 -
STP
+關(guān)注
關(guān)注
0文章
42瀏覽量
10253
原文標(biāo)題:網(wǎng)絡(luò)工程師必懂:STP/RSTP協(xié)議(二)
文章出處:【微信號(hào):網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號(hào):網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論