STP中的橋ID(根橋ID,自身橋ID),路徑開銷,端口ID等信息,都經過BPDU協議報文傳輸。即四要素。網絡
STP中包含兩種BPDU類型,配置BPDU和TCN BPDU,TC BPDU(topology change,拓撲變化)和TCA BPDU(topology change ack,拓撲變化確認) 都是配置BPDU的一種。屬於配置BPDU中不一樣的flag置位。併發
BPDU報文被封裝在以太網數據幀中,目的MAC是組播MAC:01-80-C2-00-00-00,length字段指後續數據的字節長度,但不包括CRC字節,後面是LLC頭,LLC以後是BPDU報文頭(在data中)。ide
在初始化過程當中,每一個橋都主動發送配置BPDU,可是在網絡拓撲穩定後,只有根橋主動發送配置BPDU,其餘橋在收到上有傳來的配置BPDU後,才觸發發送本身的配置BPDU。blog
配置BPDU的長度至少35字節,包括橋ID,路勁開銷,端口ID等參數。接口
只有當發送者的BID或者端口的PID兩個字段中至少有一個和本橋接收端口不一樣,BPDU報文才會被處理,不然丟棄,這樣避免了處理和本端口信息一致的BPDU報文。圖片
容許STP協議的設備發送配置消息BPDU的時間間隔,用於設備檢測鏈路是否存在故障。設備每隔hello time 時間會向周邊的設備發送hello報文,以肯定鏈路是否存在故障。當網絡拓撲穩定後,該計時器的修改只有在根橋修改後纔有效。TCN BPDU的發送不受這個計時器的管理。it
設備狀態遷移的延遲時間。鏈路故障會引起網絡從新進行生成樹的計算,生成樹的結構將發生相應的變化。不太重新計算獲得的新配置消息沒法馬上傳遍整個網絡,若是新選出的根端口和指定端口當即就開始數據轉發的話,可能會形成臨時環路。STP採用了一種狀態遷移機制,新選出的根端口和指定端口要通過2倍的forward delay延時後才能進入轉發狀態,這個延時保證了新的配置消息傳遍整個網絡,從而防止了臨時環路的產生。forward delay timer指一個端口處於listening和learning狀態的各自持續時間,默認各15秒。class
該BPDU的消息年齡。
等於從根橋發送到當前橋接收到BPDU的總時間(包括傳輸時延),若是配置BPDU是根橋發出的,則MessageAge爲0。實際實現中,配置BPDU報文通過一個橋,MessageAge增長1.配置
端口的BPDU報文老化時間,可在根橋上經過命使人爲改動老化時間。Max Age經過配置BPDU報文的傳輸,可保證Max Age在整網中一致。運行STP協議的網絡中非根橋設備收到配置BPDU報文後,報文中的Message Age和Max Age會進行比較:定時器
指在下游拓撲發生變化時向上遊發送拓撲變化通知,直到根橋,通知根橋下發TC BPDU。
TCN BPDU內容比較簡單,只有三個字段:協議號、版本、類型。其中類型的固定值位0X80,長度只有4個字節。