生成樹

    生成樹

冗餘拓撲的問題:

-廣播風暴

交換機泛洪廣播幀和未知幀

-重複幀接受

交換機泛洪廣播幀和未知幀

-MAC地址的振盪

學習MAC地址的原則



STP生成樹協議:spanning-tree  protocol(802.1D)

作用:防環備份

原理:在冗餘網絡中,邏輯上阻塞某些端口,使的任意兩個終端之間的通信都是唯一路徑;

當收斂後的網絡再次發生變換,重新激活被阻塞的端口,使得網絡通信恢復正常,到達備份的效果


術語:

橋ID:標示交換機在生成樹網絡中的唯一性

組成:橋優先級+MAC地址(交換機本身的MAC地址)

橋優先級:標示交換機的優先權限,用於選舉根橋

範圍0-65535,默認32768,步長  1,2Bytes


根橋:ROOT,負責整個網絡中的數據通信

網絡中優先級最高的交換機


根路徑開銷:到根橋的最短路徑開銷。


指定橋ID:由指定橋的優先級和MAC地址組成。


指定端口ID:由指定端口的優先級和端口號組成。


Message Age:配置BPDU在網絡中傳播的生存期。


Max Age:配置BPDU在設備中能夠保存的最大生存期。


Hello Time:配置BPDU發送的週期。


Forward Delay:端口狀態遷移的延時。



BPDU:橋協議數據單元

內容:包含STP收斂所需要的所有參數

包含自身的生命週期,定期更新的時間以及老化時間

作用:用來選舉ROOT, RP, DP等

種類:

配置BPDU:週期性發送,2S,最大存活時間20S;用來完成STP的收斂和後期狀態的維護

TCN  BPDU:當拓撲發生變化時發送(橋主動發送該BPDU通知網絡中的設備,鏈路發生變化)

*在802.1D中,只有根橋纔有資格定期發送配置BPDU,並且,根橋發送的BPDU纔是最優的!

Cost:花費,接口到達根所花的代價

10M~100; 100M~19; 1000M~4; 10G~2


根端口:root Port (RP)

非根橋上,到達根橋的cost值最小的端口

負責接受由根橋發送的數據和BPDU

指定端口:design Port (DP))

鏈路上   到達根橋的cost值最小的端口

負責轉發ROOT發送的數據和BGDU

端口ID:在交換機上,用來唯一的標識不同的端口

組成:端口優先級+端口編號

端口優先級:1Byte,範圍0-255,


STP的選舉流程:

1、在一個交換網絡中選舉一個根橋,根橋是設備的概念。默認情況下所有設備都是根橋,通過交互BPDU包優選BID小的成爲根橋,在STP中根橋選舉後只會由根橋每隔2秒發送一次BPDU包,其它的非根橋接收後轉發。

2、根橋選舉後,交換網絡中的其它設備都是非根橋,每個非根橋還需要選舉一個到達根橋最短路徑的端口成爲根端口。注:非根橋只能有一個根端口

3、每條鏈路上還需要選舉一個指定端口,默認情況下根橋的所有端口都是指定端口

4、既不是根端口也不是指定端口的其它端口需要被阻塞,不能轉發數據幀。

 

所有配置了STP協議的交換機都會發送BPDU(橋協議數據單元)報文,通過交互BPDU報文選舉設備角色和端口角色。

PDU有兩種類型:配置BPDUTCN BPDU

配置BPDU包含了橋ID、路徑開銷和端口ID等參數。STP協議通過在交換機之間傳遞配置BPDU來選舉根交換機,以及確定每個交換機端口的角色和狀態。

BPDU:在初始化過程中,每個橋都主動發送配置BPDU。在網絡拓撲穩定以後,只有根橋主動發送配置BPDU,其他交換機在收到上游傳來的配置BPDU後,纔會發送自己的配置BPDU

TCN BPDU是指下游交換機感知到拓撲發生變化時向上遊發送的拓撲變化通知。


STP協議中包含一些重要的時間參數,這裏舉例說明如下:

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

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

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


設備角色:根橋、非根橋

端口角色:根端口、指定端口、替代端口


根橋的選舉:

通過比較BID(橋ID)選舉,優選BID小的。BID參數由兩部分組成:優先級(默認值爲32768+MAC地址(交換機的背板MAC地址)。

1、比較優先級,優先級越小越優。

2、如果優先級一樣,比較MAC地址,MAC地址越小越優。


BPDU包的作用:1、用於STP的選舉 2、維護STP的狀態 3、通告拓撲改變,刷新MAC地址表


STP中根橋的選舉依據的是橋IDSTP中的每個交換機都會有一個橋ID(Bridge ID) 。橋ID16位的橋優先級(Bridge Priority)和48位的MAC地址構成。在STP網絡中,橋優先級是可以配置的,取值範圍是065535,默認值爲32768。優先級最高的設備(橋ID最小)會被選舉爲根橋。如果優先級相同,則會比較MAC地址,MAC地址越小則越優先。

交換機啓動後就自動開始進行生成樹收斂計算。默認情況下,所有交換機啓動時都認爲自己是根橋,自己的所有端口都爲指定端口,這樣BPDU報文就可以通過所有端口轉發。對端交換機收到BPDU報文後,會比較BPDU中的根橋ID和自己的橋ID。如果收到的BPDU報文中的橋ID優先級低,接收交換機會繼續通告自己的配置BPDU報文給鄰居交換機。如果收到的BPDU報文中的橋ID優先級高,則交換機會修改自己的BPDU報文的根橋ID字段,宣告新的根橋。




根端口的選舉:

 

RPCroot path cost):RPCBPDU包中一個參數,用於標識發送BPDU包的交換機自己到達根橋的距離。

 

本地端口的RPC(通過端口到達根橋的距離)=本端口的PC+接收到的BPDU包中通告的RPC

 

 

STP端口角色的選舉過程

1、比較RID(根橋ID),優選小的。

2、比較到達根橋的RPCroot path cost,越小越優。

3、比較BPDU包發送者的BID,越小越優。

4、比較BPDU包發送者的PID(port id(端口ID),端口ID由兩部分組成=端口優先級(默認爲128,可以配置,配置時必須爲16的整數倍)+端口ID),越小越優。

5、比較BPDU包接收者的PID,越小越優。

 

STP中有幾種端口角色: 根端口(RP)、指定端口(DP)、替代端口(AP

STP中有幾種端口狀態:Disable(禁用)Listening(監聽)Learning(學習)Forwarding(轉發)、Blocking(阻塞)

 端口狀態:

Disable(禁用):端口shutdown,端口UP後會從disable過渡到listening狀態。

Listening(監聽):在該狀態下可以發送和接收BPDU包,但是不能轉發數據幀,用於選舉設備角色和端口角色。該狀態會維持一個forward delay15S)的時間。超時後會過渡到learning狀態。

Learning(學習):在該狀態下可以發送和接收BPDU包,可以接收數據幀但是不能轉發,同時學習原MAC地址構建MAC地址表。該狀態會維持一個forward delay15S)的時間。超時後會過渡到forwarding狀態。

Forwarding(轉發):在該狀態下可以發送和接收BPDU包,同時可以接收和轉發數據幀。

Blocking(阻塞):在該狀態下可以接收BPDU包,但是不能發送BPDU包和數據幀。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章