1. 程式人生 > >STP生成樹 概述

STP生成樹 概述

stp 交換機

為防止二層單點故障,采用冗余的交換機,但是,冗余會產生環路,導致廣播風暴、mac-address-table不穩定,多幀復制等一系列問題。所以救世主STP來了。

  1. 選舉root bridge
  2. 選舉root port
  3. 選舉指定端口
  4. 最後為阻塞端口



選舉 root bridge:
最初所有的交換機都想成為root bridge, 都會發送BPDU宣稱自己是root bridge, 有發送BPDU就會收到別的交換機發的BPDU, 交換機根據接收到的BPDU中的bridge-id 與自己的bridge-id比較, 最小的為root bridge 。
bridge-id 組成:優先級+物理地址

選舉 root port:
此時根橋已經選舉完成了,只有root bridge可以發送BPDU,所以交換機根據接收到的BPDU 中的Root Path Cost值,比較值的大小,小的會成為root port(是從交換機本身的各個接收BPDU的端口中選舉root port ,與其他交換機沒關系 )。
註:Path Cost:根橋發出的COST值是0,在下一交換機的入口處才加上COST值,出口處COST值不變。交換機接收BPDU時開銷值增加,發送BPDU時開銷值不變;
選舉根端口,比較接收的BPDU 。

選舉 指定端口:
選舉完root port後,就還剩下到目前為止還沒有名字的port了,選舉指定端口,比較端口轉發BPDU時的Root Path Cost , 小的為指定端口。(看下面引用的案例最好理解,在不同交換機之間端口產生 指定端口)
註:選舉指定端口,比較發送的BPDU

阻塞端口:
不是root port , 不是指定端口的就是 阻塞端口了。


端口角色:
技術分享圖片


1、blocking--阻塞狀態,不轉發數據幀,監聽流入的BPDU,不學習MAC地址
2、listening--監聽狀態,不轉發數據幀,不學習MAC地址,能夠決定端口角色
3、learning--學習狀態,不轉數據發幀,能學習MAC地址
4、forwarding--轉發狀態,能夠進行正常的幀轉發
5、disable--該端口沒有運行STP

當拓撲發生變化時,端口從阻塞狀態過渡到正常轉發狀態的時間是30-50S
①   如果是直連接口down掉,端口狀態過渡最大需要30S
【直連端口掛了,可以感知到出現問題了,所以不用20s的等待來判斷是否出問題了】
②   如果是非直連故障,最大需要50S

<BPDU Timer>
三個計時器:
?Message Age:最大存活時間(20S)
 Hello Time:根橋連續發送BPDU的間隔(2S)
 Forward Time:SW在監聽和學習狀態所停留的時間(15S)

參考鏈接:http://www.360doc.com/content/13/0330/14/8797027_274883365.shtml


BPUD的封裝
技術分享圖片
技術分享圖片


選舉實例:
技術分享圖片

①選舉根橋(Root Bridge)。優先級一樣,比較MAC地址,SW1為根橋。
②選舉每臺非根橋交換機上的根端口(Root Port),比較接收到的BPDU(BPDU由根橋發出,即SW1發出):
SW2:從f0端口收到的BPDU代價為19;從f1端口收到的BPDU代價為19+4+19=42;因此f0端口為根端口。
SW3:從g0端口收到的BPDU代價為19+19=38;從g1端口收到的BPDU代價為19+4=23;因此g1端口為根端口。
SW4:從g0端口收到的BPDU代價為19;從g1端口收到的BPDU代價為19+19+4=42;因此g0端口為根端口。
③選舉每個網段上的指定端口(Designated Port),比較發出的BPDU:
SW1-SW2網段:從SW1/f0口發出的BPDU代價為0;從SW2/f0口發出的BPDU代價為19+4+19=42;因此SW1/f0口為指定端口。
SW1-SW4網段:從SW1/f1口發出的BPDU代價為0;從SW4/g0口發出的BPDU代價為19+19+4=42;因此SW1/f1口為指定端口。
SW3-SW4網段:從SW3/g1口發出的BPDU代價為19+19=38;從SW4/g1口發出的BPDU代價為19;因此SW4/g1口為指定端口。
SW2-SW3網段:從SW2/f1口發出的BPDU代價為19;從SW3/g0口發出的BPDU代價為19+4=23;因此SW2/f1口為指定端口。
④非根端口,非指定端口即為阻塞端口(Block Port),即SW3/g0口為阻塞端口。

參考鏈接:http://www.slyar.com/blog/stp-port-election.html

STP生成樹 概述