stp樹生成過程4步(生成樹協議stp)
2023-10-16 05:34:09
stp樹生成過程4步?一、基礎 STP(spanning tree protocol)生成樹協議,用於消除數據鏈路層環路的協議,僅在網絡中存在冗餘鏈路或者存在環形網絡結構(封閉的物理環路)時才採用,我來為大家講解一下關於stp樹生成過程4步?跟著小編一起來看一看吧!
stp樹生成過程4步
一、基礎
STP(spanning tree protocol)生成樹協議,用於消除數據鏈路層環路的協議,僅在網絡中存在冗餘鏈路或者存在環形網絡結構(封閉的物理環路)時才採用。
通常在網絡中關鍵設備使用冗餘鏈路、多條等價鏈路、接入環網等時採用。生成樹在保證冗餘鏈路的同時,又可確保不會出現二層環路。
運行生成樹協議的設備彼此交換信息發現網絡中的環路,並有選擇的對某個埠進行阻塞,最終將環形網絡結構修剪成樹形網絡結構,防止報文在網絡中不斷循環;在網絡發生故障時,生成樹能快速發現故障並儘快找出另一條路徑進行數據傳輸。
如果在環形網絡中不啟用生成樹協議會產生:1、廣播風暴導致網絡不可用;2、MAC地址表震蕩導致MAC地址表項被破壞。
二、基本概念
1、根橋
全網中只有一個,具有最小橋ID(BID)的橋(可以當作一臺交換機來看待),其他的統稱為非根橋。根橋(root bridge RB)是整個網絡邏輯中心,一般將環網中性能最好的設備設置為根橋。網絡收斂後,根橋間隔一定時間向外發送配置BPDU。
2、兩種度量
1、ID
ID有BID(bridge ID,橋ID)和PID(port ID,埠ID)之分
BID:
BID決定哪臺交換機成為網絡中的根橋,在STP中規定BID最小的交換機被選舉為根橋。
BID由高16位橋優先級(bridge priority)和低48位橋背板MAC地址組成,是一個用戶可以設定的參數,設定的值越小,越能成為根橋。各交換機只有橋優先級相同時才比較背板MAC。
PID:
用於在有些情況下選擇指定埠。
在選擇指定埠時,只有在埠的根路徑開銷和發送BPDU交換機的BID都相同的情況下才會比較埠PID,PID小者為指定埠。
2、路徑開銷
由埠的鏈路速率決定(聚合鏈路為UP成員速率之和),stp選擇保留帶寬最大的鏈路,阻塞多餘的速率小的鏈路,以便剪成無環網絡。在理解STP時一定要理解成一個阻斷的環。
在一個運行stp協議的交換網絡中,某埠到根橋累計的路徑開銷就是所經過的各個橋上的各埠的路徑開銷累加值,這個值叫做根路徑開銷(root path cost)。根橋上所有埠的根路徑開銷、以及同交換機上不同埠間的路徑開銷值均為0。
3、三個選舉要素
1、根橋(root bridge RB):
BID最小的設備;每個STP網絡中僅有一個。
同一交換機上只能配置為根橋或備份根橋,不能同時配置;在配置STP、RSTP中,建議手動配置根橋和備份根橋。在一棵生成樹中,當橋優先級相同時MAC最小的將成為根橋;一棵生成樹中可配置多個備份根橋,當根橋故障時,
備份根橋中MAC最小的將成為根橋。
在配置根橋時,一般選擇性能高的設備作為根橋,而性能高的設備不一定優先級高,所以要配置性能高的設備優先級最高(數值最小)。
2、根埠(root port RP):
負責向根橋方向轉發數據,是非根橋交換機離根橋交換機最近的埠,即當前橋(可以當成一臺交換機設備)設備上去往根路徑開銷(root pathcost RPC)最小的埠。
在一個stp網絡中,根埠只有一個,且根橋上沒有根埠。
當多個埠根路徑開銷相同時,先比較指定橋(見後面)ID(最小的會成為根埠),指定橋ID相同則比較指定橋上的埠ID(port ID最小的成為根埠)。
埠路徑開銷由路徑開銷計算方法決定;當確定路徑開銷方法後,埠的速率越大,其開銷值越小(越能成為根埠)。
默認埠速率與埠開銷值
3、指定埠(designated port)
指定埠與指定橋息息相關,但不是一一對應,具體如下:
指定埠與根埠相對,也可理解為與下遊設備最近,唯一可以接收下遊設備數據的埠。根橋上的所有埠都是指定埠(除根橋有環路)。
對於一臺設備:
與本設備直接相連且向本設備直接轉發配置消息的其它設備就是指定橋,指定橋中向本設備轉發配置消息的埠就是指定埠。
對於一個區域網:
向本網段轉發配置消息的設備就是指定橋,指定橋上向本網段轉發配置消息的埠時指定埠。
埠優先級默認為128,當優先級越大(數值越小)越容易選舉為指定埠;在選擇指定埠時,兩個埠的根路徑開銷和發送BPDU交換機的BID相同時,PID小的埠為指定埠。
一旦根橋、根埠、指定埠選舉成功,則整個網絡樹形拓撲建立完成,在拓撲穩定後,只有根埠與指定埠轉發流量,其他非根、非指定埠處於阻塞(blocking)狀態。
4、四個比較原則
1、最小BID:
用來選舉根橋。
Bid中橋優先級(數值越小)最高將成為根橋,橋優先級相同則比較MAC地址,MAC地址最小的成為根橋。
2、根路徑開銷:
用來選舉根埠。
當前設備到達根橋設備總路徑開銷值最小的埠選為根埠。
3、最小發送者BID:
用來在非根橋之間選舉指定橋和根埠。
如果兩個以上根路徑開銷相等,則選擇對方發送BPDU中BID最小的那個作為自己的指定橋,接收該BPDU的埠作為自己的根埠
4、最小PID:
用來選舉指定埠。
在根路徑開銷相同的情況下,阻塞PID值最大的埠,PID值最小的成為指定埠。
5、五種狀態
1、Forwarding(轉發狀態):
只有根埠或指定埠才能進入轉發狀態(轉發用戶流量和BPDU報文)。
2、Learning (學習狀態):
根據收到的用戶流量創建MAC地址表,不轉發流量,是一種過渡狀態,是為了防止臨時二層環路。
3、listening (監聽狀態):
正在確定埠角色,選出根橋、根埠、指定埠。
4、Blocking (阻塞狀態):
此時埠僅接收並處理BPDU報文,不轉發用戶流量。
5、Disabled (禁用狀態):
此時埠不能轉發BPDU報文,也不用轉發流量。
4、STP的三個定時器
1、Hello time(hello定時器):
發送配置BPDU的時間間隔。主要是確認鏈路是否存在故障。
當網絡拓撲穩定後,該定時器的修改只有在根橋修改後才會生效。根橋會在發出的BPDU報文中填充適當的欄位向其它非跟前通知定時器修改的信息。
2、forward delay(轉發延時):
設備進行狀態變更的延遲時間,即埠處於listening和learning狀態各自持續時間(默認各自15S)。當出現鏈路
故障後,新選舉出的根埠和指定埠要等待2倍的forward delay後才進入轉發狀態,以避免環路的產生。
3、Max age(最大生存時間):
指埠BPDU報文老化時間。可在根橋上設置。
在stp網絡中非根橋設備收到配置BPDU報文後,會對報文中的message age (消息生存時間)和max age 進行
比較:如果message age 小於max age,則非根橋設備繼續轉發BPDU報文;如果message age大於max age,則BPDU
報文老化,非根橋設備認為網絡直徑過大,直接丟棄該BPDU,導致根橋連接失敗。
實際實現中,配置BPDU報文每經過一個橋,message age 增加1。
5、STP BPDU報文
STP採用的是BPDU(bridge protocol data unit 橋協議數據單元)類型報文,也稱配置消息。Stp通過在設備之間傳
遞BPDU來確定最終修剪完成的網絡拓撲結構。
STP BPDU報文分為兩大類:
1、配置BPDU(configuration BPDU):
是一種心跳報文:就是定時發送一個自定義的結構體(心跳包或心跳幀),讓對方知道自己「在線」。以確保連結的有效性。
用來進行生成樹計算和維護生成樹拓撲的報文。當網絡拓撲穩穩定後只有根橋發送配置BPDU報文,其它橋在收到上遊傳來的配置BPDU後才觸發發送自己的配置BPDU
2、TCN BPDU(topology change notification BPDU 拓撲變化通知BPDU):
當拓撲結構發生變化時,下遊設備用來通知上遊設備網絡拓撲結構發生變化的報文。
BPDU優先級:
當同一橋收到不同配置的BPDU時,優先級高的BPDU將被採用,其他的被丟棄。
6、STP 的不足
網絡收斂慢:
任何埠從阻塞到轉發狀態至少需要兩倍轉發延時(30S以上);沒有細分埠狀態和埠角色,埠之間最本質
的區別並不在於埠狀態,而在於埠扮演的角色;
STP採用被動算法,依賴定時器;
拓撲穩定後,只有根橋發送BPDU報文,其他橋只有被動轉發,直到傳遍整個網絡。
,