STP的BPDU報文


BPDU報文

為了計算生成樹,交換機之間需要交換相關的信息和參數,這些信息和參數被封裝在BPDU(Bridge Protocol Data Unit)中。BPDU有兩種類型:配置BPDUTCN BPDU

  • 配置BPDU包含了橋ID、路徑開銷和端口ID等參數。STP協議通過在交換機之間傳遞配置BPDU來選舉根交換機,以及確定每個交換機端口的角色和狀態。在初始化過程中,每個橋都主動發送配置BPDU。在網絡拓撲穩定以后,只有根橋主動發送配置BPDU,其他交換機在收到上游傳來的配置BPDU后,才會發送自己的配置BPDU。
  • TCN BPDU是指下游交換機感知到拓撲發生變化時向上游發送的拓撲變化通知

配置BPDU中包含了足夠的信息來保證設備完成生成樹計算,其中包含的重要信息如下:

報文字段 字節數 說明
PID 2字節 STP協議ID,該字段總是為0
PVI 1字節

STP協議版本

  • STP(802.1D)傳統生成樹,值為0;
  • RSTP(802.1W)快速生成樹,值為2;
  • MSTP(802.1S)多生成樹,值為3;
BPDU Type 1字節

指示當前BPDU消息類型配置BPDUTCN BPDU

  • 0x00為配置BPDU,負責建立,維護STP拓撲;
  • 0x80為TCN BPDU,傳達拓撲變更;
Flags 1字節

標志

  • 最低位=TC(Topology Change,拓撲變化)標志,
  • 最高位=TCA(Topology Change Acknowledgement,拓撲變化確認)標志
Root ID 8字節 根橋ID,指示當前根橋的RID(即“根ID”),由2字節的橋優先級和6字節MAC地址構成
RPC 4字節 根路徑開銷,指示發送該BPDU報文的端口累計到根橋的開銷
Bridge ID 8字節 橋ID,指示發送該BPDU報文的交換設備的BID(即“發送者BID”),也是由2字節的橋優先級和6字節MAC地址構成
Port ID  2字節 端口ID,指示發送該BPDU報文的端口ID,即“發送端口ID”
Message Age 2字節 消息生存時間,指示該BPDU報文的生存時間,即端口保存BPDU的最長時間,過期后將刪除,要在這個時間內轉發才有效,如果配置BPDU是直接來自根橋的,則Message Age為0,如果是其他橋轉發的,則Message Age是從根橋發送到當前橋接收到BPDU的總時間,包括傳輸延時等。實際實現中,配置BPDU報文經過一個橋,Message Age增加1,如果Message Age大於Max Age,非根橋會丟棄該配置BPDU。
Max Age 2字節 最大生存時間,指示BPDU消息的最大生存時間,也即老化時間
Hello Time 2字節 Hello消息定時器,指示發送兩個相鄰BPDU的時間間隔,根橋通過不斷發送STP維持自己的地位,Hello time 是發送的間隔時間
Fwd Delay 2字節 轉發延時,指示控制listening和learning狀態的持續時間,表示在拓撲結構改變后,交換機在發送數據包前維持在監聽和學習狀態的時間

STP 計時器

Hello Time是指運行STP協議的設備發送配置BPDU的時間間隔,用於檢測鏈路是否存在故障。交換機每隔Hello Time時間會向周圍的交換機發送配置BPDU報文,以確認鏈路是否存在故障。當網絡拓撲穩定后,該值只有在根橋上修改才有效。

Message Age是從根橋發送到當前交換機接收到BPDU的總時間,包括傳輸延時等。如果配置BPDU是根橋發出的,則Message Age為0。實際實現中,配置BPDU報文每經過一個交換機,Message Age增加1

Max Age是指BPDU報文的老化時間,可在根橋上通過命令人為改動這個值。Max Age通過配置BPDU報文的傳遞,可以保證Max Age在整網中一致。非根橋設備收到配置BPDU報文后,會將報文中的Message Age和Max Age進行比較:如果Message Age小於等於Max Age,則該非根橋設備會繼續轉發配置BPDU報文。如果Message Age大於Max Age,則該配置BPDU報文將被老化掉。該非根橋設備將直接丟棄該配置BPDU,並認為是網絡直徑過大,導致了根橋連接失敗。

Forward Delay是指端口狀態遷移時間。STP生成樹需要一定的時間,如果選出來的根端口或者指定端口馬上進入轉發狀態的話,可能就會總成臨時工作環路。forward delay機制:新選出來的根端口和指定端口需要經過兩倍的forward delay時間延時后才可以進入用戶數據幀的轉發狀態,保證此時工作拓撲已無環路。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM