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