陜西專業(yè)網(wǎng)站建設(shè)公司品牌網(wǎng)站建設(shè)解決方案
目錄
RSTP—快速生成樹協(xié)議
STP
STP的缺點:
STP的選舉(Listening狀態(tài)中):
RSTP
P/A(提議/同意)機制
同步機制:
邊緣端口的配置:
RSTP的端口角色劃分:
ensp模擬器BUG:
Topology Change
STP的安全設(shè)置:
BPDU保護:
BPDU過濾:
根保護:
TC-BPDU泛洪保護:
RSTP—快速生成樹協(xié)議
STP
STP的缺點:
????????收斂慢,從初始狀態(tài)到完全收斂至少需要經(jīng)過30S的時間(Listening—learning—forwarding,三個階段,每個階段需要15S的時間)
STP的選舉(Listening狀態(tài)中):
BPDU的四個參數(shù):
1、ROOT ID:根橋(ROOT)的橋ID(Bridge ID)
2、COST:到達根橋(ROOT)的開銷值,G口默認為2000,越小越優(yōu)先
3、Bridge ID:優(yōu)先級+實例編號+MAC地址,其中優(yōu)先級默認為32768,實例編號默認位0。優(yōu)先級在設(shè)置的時候必須是4096的整數(shù)倍且越小越優(yōu)先
4、Port ID:優(yōu)先級+端口編號,優(yōu)先級默認為128
根橋的選舉規(guī)則:
對比自身和收到的Bridge ID,也就是優(yōu)先級?MAC地址
1、先比較優(yōu)先級,越小越優(yōu)先;
2、當優(yōu)先級一樣時對比MAC地址,越小越優(yōu)先;
3、根橋上的端口都是指定端口
根端口(非根交換機)的選舉規(guī)則:
1、比較到達根橋的開銷COST,越小越優(yōu)先;
2、比較接口對端交換機的BID,越小越優(yōu)先;
3、比較對端接口的PID,越小越優(yōu)先;
4、比較本設(shè)備上的PID,越小越優(yōu)先;(少見)
指定端口(非必須)的選舉規(guī)則:
1、根橋的所有接口都是指定接口;
2、比較接口去往根橋的開銷,越小越優(yōu)先;
3、比較接口對端交換機的BID,越小越優(yōu)先;
4、比較本端接口的PID,越小越優(yōu)先;(少見)
堵塞端口(Blocked port):
1、如果不是以上闡述的三者之一,就堵塞該端口,此時環(huán)路被消除;
2、如果兩交換機的兩條或以上的端口互聯(lián),則選出一個根端口后剩下都是阻塞端口;
RSTP
P/A(提議/同意)機制
????????為了加快指定端口和根端口互聯(lián)鏈路上的兩端口快速進入轉(zhuǎn)發(fā)狀態(tài)(避免30秒的等待)而采取的機制。
????????P/A協(xié)商要求在點對點全雙工鏈路。
?P/A機制的過程:
1、當兩設(shè)備的RSTP功能啟動時都認為自己是根橋且會向?qū)Ψ桨l(fā)送一份BPDU,其中的P位值會設(shè)置為1(提議),A位也是1(同意)
2、當B收到對方的BPDU后與自己的“四個參數(shù)”作對比,如果選舉失敗就會向A發(fā)送一個A位為1的BPDU,且立即將自己端口中選舉成功的一方設(shè)置為RP(根端口),選舉失敗的端口設(shè)置為AP(阻塞端口)
3、A收到B發(fā)送的同意BPDU后會立即將自己的端口都設(shè)置為DP(指定端口)
這里假設(shè)A的橋ID最大,B次之。
以上過程為秒級切換,但會有環(huán)路風(fēng)險問題,因此需要引入同步機制
?
同步機制:
在對端設(shè)備接受同意前會將其他接口全部阻塞,會造成網(wǎng)絡(luò)的一個中斷但是周期很短,如下:
?以上拓撲中各角色的選舉過程:
1、設(shè)備RSTP功能啟動時都認為自己是根橋切會向?qū)Ψ桨l(fā)送一份BPDU,其中的P位值會設(shè)置為1(提議),A位也是1(同意)
2、當B收到A發(fā)送的BPDU后與自己的“四個參數(shù)”作對比,如果選舉失敗就會向A發(fā)送一個A位為1的BPDU,且立即將自己端口中選舉成功的一方(G0/0/1)設(shè)置為RP(根端口),選舉失敗的端口(G0/0/2)會暫時阻塞直到A收到同意消息后,才會繼續(xù)向C發(fā)送提議消息
3、當C收到A發(fā)送的BPDU后與自己的“四個參數(shù)”作對比,如果選舉失敗就會向A發(fā)送一個A位為1的BPDU,且立即將自己端口中選舉成功的一方(G0/0/1)設(shè)置為RP(根端口),選舉失敗的端口(G0/0/2)會暫時阻塞直到A收到同意消息后,才會繼續(xù)向B發(fā)送提議消息
4、當A收到了BC的同意后,此時B和C會互相發(fā)送提議消息但是各自也都已經(jīng)同意了A的提議不能在將對方認為是ROOT。此時BC之間的線路不會立即收斂,但并不會影響網(wǎng)絡(luò)之間正常的通信
這里假設(shè)A的橋ID最大,B次之,C最小
以上可以解決拓撲變化后收斂速度慢的問題,但是還會出現(xiàn)一個問題:
????????如果此時C上連接了一個主機PC,C會向PC發(fā)送提議消息但是PC是沒有回復(fù)功能的,所以會導(dǎo)致連接PC的接口收斂速度為30秒,如下圖:
解決方法:
????????在C連接終端的接口G0/0/24上配置邊緣端口,邊緣端口會直接進入轉(zhuǎn)發(fā)狀態(tài)而不協(xié)商,但是也發(fā)送BPDU報文,需要管理員手動配置;
????????當邊緣端口收到BPDU報文的時候就會放棄邊緣端口的特性,重新進行生成樹的計算。
邊緣端口的配置:
全局下(推薦):
stp edged-port default
接口上:
int g0/0/1
stp edged-port enable
還有一種情況:
以上拓撲中各角色的選舉過程:
1、A和B互相發(fā)送攜帶提議字段(P=1)的BPDU報文,由于A的橋ID大于B的,所以會忽略B的BPDU并向B發(fā)送同意消息且立即將G0/0/1接口設(shè)置為DP(指定接口)
2、B在發(fā)現(xiàn)A應(yīng)該是根橋后發(fā)送同意消息并立即將自己的G0/0/1接口設(shè)置為RP(根接口)同時阻塞G0/0/2接口
3、當B收到A的同意消息后將G0/0/2接口打開向C發(fā)送A的提議消息
4、當C收到A的提議消息后向A發(fā)送同意消息同時立即將G0/0/2接口設(shè)置為RP(根接口)
這里假設(shè)A的橋ID最大,B次之,C最小
RSTP的端口角色劃分:
STP的三種角色:根端口、指定端口和阻塞端口
RSTP定義了兩種心的端口角色:備份端口(Backup Port)和預(yù)備端口(Alternate Port),其中備份端口是備份指定端口的,經(jīng)常用在有集線器的拓撲上;而預(yù)備端口也叫替代端口,是用于替代根端口的,當根端口失效時,替代端口秒級替換上
RSTP中端口狀態(tài)的重新劃分:
以上可以分為兩種情況:
1、有P/A機制的話端口會直接從Discarding狀態(tài)到Forwarding狀態(tài);
2、如果沒有P/A機制就會正常的經(jīng)過兩個周期才能轉(zhuǎn)換到Forwarding狀;
ensp模擬器BUG:
????????無法模擬設(shè)備的自動刷新MAC地址表,會導(dǎo)致網(wǎng)絡(luò)中拓撲結(jié)構(gòu)發(fā)生變化時無法及時更新MAC地址表而造成的網(wǎng)絡(luò)中斷,需要手動刷新或者從另一端重新PING一下進行MAC地址表的更新。
????????真機不會出現(xiàn)這個問題,因為真機會對拓撲的變化而做出相應(yīng)的處理:Topology Change消息
Topology Change
????????當交換機發(fā)現(xiàn)某個端口發(fā)生故障而阻塞后,會將MAC地址表中相應(yīng)的MAC與端口綁定的表項刪除,且會向網(wǎng)絡(luò)中發(fā)送一條TC消息(拓撲變化消息),當其他設(shè)備接受到后會觸發(fā)MAC地址表的更新,會將除了接受TC消息以外的所有端口的MAC地址表項刪除(邊緣端口除外),完成后會將TC消息發(fā)送給下一個設(shè)備。
STP的安全設(shè)置:
BPDU保護:
????????當我們要求邊緣端口只允許連接主機不能連接交換機時會進行配置BPDU保護(默認情況下邊緣端口可以連接交換機,但會放棄邊緣端口的特性),當啟用BPDU保護的時候,如果邊緣端口收到了BPDU消息,則會立即關(guān)閉該接口
配置方法:
stp bpdu-protection
????????BPDU保護的功能依賴于邊緣端口的設(shè)置,輸入以上命令后,所有邊緣端口都會自動開啟BPDU保護,收到BPDU消息后會關(guān)閉接口
????????注意:如果是邊緣端口檢測到BPDU后重新進行生成樹計算的端口,也會被關(guān)閉,應(yīng)該進入該接口下關(guān)閉邊緣端口功能
BPDU過濾:
????????當收到BPDU消息后不會關(guān)閉接口,而是丟棄BPDU消息
配置方法:
stp bpdu-filter default
根保護:
????????當我們在原有的網(wǎng)絡(luò)拓撲上新接入一臺交換機且不希望它成為根橋時會配置根保護(一般在核心交換機或匯聚交換機上)
????????根保護功能會繼續(xù)接收BPUD消息,但是不接受會搶占自己根位置的BPDU
????????注意:不能在根端口(RP)啟用!!!
配置方法:
int g0/0/1
stp root-protection
????????此時,G0/0/1接口的另一端如果接入了優(yōu)先級更高的交換機,會拒絕接受它的BPDU信息并把接口設(shè)置為丟棄狀態(tài),就相當于將其隔離在這個網(wǎng)絡(luò)之外了,只能修改優(yōu)先級比根橋小才能讓其重新加入這個網(wǎng)絡(luò)
TC-BPDU泛洪保護:
????????限制拓撲變化消息的發(fā)送次數(shù),防止不斷地惡意TC-BPDU消息,當TC-BPDU消息在兩秒內(nèi)(默認)的次數(shù)達到我們設(shè)置的上限時就會拒絕此類BPDU
stp tc-protection threshold