日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第十章 STP

發(fā)布時(shí)間:2024/3/26 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第十章 STP 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

10.1 STP?

·對(duì)于商用網(wǎng)絡(luò),冗余性是必須考慮的,但是在二層鏈路的冗余鏈路和冗余設(shè)備又會(huì)產(chǎn)生環(huán)路。STP(Spanning Tree Protocol)生成樹協(xié)議主要用來防止網(wǎng)橋網(wǎng)絡(luò)中因?yàn)槿哂噫溌返拇嬖诙a(chǎn)生的環(huán)路。當(dāng)網(wǎng)絡(luò)部署生成樹之后,交換機(jī)之間便會(huì)開始相互交互相關(guān)協(xié)議報(bào)文,并在網(wǎng)絡(luò)中進(jìn)行一系列的計(jì)算,經(jīng)計(jì)算產(chǎn)生一個(gè)無環(huán)的網(wǎng)絡(luò)拓?fù)洹.?dāng)環(huán)路產(chǎn)生時(shí),生成樹會(huì)將網(wǎng)絡(luò)中的一個(gè)或多個(gè)接口進(jìn)行阻塞(Block),從而打破二層環(huán)路。?

10.1.1 STP基本概念?

1、橋ID(Bridge Identification)?

橋ID由? 橋優(yōu)先級(jí)? 和? 橋MAC地址? 共同構(gòu)成,是根橋選舉的依據(jù)。橋ID一共8byte,其中橋優(yōu)先級(jí)16bit,橋MAC地址48bit。

例如-橋ID:??56342,0025-9ef8-fedd?

2、根橋(Root?Bridge)?

STP的主要作用之一就是在整個(gè)交換網(wǎng)絡(luò)中計(jì)算出一個(gè)一顆無環(huán)的STP樹,整個(gè)STP樹都是在根橋的基礎(chǔ)上形成的。當(dāng)STP開始工作后,第一件事就是選舉根橋,選舉根橋的規(guī)則如下:?

  • 優(yōu)先級(jí)最小者為根,MAC地址最小者為根?

  • 首先比較優(yōu)先級(jí),如果優(yōu)先級(jí)相等則比較MAC地址。?

  • 優(yōu)先級(jí)默認(rèn)為32768,可通過命令?stp?priority?進(jìn)行修改,取值范圍(0-61440),并且必須為4096的倍數(shù)(0,4096,8192)

3、開銷(cost)與根路徑開銷(Root Path Cost, RPC)?

每一個(gè)激活了STP的接口都會(huì)維護(hù)一個(gè)cost值,用于計(jì)算RPC,也就是交換機(jī)到達(dá)根橋的“成本”。?

4、接口ID(Port Identification)?

接口ID用于在STP協(xié)議中標(biāo)識(shí)每個(gè)交換機(jī)的接口,主要用于特定情況下選舉指定接口。接口ID長度16bit,由兩部分組成,其中高4bit為接口優(yōu)先級(jí),低12bit為接口編號(hào)。接口優(yōu)先級(jí)缺省為128,可在接口視圖下通過stp?port priority?命令修改。?

10.1.2 STP的基本操作過程?

STP通過4個(gè)步驟來保證網(wǎng)絡(luò)中不存在漏洞。?

1、在交換網(wǎng)絡(luò)中選舉一個(gè)根橋?

根網(wǎng)橋具有可搶占性,如果網(wǎng)絡(luò)中新增了一個(gè)交換機(jī)且優(yōu)先級(jí)高于根網(wǎng)橋。STP將會(huì)重新收斂、重新計(jì)算網(wǎng)絡(luò)拓?fù)?#xff0c;這可能會(huì)引發(fā)網(wǎng)絡(luò)震蕩。?

STP協(xié)議所使用的協(xié)議報(bào)文是BPDU(Bridge Protocol Data Unit,網(wǎng)橋協(xié)議數(shù)據(jù)單元),依靠BPDU,STP可以進(jìn)行無環(huán)拓?fù)涞挠?jì)算。?

2、在每個(gè)非根網(wǎng)橋上選一個(gè)根接口(Root?Port,RP)?

