生成樹協議(STP)--BPDU
生成樹協議(STP)--BPDU
生成樹協議,分析橋協議資料單元吧
交換機之間通過BPDU(Bridge Protocol Data Unit,橋協議資料單元)來交換網橋ID、根路徑成本等資訊,交換機從埠傳送出一個BPDU幀,使用該埠本身的MAC地址作為源地址,因為交換機本身並不知道它周圍是否還有其他交換機存在
因此,BPDU利用了一個STP組播地址(00-00-00-00-00-00)作為它的一個目的地址,是之能到達相鄰的並處於STP偵聽狀態的交換機
單播:一對一
組播:一對組
廣播:一對多
每隔2s,便向所有的交換機埠傳送一次BPDU報文,以便交換機(或網橋)能交換當前最新的拓撲資訊
1.BPDU的2種類型
配置BPDU,用於生成樹計算
拓撲變更通告(TCN,Topology Change Notification)BPDU,用於通告網路拓撲的變化
2.BPDU的報文欄位
根網橋ID、根路徑成本、傳送網橋ID、埠ID、計時器
3.STP利用BPDU選擇根網橋的過程
(1)當一臺交換機第一次啟動時,假定自己是根網橋,在BPDU報文中的根網橋ID欄位填入自己的網橋ID,向外傳送
- 交換機比較接收到的BPDU報文中的根網橋ID與自己的網橋ID的值更小
如果接收到的BPDU中的根網橋ID值小於自己的網橋ID值,則用接收到的根網橋ID值替換現有的網橋ID
當所有的交換機互相接收了全部的BPDU後,就能夠選擇出全網公認的唯一一個網橋
- 收斂後,如果有一臺網橋1D值更小的交換機加入進來,那麼,它首先把自己當作一個根網橋在網路中通告。由於那臺新交換機的網橋ID值的確更小,所以其他的交換機在比較一番後,就會把它當作新的根網橋而記錄下來。
OK,資料單元以分析完,還差最後一個,STP的收斂
STP在交換機中自動執行,在交換機開機的時候可以看到,交換機的指示燈顯示為黃色,並且大約有30的時間不能轉發資料,這時交換機在做SIP計算,直到交換機的STP計算完畢,有些埠可以轉發資料,有些埠被阻塞,也就是網路收斂後,交換機才開始轉發資料。當網路的拓撲發生變化的時候,交換機還要重新執行STP計算,形成新的邏輯拓撲結構。這種重新計算STP的過程稱為"收斂"。
1.生成樹介面的狀態
狀 態
用 途
轉發(Forwarding)
傳送/接收使用者資料
學習(Learning)
構建網橋表
偵聽(Listening)
構建"活動"拓撲
阻塞(Blocking)
只接收BPDU
禁用(Disabled)
強制關閉
如果一個埠允許轉發資料,它首先從Disabled狀態開始,經過幾個被動狀態,最後進入Active(活動)狀態,現將STP的埠狀態詳細描述如下。
Disabled(禁用):由網路管理員設定或因網路故障使系統的埠處於Disabled狀態,這是比較特殊的狀態它並不是埠正常的STP狀態的一部分,
Blocking(阻塞):在埠初始化後,一個埠既不能接收或傳送資料,也不能向它的地址表新增MAC地址,相反。這樣的一個埠僅允許接收BDU報文以便能偵聽到其他鄰接交換機的資訊,此外,選出指定埠後,非指定埠地處於Blocking狀態。
Listening(偵聽),如果一個交換機認為一個埠可選為根埠或指定埠那麼,它就把該埠的Bookirng狀態變為Listening狀態,在Listening狀態,埠仍不能接收或傳送資料幀、不過,為了使該埠加入到生成樹的拓撲過程,允許它接收或傳送BPDU報文。由於該埠可以通過傳送BPOU報文給其他交換機通告該埠的資訊這個埠最終可能被允許成為一個根埠或指定埠,如果該埠失去根埠或指定埠的地位,那麼它將返回到Blocking狀態.
Learning(學習):一個埠在Learning狀態下經過一段時間(稱為轉發延遲)後,將轉為Learning狀態,該埠仍可像從前一樣傳送和接收BPDU、不過這交換機可以學習新的MAC地址、並將該地址新增至交換機的地址表中,正因為如此,才使得交換機可以沉默一定的時間才處理有關地址表的資訊。
Forwarding(轉發):在Learning狀態下再經歷一定的轉發延遲時間法瀾口轉人到Forwarding狀態。在Forwarding狀態,該埠既可以傳送和接收資料械,也可以收集MAC地址加入到它的地址表,還可以傳送和接收對報文在生成樹拓撲中,該埠至此才成為一個全功能的交換機埠2.生成數計時器:控制每個階段的時間長度
STP利用三種計時方法來確保一個網路正確的收斂
(1)Hello時間:網橋傳送配置BPDU報文之間的時間間隔。在根網橋交換機中配置的訪問時間。
(2)轉發延遲:一個交換機埠在Listening狀態和Learning狀態所花費的時間間隔,它的預設值各為15s.
(3)最大老化時間,交換機在丟棄BPDU報文之前儲存它的最大時間。最大老化時間的預設值是20s.
偵聽和學習都是生成樹所實施的過渡狀態,用來強迫埠等待來自其他交換機上的所有BPDU.典型的埠過渡如下。
(1)從阻塞到偵聽(20s)
(2)從偵聽到學習(15s)
(3)從學習到轉發(15s)
當啟用STP時:VLAN上的每臺交換機在加電以後都經過從阻塞到偵聽、學習的過渡狀態STP計時器可以用命令予以配置和調整,如果不是經過認真考慮和規劃,建議不要輕易改變計時器的預設值