STP详细笔记
STP詳細(xì)筆記
產(chǎn)生的背景
由于網(wǎng)絡(luò)的冗余性(關(guān)鍵設(shè)備冗余、關(guān)鍵鏈路冗余)帶來的問題,可能帶來二層環(huán)路問題,從而引發(fā)廣播風(fēng)暴,設(shè)備MAC地址紊亂、以及MAC地址漂移等一系列問題。而STP可以保持網(wǎng)絡(luò)冗余的前提下打破網(wǎng)絡(luò)二層環(huán)路。
生成樹協(xié)議一共有三種:STP(802.1d)、RSTP(802.1w)、MSTP(802.1s)
注:生成樹具有向下兼容性,如果全網(wǎng)中有一臺設(shè)備運行低版本協(xié)議,網(wǎng)絡(luò)中運行高版本的協(xié)議會自動降級向低版本兼容。如果2倍的hello time 時間沒收到低版本協(xié)議的BPDU報文則會切換為高版本。
基本概念:
1、橋ID(bridge identification)BID
每臺運行STP的交換機都會擁有全網(wǎng)唯一的橋ID。BID共8byte,包含16bit的橋優(yōu)先級和48bit的橋MAC地址。優(yōu)先級缺省值32768,范圍是0-655535,使用時數(shù)值必須為4096倍數(shù)。MAC地址為背板最小地址。
2、根橋(root bridgr)RB
根橋在全網(wǎng)中只會有一個。STP運行的第一件事就是選舉根橋。選舉規(guī)則為全網(wǎng)中擁有最小的橋ID為根橋。BID由優(yōu)先級和MAC地址組成,選舉規(guī)則為先比較優(yōu)先級再比較MAC地址,兩者皆是小優(yōu)。缺省值為32768,可以進行修改從而干涉根橋選舉。
3.開銷(cost)
每個運行了STP的接口,都有一個cost值,接口的缺省cost值不但和接口速率和工作模式有關(guān),還與所使用的計算方法有關(guān)。
4、根路徑開銷(root path cost)RPC
RPC值是主要計算某接口到達(dá)RB的沿途累加cost值。也就是從該接口到RB需要多少的開銷。數(shù)值越小越優(yōu)。
5、接口ID(port identification)PID
運行stp的交換機使用PID來標(biāo)記每一個接口。PID的長度為16bit,由4bit的接口優(yōu)先級和12bit的接口編號組成。缺省為128,范圍為0-240,調(diào)整時必須是16的倍數(shù)。
6、STP的選舉流程
1、選舉根橋
比較BID,優(yōu)者為根橋。首先比較優(yōu)先級,若相同比較MAC,都是小優(yōu)。
2、選舉根端口
? 比較RPC值,小者勝出。若相同進行下一項比較。
? 在比較對端BID,小者優(yōu)
? 比較對端PID,小者優(yōu)
3、選舉指定端口
? 一般情況下,根橋下所有的端口為指定端口
? 比較RPC值,小者勝出。若相同進行下一項比較
? 比較本端BID,小者優(yōu)
? 比較本端PID,小者優(yōu)
4、既不是根端口也不是指定端口的接口則為阻塞接口
思考:為什么選舉根端口比較對端信息而指定端口比較本端信息。
為什么橋ID的優(yōu)先級為0-65535?
STP報文
BPDU報文分為兩中類型:分別為配置BPDU(configuration BPDU)、拓?fù)涓淖傿PDU(topology change notification)。
BPDU發(fā)送方式:組播,組播MAC地址為0180-c200-0000
配置BPDU
在網(wǎng)絡(luò)初始化過程中,每臺交換機都會從自己激活了STP的接口發(fā)送配置BPDU報文。當(dāng)STP收斂完成后,只有根橋才會周期的發(fā)送配置BPDU(缺省發(fā)送時間為2秒),而非根網(wǎng)橋的RP口收到上游發(fā)送的配置BPDU后,立即觸發(fā)產(chǎn)生自己的配置BPDU,并從指定端口發(fā)出。
配置BPDU的報文格式
| 2 | 協(xié)議ID(protocol identifier) | 在stp中該值總為0 |
| 1 | 協(xié)議版本ID(protocol version identifier、) | 在stp中該值總為0;生成樹的版本 |
| 1 | BPDU類型(BPDU type) | 值為0x00為配置BPDU;值為0x80為TCN BPDU |
| 1 | 標(biāo)志(Flage) | 在STP中該字段用于網(wǎng)絡(luò)拓?fù)渥兓瘶?biāo)志。STP僅使用了最低位(TC,拓?fù)渥兏?#xff09;,最高位是TCA(拓?fù)渥兏_認(rèn))標(biāo)志 |
| 8 | 根橋ID | 根橋的橋ID |
| 4 | 根路徑開銷 | 到達(dá)根橋STP路徑開銷 |
| 8 | 網(wǎng)橋ID | 發(fā)送本BPDU的橋ID |
| 2 | 接口ID | 發(fā)送本BPDU的接口ID |
| 2 | 消息壽命(message age) | 根橋所發(fā)送的BPDU中,該字段值為0,此后每經(jīng)過一個交換設(shè)備,該字段值加一,本質(zhì)上指BPDU所經(jīng)過的交換設(shè)備個數(shù)。 |
| 2 | 最大壽命(Max age) | BPDU的最大存活時間,也被稱為老化時間,缺省20S |
| 2 | Hello時間 | BPDU所發(fā)送的時間間隔 |
| 2 | 轉(zhuǎn)發(fā)延遲(forward delay) | 接口在偵聽和學(xué)習(xí)狀態(tài)所停留的時間 |
TCN BPDU
格式:協(xié)議ID、協(xié)議版本ID、BPDU類型。
作用:當(dāng)網(wǎng)絡(luò)中拓?fù)浒l(fā)生改變時,該交換機的根端口逐級向根橋通知變化的發(fā)生,使全網(wǎng)交換機盡快老化自己的MAC地址表項,以便快速適應(yīng)新網(wǎng)絡(luò)。在網(wǎng)絡(luò)穩(wěn)定時只會產(chǎn)生配置BPDU。
兩種特殊的BPDU
1、“標(biāo)志”字段中TCA比特位被設(shè)置為1的配置BPDU
為了保證STP從拓?fù)渥兏慕粨Q機傳遞到根橋的過程是可靠的,當(dāng)收到下游發(fā)送的TCN BPDU后,需使用“標(biāo)志”字段中TCA比特位被置位為1 的配置BPDU回應(yīng)對方并向自己的上游發(fā)送TCN BPDU。一直持續(xù)到根橋收到該TCN BPDU。
2、“標(biāo)志”字段中TC比特位被設(shè)置為1的配置BPDU
當(dāng)根橋收到TCN BPDU后,意味者網(wǎng)絡(luò)拓?fù)浒l(fā)生改變,它將向網(wǎng)絡(luò)中泛洪“標(biāo)志”字段中TC比特位被設(shè)置為1的配置BPDU,網(wǎng)絡(luò)中交換機收到該報文后,會將自己的MAC老化時間改為轉(zhuǎn)發(fā)延時,使得MAC表盡快刷新。
STP時間參數(shù)
Hello time:發(fā)送配置BPDU的時間間隔。修改必須在根橋上進行修改,修改后所有非根網(wǎng)橋會向根橋?qū)R該時間值。
forward time:接口從偵聽狀態(tài)到學(xué)習(xí)狀態(tài),或者學(xué)習(xí)狀態(tài)到轉(zhuǎn)發(fā)狀態(tài)的延遲時間,缺省15秒。這兩種狀態(tài)分別為了避免臨時環(huán)路和數(shù)據(jù)幀的泛洪現(xiàn)象。
Max age:BPDU老化時間,缺省20S.在非根網(wǎng)橋的接口上保存這來自上游的最優(yōu)BPDU,如過在老化時間之前收到這個BPDU,則該計時器會被重置,若未收到,該BPDU被老化,將會從新選舉根端口。
從阻塞進入轉(zhuǎn)發(fā)狀態(tài)需要花費30 -50s
STP的接口狀態(tài)
| 禁用狀態(tài) disable | 不能收發(fā)BPDU,也不能轉(zhuǎn)發(fā)數(shù)據(jù)幀 |
| 阻塞狀態(tài) blocking | 不發(fā)送BPDU,但會持續(xù)偵聽。不能轉(zhuǎn)發(fā)業(yè)務(wù)數(shù)據(jù)幀,不進行MAC學(xué)習(xí) |
| 偵聽狀態(tài) listening | 可以收發(fā)BPDU報文,但是不能轉(zhuǎn)發(fā)業(yè)務(wù)幀,不進行MAC地址學(xué)習(xí) |
| 學(xué)習(xí)狀態(tài) learning | 可以收發(fā)BPDU報文,但是不能轉(zhuǎn)發(fā)業(yè)務(wù)幀,進行MAC地址學(xué)習(xí) |
| 轉(zhuǎn)發(fā)狀態(tài) forwarding | 可以正常收發(fā)業(yè)務(wù)幀,也會進行BPDU處理。 |
STP配置
總結(jié)
- 上一篇: 软件工程复习题库(2)
- 下一篇: 第十章 STP