收到最優(yōu)BPDU的那個(gè)接口會(huì)成為最優(yōu)接口,最優(yōu)接口就是非根網(wǎng)橋的所有接口中收到最優(yōu)BPDU的接口,也可以理解為朝向根網(wǎng)橋的接口。非根網(wǎng)橋的根接口用來接收根網(wǎng)橋發(fā)出的BPDU,并沿著STP樹向下游轉(zhuǎn)發(fā)。?

3、選舉指定接口(Designated Port,DP)?

STP會(huì)在每個(gè)網(wǎng)段中選舉一個(gè)指定接口,這個(gè)指定接口是這個(gè)網(wǎng)段中到達(dá)根橋的最優(yōu)接口。?

交換機(jī)接口中收到最優(yōu)BPDU的將會(huì)成為根接口,交換機(jī)會(huì)根據(jù)最優(yōu)BPDU給每個(gè)非根接口計(jì)算一個(gè)BPDU,隨后接口會(huì)使用計(jì)算好的BPDU與接口上維護(hù)的BPDU(接口收到的來自其他接口的BPDU)進(jìn)行比較,如果前者更優(yōu),那么該接口會(huì)成為指定接口。?

4、阻塞非指定接口,打破二層環(huán)路?

非指定接口指的是既不是根接口也不是指定接口的接口。?

非指定接口最終都會(huì)被阻塞,但是會(huì)持續(xù)偵聽BPDU,以便感知網(wǎng)絡(luò)拓?fù)涞淖兓?

10.1.3 STP報(bào)文?

10.1.4 STP的時(shí)間參數(shù)?

STP定義了三個(gè)重要的時(shí)間參數(shù)。?

1、Hello Time(Hello時(shí)間)?

Hello時(shí)間是根網(wǎng)橋向非根網(wǎng)橋發(fā)送配置信息的間隔時(shí)間,缺省為2s。Hello時(shí)間的必須在根網(wǎng)橋上面修改,修改完成后非根網(wǎng)橋會(huì)與根網(wǎng)橋?qū)R該時(shí)間值。?

2、Forward?Delay(轉(zhuǎn)發(fā)延時(shí))?

STP的5種接口狀態(tài):?

1)阻塞(blocking):該端口是非指定端口,不參與幀轉(zhuǎn)發(fā)。此類端口接收 BPDU?幀來確定根橋交換機(jī)的位置和根 ID,以及最終的活動(dòng) STP 拓?fù)渲忻總€(gè)交換機(jī)端口扮演的端口角色。?

2)偵聽(listening) :STP 根據(jù)交換機(jī)迄今收到的 BPDU 幀,確定該端口可參與幀轉(zhuǎn)發(fā)。此時(shí),該交換機(jī)端口不僅會(huì)接收 BPDU 幀,它還會(huì)發(fā)送自己的 BPDU 幀,通知鄰接交換機(jī)此交換機(jī)端口正準(zhǔn)備參與活動(dòng)拓?fù)洹?

3)學(xué)習(xí)(learning):端口準(zhǔn)備參與幀轉(zhuǎn)發(fā),并開始填充 MAC 地址表。?

4)轉(zhuǎn)發(fā)(forwarding) :該端口是活動(dòng)拓?fù)涞囊徊糠?#xff0c;它會(huì)轉(zhuǎn)發(fā)幀,也會(huì)發(fā)送和接收 BPDU 幀。?

5)禁用(disabled) :不參與生成樹,不轉(zhuǎn)發(fā)數(shù)據(jù)幀。當(dāng)管理性關(guān)閉交換機(jī)端口時(shí),端口也會(huì)進(jìn)入禁用狀態(tài)。?

為了避免生成樹收斂過程中產(chǎn)生臨時(shí)的環(huán)路或短暫的數(shù)據(jù)幀洪泛現(xiàn)象,在接口從阻塞狀態(tài)轉(zhuǎn)為轉(zhuǎn)發(fā)狀態(tài)時(shí),必須經(jīng)歷偵聽和學(xué)習(xí)狀態(tài),這兩個(gè)狀態(tài)各持續(xù)15s。也就是說接口從阻塞狀態(tài)到轉(zhuǎn)發(fā)狀態(tài)至少要經(jīng)歷30s的時(shí)間?

3、Max?Age(最大生存時(shí)間)?

