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