BPDU

字節 字段 描述
2 協議ID 此處總爲0
1 版本 STP的版本。802.1爲0
1 消息類型 BPDU的類型(配置BPDU=ox00 TCN=ox80)
1 標誌 TC/TCA
8 Root Identifier根ID 根網橋的網橋ID
4 Path Path Cost路徑開銷 到達根網橋的STP開銷
8 Bridge Identifier網橋ID 轉發根網橋BPDU的網橋的ID
2 Port Identifier端口 轉發根網橋BPDU的網橋的端口ID
2 消息壽命 從根橋發出BPDU之後的秒數,每經過一網橋就減一。即爲跳數
2 最大壽命 網橋交根橋看作不可用前保留根橋ID的最大時間
2 hello 時間 根橋連續發出BPDU的間隔
2 轉發延遲 網橋監聽與學習狀態所停留的時間。

BPDU有兩種。一種爲生成生成樹時的配置BPDU,一種爲網絡拓撲發生變化時發出的TCN BPDU。

還有RSTP BPDU、MSTP BPDU和Cisco MST BPDU呢

STP我們先來看一下他的四條工作機制:①在一個網絡中只有且必須有一個爲根網橋
                                           ②每一個非根網橋有且只有一個根端口
                                            ③每一個網段有且只有一個指定端口
                                           ④所有非指定端口都因該阻塞掉
根據以上機制我們來模擬一下它的工作流程:
      首先啓動的時候每一臺交換機都認爲自己都是根橋,這樣就進行選舉(選舉的原則是根據BPDU當中的Brideger Identifier來進行判斷,當BID中的網橋的優先級相同時就根據MAC地址小的選爲根橋Root Identifier);當選定根橋時再在非根橋的交換機上選定根端口(根據到根橋的路徑開銷值Root Path Cost來判定,選擇路徑開銷值小的作爲根端口)(上行交換機Bridger Identifier和上行端口的Port Identifier);爲每一個網段選擇一個指定端口(當一個網段出現倆個根端口時,根橋優先考慮.);斷掉非指定端口.這樣就邏輯上解除了環路問題.
  BPDU:中用到字段就是
          1: 根橋的BID
          2: 到根橋的開銷
          3: 自己的BID
          4: 端口ID
就是用這些從上都下比  如果已經匹配的話就選擇完成如果不匹配的話就是按照數字向下走

本貼研究BPDU 的類型,如圖所示 STP 工作正常 :



BPDU 分爲兩種:Configuration BPDU (配置的BPDU) 和 TCN BPDU(拓撲變化的BPDU)
圖中 我們以 CF BPDU 代替 配置BPDU ,UP BPDU 代替 拓撲變化 BPDU

以圖示講一下兩種BPDU 的作用和應用 :
< 1 > TCN BPDU ---拓撲變化的BPDU
     非根橋始發。當一臺非根橋交換機,拓撲發生變化的時候,就會產生一個TCN BPDU,這個BPDU是告訴根橋的,也就是說只有根端口才會發送這類的BPDU,上行 。

< 2 > Configuration BPDU ---配置BPDU
    根橋始發。當根橋受到 TCN BPDU 後,會產生一個配置BPDU,告訴所有它知道的非根橋交換機,拓撲發生了變化。會發現這種的BPDU是通過指定端口始發和轉發的,下行。

總結:
1、  RP 接收 配置BPDU ,發送 拓撲變化BPDU。
2、  DP 接收 拓撲變化BPDU ,發送 配置BPDU。


BPDU分爲幾種類型:
  configuration BPDU     type:0x00   注意類型號
  TCN BPDU               type 0x80

這兩種類型的BPDU是由BPDU協議字段中的TYPE決定的,具體字段內容如下:
Bytes  Field
2  Protocol ID
1  Version
1  Message Type
1  Flags
8  Root ID
4  Cost of Path
8  Bridge ID
2  Port ID
2  Message Age
2  Maximum Time
2  Hello time
2  Forward Delay


STP在交換機之間運行,交換配置信息,就是靠BPDU實現的。
BPDU每隔2秒,以Multicast的方式發送,在designate port上被髮送。
通過BPDU信息的交換,我們能夠:
1、爲整個STP網絡找到一個root switch,也叫root bridge
2、爲每個網段選舉一個designate switch,或者說designate bridge
3、通過設置某些端口爲backup狀態,來打破環路

正常情況下,交換機只會從它的Root Port上接收configuration BPDU包,但是絕不會主動發送configuration BPDU包給root bridge。

這裏就需要提到第二種類型的BPDU包了,也就是Topology Change Notification(TCN) BPDU。

這樣,當一臺交換機檢測到拓撲變化後,它就可以發送TCN給root bridge,注意TCN是通過root port向root bridge方向發出的.

當交換機從它的designate port接收到TCN類BPDU時,它必須爲其做轉發,從它自已的root port上發送出去TCN類型的BPDU包,這樣一級一級地傳到root bridge後,TCN的任務纔算完成.

在以上的過程中,無論是哪臺交換機從它的designate port上收到了TCN類型的BPDU包,它都必須給一個回覆,必須從designate port上發出TCA位被置1的normal configuration BPDU包,注意,這裏是正常的configuration BPDU包.它的TCA位被置1,表明是要給TCN以回覆的,但它跟TCN不是一類型的包.

那麼當TCN傳遍全網,直至到達ROOT BRIDGE後,root bridge也要做出一種迴應,它會發出一個正常的configuration BPDU包,當然會有一些不同,就是包內的TC字段會被置1,TC即topology change,表示發現拓撲變化.這個包會被所有交換機轉發,同樣的TC位會置1,直至傳遍全網,所有交換機都得知拓撲變化爲止.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章