也被稱為BPDU的老化時(shí)間,缺省為20s。以非根網(wǎng)橋的根接口為例,該接口上保存著來自上游的最優(yōu)BPDU,這個(gè)BPDU關(guān)聯(lián)著一個(gè)最大生存時(shí)間,如果在最大生存時(shí)間之內(nèi)沒有收到BPDU,那么該BPDU將會(huì)被老化,該設(shè)備也會(huì)重新選舉根接口。?

受限于幾個(gè)時(shí)間參數(shù)的設(shè)計(jì),一個(gè)STP接口從阻塞狀態(tài)進(jìn)入轉(zhuǎn)發(fā)狀態(tài)可能需要花費(fèi)30s-50s左右的時(shí)間,這時(shí)網(wǎng)絡(luò)中的業(yè)務(wù)可能就會(huì)收到影響。?

10.1.5 BPDU的比較原則?

STP按照如下順序選擇最優(yōu)BPDU?

  • 最小的根網(wǎng)橋ID?

  • 最小的RPC?

  • 最小的網(wǎng)橋ID?

  • 最小的接口ID?

10.1.6 BPDU的交互與拓?fù)溆?jì)算?

初始情況下,所有的交換機(jī)都認(rèn)為自己是根橋,并開始在激活了STP協(xié)議的接口發(fā)送BPDU。此時(shí)的BPDU中根橋ID是自己的ID,RPC(到達(dá)根橋的開銷)為0,網(wǎng)橋ID為自己的ID,接口ID為本地接口的ID。?

當(dāng)接口收到其他交換機(jī)的BPDU時(shí),會(huì)進(jìn)行BPDU優(yōu)先級(jí)比較,如果本地的BPDU更優(yōu)則繼續(xù)認(rèn)為自己是根橋并繼續(xù)周期性地向外發(fā)送BPDU,反之則認(rèn)為最優(yōu)BPDU的發(fā)送方為根橋,不再周期性的發(fā)送BPDU。?

根網(wǎng)橋的所有接口都是指定接口,所以當(dāng)認(rèn)定自己不是根網(wǎng)橋后,非根網(wǎng)橋就要開始選舉自己的根接口了。根接口是通過比較收到的BPDU而產(chǎn)生的,交換機(jī)會(huì)依次比較每個(gè)接口收到的BPDU中攜帶的根橋ID、RPC、網(wǎng)橋ID、接口ID。最優(yōu)者成為根接口。?

根接口選舉完成后開始選舉指定接口。這時(shí)交換機(jī)會(huì)根據(jù)根接口上面保存的BPDU為每個(gè)接口計(jì)算BPDU,用為每個(gè)接口計(jì)算的BPDU與接口上面保存的BPDU相比較。如果計(jì)算的BPDU勝出,則這個(gè)接口為指定接口,否則為非指定接口。?

10.2 RSTP?

IEEE 802.1D中定義的STP是比較老舊的協(xié)議,現(xiàn)在因?yàn)槭諗柯⒍丝跔顟B(tài)定義繁冗、對(duì)拓?fù)涞母兄蕾囉诙〞r(shí)器等諸多短板已經(jīng)很少被使用。?

IEEE 802.1w中定義的RSTP(快速生成樹協(xié)議)可以視為STP的改進(jìn)版本,它的收斂速度更快,而且能兼容STP。?

10.2.1 RSTP接口角色?

RSTP在STP的基礎(chǔ)上增加了兩種接口角色,所以RSTP共有四種接口角色:替代接口(Alternate)、備份接口(Backup)、根接口、指定接口。?

1、替代接口?

替代接口是根接口的備份,可以沒有,也可以有一個(gè)或多個(gè)。在根接口正常工作時(shí),替代接口被阻塞,當(dāng)根接口發(fā)生故障時(shí),最優(yōu)的替代接口將成為新的根接口,這樣就加快了網(wǎng)絡(luò)的收斂過程。?

2、備份接口?

備份接口就是交換機(jī)上由于收到了自己發(fā)送的BPDU而被阻塞的接口。如果一臺(tái)交換機(jī)有多個(gè)接口接入了同一個(gè)網(wǎng)段,那么這幾個(gè)接口中會(huì)有一個(gè)接口被選舉為指定接口,其他的接口都會(huì)成為備份接口,進(jìn)入丟棄狀態(tài)。?

