Source https://www.itsfun.com.tw/BPDU/wiki-8372865-1834445
BPDU
- BPDU
- STP的版本(為IEEE 802.1d時值為0
- 該值總為0。
- BPDU類型
概念
網橋協定資料單元(Bridge Protocol Data Unit)。是一種生成樹協定問候封包,它以可配置的間隔發出,用來在網路的網橋間進行信息交換。
當一個網橋開始變為活動時,它的每個連線埠都是每2s(使用缺省定時值時)傳送一個BPDU。然而,如果一個連線埠收到另外一個網橋傳送過來的BPDU,而這個BPDU比它正在傳送的BPDU更優,則在地連線埠會停止傳送BPDU。如果在一段時間(缺省為20s)後它不再接收到鄰居的更優的BPDU,則在地連線埠會再次傳送BPDU。
BPDU是網橋協定資料單元(Bridge Protocol Data Unit)的英文首字母縮寫。
BPDU報文主要欄位
協定ID:該值總為0。
版本號:STP的版本(為IEEE 802.1d時值為0)。
報文類型:BPDU類型(配置BPDU=0,TCN BPDU=80)。
標記域:LSB(最低有效位)=TCN標志;MSB(最高有效位)=TCA標志。
根網橋ID:根信息由2位元組優先權和6位元組ID組成。這個信息組合標明已經被選定為根網橋的設備標識。
根路徑成本:路徑成本為到達根網橋交換機的STP開銷。表明這個BPDU從根網橋傳輸了多遠,成本是多少。這個欄位的值用來決定哪些連線埠將進行轉發,哪些連線埠將被阻斷。
傳送網路橋ID:傳送該BPDU的網橋信息。由網橋的優先權和網橋ID組成。
連線埠ID:傳送該BPDU的網橋連線埠ID。
計時器:計時器用于說明生成樹用多長時間完成它的每項功能。這些功能包括報文老化時間、最大老化時間、訪問時間和轉發延遲。
最大老化時間:根網橋傳送BPDU後的秒數,每經過一個網橋都會增加1,所以它的本質是到達根網橋的跳計數。
訪問時間:根網橋連續傳送BPDU的時間間隔。
轉發延遲:網橋在監聽學習狀態所停留的時間。
網橋的三種典型方式
BPDU究竟是如何工作的呢?
這得從網橋說起。網橋有三種典型的方式:透明橋、源路由橋與源路由透明橋。
網橋典型地連線兩個用同樣介質存取控製方法的網段,IEEE 802.1d規範(此規範是為所有的802介質存取方法開發的)定義了透明橋。源路由橋是由IBM公司為它的令牌環網路開發的;而源路由透明橋則是透明橋和源路由橋的組合。橋兩邊的網段分屬于不同的沖突域,但卻屬于同一個廣播域。
路徑連線原理
在一個橋接的區域網路裏,為了增強可靠性,必然要建立一個冗餘的路徑,網段會用冗餘的網橋連線。但是,在一個透明橋橋接的網路裏,存在冗餘的路徑就能建立一個橋回路,橋回路對于一個區域網路是致命的。
生成樹協定是一種橋嵌套協定,在IEEE 802.1d規範裏定義,可以用來消除橋回路。它的工作原理是這樣的:生成樹協定定義了一個封包,叫做橋協定資料單元BPDU(Bridge Protocol Data Unit)。網橋用BPDU來相互通信,並用BPDU的相關機能來動態選擇根橋和備份橋。但是因為從中心橋到任何網段隻有一個路徑存在,所以橋回路被消除。
在一個生成樹環境裏,橋不會立即開始轉發功能,它們必須首先選擇一個橋為根橋,然後建立一個指定路徑。在一個網路裏邊擁有最低橋ID的將變成一個根橋,全部的生成樹網路裏面隻有一個根橋。根橋的主要職責是定期傳送配置信息,然後這種配置信息將會被所有的指定橋傳送。這在生成樹網路裏面是一種機製,一旦網路結構發生變化,網路狀態將會重新配置。
當選定根橋之後,在轉發封包之前,它們必須決定每一個網段的指定橋,運用生成樹的這種演算法,根橋每隔2秒鍾從它所有的連線埠傳送BPDU包,BPDU包被所有的橋從它們的根連線埠復製過來,根連線埠是接根橋的那些橋連線埠。BPDU包括的信息叫做連線埠的COST,網路管理員分配連線埠的COST到所有的橋連線埠,當根橋傳送BPDU的時候,根橋設定它的連線埠值為零。然後沿著這條路徑,下一個橋增加它的配置連線埠COST為一個值,這個值是它接收和轉發封包到下一個網段的值。這樣每一個橋都增加它的連線埠的COST值為它所接收的BPDU的包的COST值,所有的橋都檢測它們的連線埠的COST值,擁有最低連線埠的COST值的橋就變為了指定的橋。擁有比較高連線埠COST值的橋置它的連線埠進入阻塞狀態,變為了備份橋。在阻塞狀態,一個橋停止了轉發,但是它會繼續接收和處理BPDU封包。
Source http://smalleaf.blogspot.com/2011/10/switch-bpdu-guard.html
防止私接Switch的利器 - BPDU GUARD
今天客戶問我一個問題:
雖然如此,這還是一個很好的功能,比如說某天自已忘了,接了一台swich上去,更動了原本的STP架構,這不就糗了!!透過BPDU GUARD就是在避免STP被更動的危險狀況!!
最後…回到原將問題:
為什麼設定了Spanning-tree portfast還有spanning-tree bpduguard enable後那個port不能接switch阿!?
因為spanning-tree bpduguard enable之後,會開啟spanning-tree的bpdu防護機制,避免swich之間有spanning-tree的溝通資料(bpdu),或者說,避免有人私接switch進來,因為當對方一接進來,該port會偵測到bpdu資料,此時已啟用bpdu guard的switch會自動將該port Error Disable。所以更正確一點的說法是,不能接會發送bpdu的switch進來,如果非cisco swich或是已關掉spanning-tree的swich還是可以接進來的。
Source https://a46087.pixnet.net/blog/post/32217254
======================================================================
網孔底 |
Hub |
NB / Win10 / WiFi/Ethernet network bridge
by following https://superuser.com/questions/1319833/use-wifi-and-ethernet-simultaneously-on-windows-10 |
PC / Linux / Ethernet |
WNC MIS : 網孔底下的設備串到loop or 私接的switch被偵測到導致網孔被鎖住。WNC MIS : 網孔偵測到BPDU這種封包就會被鎖住