BPDU報文(傳統STP)


 

BPDU字段包含的信息:

Protocol ID   協議ID

Version    STP版本(三種)

STP(802.1D)傳統生成樹    值為0

RSTP(802.1W)快速生成樹    值為2

MSTP(802.1S)多生成樹    值為3

Message Type   消息類型(常見的兩種)

   配置BPDU:負責建立,維護STP拓撲     

   TCN BPDU:傳達拓撲變更        

Root ID    根橋ID

Cost of Path   路徑開銷

Bridge ID      橋ID

Port ID     端口ID

Message Age    當前消息年齡(STP每經過一台交換機,該字段+1,同步不同位置的設備根橋超時)

Max Age           最大消息年齡(超過則代表根橋故障)

Hello Time    問候時間(根橋通過不斷發送STP維持自己的地位,Hello time 是發送的間隔時間)

Forward Delay   端口從listening -> learning  或 learning -> forwarding 的轉態需要時間

 

STP 選舉流程:

1.選舉根橋

2.非根交換機選舉根端口

3.每個線路選舉指定端口

4.阻塞非根,非指定端口

 

選舉根橋,根端口,指定端口,阻塞端口都以下面的規則來選,都是越小越好

這些信息在BPDU中都有。

 

比較規則:

1.bridge ID:   優先級(默認32768) + MAC地址

2.Cost路徑開銷   根據接口帶寬比例計算

3.port ID:    優先級 (默認128)+ 端口號

 

 

根橋選舉:

1.選根橋:每個交換機假設自己為根,互相發送BPUD報文,然后通過比較規則競選根橋

2.選根端口:每個交換機根據接收由根橋發送的BPDU中的開銷來選舉根端口(最優路徑),交換機接收累加開銷,轉發不累加

3.選指定端口:每條鏈路根據比較規則來選出指定端口,每條鏈路必須有指定端口。

4.選阻塞端口:除了根端口,指定端口,剩下的為阻塞端口

 

 

下面是華為設備STP  的配置BPDU

從這里可以分析出,該端口的端口號是2,據開銷20000可知千兆口,所以為G0/0/2

很明顯該端口所屬的交換機不是根橋,並且是根橋的鄰居。BPDU類型是配置BPDU。

 

下面看下當某條鏈路斷開時,發生了拓撲變化的BPDU報文

 

比如有一台交換機,一個端口為根端口,另一個為阻塞端口。如果根端口被關閉了

那么阻塞端口會發送一個拓撲變更BPDU的報文給相鄰的交換機,這個BPDU類型為:TCN

 

而相鄰的交換機會向這個阻塞端口發送一個確認拓撲變更的BPDU,這樣阻塞端口就知道自己的消息被收到並將會傳達。

這個BPDU類型為 TCA,同時相鄰的交換機就會把繼續把 TCN 向根端口方向轉發,之后也會收到上層交換機發來的TCA確認接收報文

如果根橋收到了這個由阻塞端口傳來的TCN,便會下發拓撲變更BPDU其類型為TC,每台收到此TC報文的交換機都會將自己的MAC緩存表刷新或減低過期時間。

然后再向下傳達這個TC報文。

 

 

看下下面的拓撲圖

 

在交換機 LSW5中 GE0/0/1原本為阻塞狀態,GE0/0/0為根端口

但是有一天GE0/0/2端口down掉了

如果沒有上述的拓撲變更BPDU的話,那么會發生如下情況

 

client6 發送 數據 給 client4

緩存表里client6的mac地址對應的卻是GE0/0/2的接口(已經down掉了)

這樣導致client6無法與外界通信,除非要等mac緩存表的過期時間300s也就是5min

這個時間實在太長了,解決的辦法就是發送拓撲變更給根橋,根橋同意變更后向下發送

TC BPDU,所有收到此報文的交換機都把MAC緩存表刷新或減少過期時間來避免收斂速度慢

 

與根橋的直連鏈路發生故障

LSW8交換機上的G0/0/1為根端口,G0/0/2為指定端口,

G0/0/1發生故障后,G0/0/2會的端口角色會編程根端口

當是狀態要從 listening->learning->forwarding需要30秒的時間

 

 

與根橋的非直連鏈路發生故障

在LSW8中GE 0/0/1為根端口,因為HUB集線器與根設備的線down掉了

所以LSW8 會在Max Age 的時間內不能收到根橋發送的BPDU,於是他會以

自身為根橋向周圍發送 BPDU,當LSW9收到兩邊的BPDU則會對比,發現LSW7

才適合做根橋,於是又會通知LSW8,這樣GE0/0/3就會轉變成根端口。

所用的時間為50s(MAX Age +Forward Delay)


免責聲明!

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



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