10.2.2 RSTP接口狀態(tài)?

STP的接口狀態(tài)?

RSTP的接口狀態(tài)?

禁用(Disabled)?

丟棄(Discarding)?

阻塞(Blocking)?

偵聽(Listening)?

學(xué)習(xí)(Learning)?

學(xué)習(xí)(Learning)?

轉(zhuǎn)發(fā)(Forwarding)?

轉(zhuǎn)發(fā)(Forwarding)?

10.2.3 BPDU?

10.2.4?邊緣接口?

?

邊緣接口常用于交換機(jī)連接終端的接口,在接口被配置為邊緣接口后,不參與生成樹計(jì)算,會(huì)立即切換到轉(zhuǎn)發(fā)狀態(tài)并開始收發(fā)業(yè)務(wù)流量。?

  • 將接口配置為邊緣接口不會(huì)觸發(fā)RSTP拓?fù)渥兏?

  • 如果邊緣接口收到了BPDU,此接口會(huì)立即變?yōu)橐粋€(gè)生成樹接口,觸發(fā)RSTP拓?fù)渥兏?

  • 邊緣接口依然會(huì)周期性的發(fā)送BPDU,可通過stp?bpdu-filter enable命令過濾,配置完成后此接口也不會(huì)對(duì)收到的BPDU做出反應(yīng)。?

10.2.5?P/A機(jī)制?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

假設(shè)此時(shí)在SW2與PC1之間新增一個(gè)SW1,且SW1的優(yōu)先級(jí)最高,連接成功后SW1的G0/0/1接口被選舉為指定接口,SW2的G0/0/1接口被選舉為指定接口,但此時(shí)接口狀態(tài)從丟棄變?yōu)檗D(zhuǎn)發(fā)要經(jīng)過學(xué)習(xí)和偵聽,在這個(gè)時(shí)間段內(nèi)PC1和PC2之間是無法通信的。而RSTP通過P/A機(jī)制就可以在數(shù)秒之內(nèi)完成接口狀態(tài)從丟棄到轉(zhuǎn)發(fā)狀態(tài)的轉(zhuǎn)化。?

P/A機(jī)制的實(shí)現(xiàn)過程:?

1、SW1接入后,SW1和SW2都認(rèn)為自己是根橋,并在各自的接口上面發(fā)送BPDU,隨后SW1被選舉為根橋,SW2也開是接口選舉,最終G0/0/1被選舉為根接口。?

2、此時(shí)P/A機(jī)制開始運(yùn)轉(zhuǎn),由于SW1的G0/0/1為指定接口,所以向SW2發(fā)送Proposal置位的BPDU。?

3、SW2收到后,立即啟動(dòng)一個(gè)同步過程,為保證本地不存在環(huán)路,SW2將自己的非邊緣接口全部阻塞,并將G0/0/1接口切換到轉(zhuǎn)發(fā)狀態(tài),隨后向SW1發(fā)送Agreement置位的BPDU。?

4、SW1收到后,立即將自己的G0/0/1接口切換到轉(zhuǎn)發(fā)狀態(tài),此時(shí)PC1和PC2之間就可以通信了。?

5、此時(shí)SW2的G0/0/2接口處于丟棄狀態(tài),此時(shí)SW2會(huì)向下游交換機(jī)SW3發(fā)起P/A過程,以此類推。?

10.2.6?保護(hù)功能?

1、BPDU保護(hù)(BPDU Protection)?

邊緣接口在收到BPDU后,會(huì)立即變成一個(gè)RSTP接口。一般情況下,邊緣接口連接的都是終端,不會(huì)收到BPDU,但是如果誤將邊緣接口接入其他交換機(jī),會(huì)增加產(chǎn)生二層環(huán)路的風(fēng)險(xiǎn),另外如果攻擊者向邊緣接口發(fā)送BPDU,就會(huì)給網(wǎng)絡(luò)帶來不良影響。?

激活BPDU保護(hù)后,當(dāng)邊緣接口收到BPDU后,會(huì)立即關(guān)閉這個(gè)接口(置為?Error-Down),并發(fā)出告警。?

配置命令,在系統(tǒng)視圖下,“stp?bpdu-protection”,命令生效后所有的邊緣接口均會(huì)激活BPDU保護(hù)功能。邊緣接口因?yàn)槭盏搅薆PDU而被關(guān)閉后,可通過“shutdown”和“undo?shutdown”或“restart”命令重置接口,或通過命令設(shè)置自動(dòng)恢復(fù)時(shí)間,倒計(jì)時(shí)結(jié)束后,接口會(huì)自動(dòng)恢復(fù),命令:“error-down auto-recovery cause?bpdu-protection interval 30”,時(shí)間范圍30-86400s。?

2、根保護(hù)(Root protection)?

在RSTP中,根橋一般是位置最優(yōu)、性能最優(yōu)的,根橋的優(yōu)先級(jí)往往也會(huì)被手動(dòng)設(shè)置為0。但是根橋的角色是可搶占的,如果此時(shí)網(wǎng)絡(luò)中接入了一個(gè)交換機(jī),其優(yōu)先級(jí)也為0,且MAC地址比當(dāng)前的根橋更小,這時(shí)根橋角色就會(huì)被搶占,RSTP會(huì)重新收斂。這時(shí)的數(shù)據(jù)業(yè)務(wù)就會(huì)受到影響。?

在相關(guān)接口上激活根保護(hù)功能后,當(dāng)接口收到更優(yōu)BPDU時(shí),會(huì)忽略這些BPDU,并將接口切換到丟棄狀態(tài),如果接口不再收到這些BPDU,一般在兩倍的轉(zhuǎn)發(fā)延遲時(shí)間后,接口會(huì)自動(dòng)恢復(fù)到轉(zhuǎn)發(fā)狀態(tài)。?

配置命令,在接口視圖下,“stp?root-protection”?

3、環(huán)路保護(hù)(Loop Protection)?

處于丟棄狀態(tài)的替代接口仍然會(huì)持續(xù)偵聽BPDU,如果這個(gè)接口所連接的鏈路出現(xiàn)故障,這個(gè)替代接口長時(shí)間沒有接收到BPDU,就會(huì)導(dǎo)致交換機(jī)進(jìn)行RSTP的重新計(jì)算,此時(shí)這個(gè)接口的角色和狀態(tài)會(huì)發(fā)生變化,有可能產(chǎn)生環(huán)路。?

激活環(huán)路保護(hù)功能后:?

(1)在根接口激活環(huán)路保護(hù)后,如果長時(shí)間沒有收到BPDU,交換機(jī)會(huì)重新選舉根接口,并將這個(gè)接口變?yōu)橹付ǘ丝诓⑶袚Q到丟棄狀態(tài)。?

(2)在替代接口激活環(huán)路保護(hù)后,如果長時(shí)間沒有收到BPDU,交換機(jī)會(huì)將這個(gè)接口角色切換為指定接口,并將接口狀態(tài)保持為丟棄狀態(tài)。?

環(huán)路保護(hù)配置,在接口視圖下輸入命令:“stp?loop-protection”。?

4、拓?fù)渥兏Wo(hù)?

在網(wǎng)絡(luò)拓?fù)浒l(fā)生改變時(shí),下游的交換機(jī)會(huì)通過TC?BPDU告知其他交換機(jī)。TC BPDU會(huì)觸發(fā)網(wǎng)絡(luò)中交換機(jī)執(zhí)行MAC地址表刪除操作。若攻擊者向網(wǎng)絡(luò)中發(fā)送大量的TC BPDU也會(huì)使交換機(jī)的性能收到很大的損耗。?

激活拓?fù)渥兏?#xff0c;交換機(jī)只會(huì)在規(guī)定時(shí)間內(nèi)處理規(guī)定次數(shù)的TC BPDU,如果收到的TC BPDU超出上限,則會(huì)按照最大次數(shù)處理,超出的將會(huì)等待一段時(shí)間后再處理。?

配置命令,在系統(tǒng)視圖下:“stp?tc-protection”,單位時(shí)間缺省為2秒(Hello Time),?可通過“stp?tc-protection interval”命令修改。單位時(shí)間內(nèi)處理次數(shù)缺省為1次,可通過“stp?tc-protection?threshold”命令修改。?

總結(jié)

以上是生活随笔為你收集整理的第十章 STP的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。