STP——生成樹協議

STP——生成樹協議

STP--spanning tree protocol--生成樹協議,是IEEE定義的一個802.1d標準,用於解決交換機中得人一系列環路問題。

爲什麼要使用STP?
在大型的網絡當中,爲了避免單點故障和實現網絡的高可用性以及負載均衡,通常會在兩臺交換機之間以網線相連,形成冗餘的鏈路環境。但是冗餘的鏈路環境爲形成環路,會對整個網絡中的資源消耗和設備損耗造成很大的負擔。所以提出了STP來解決這一系列問題。

冗餘的鏈路會引發什麼問題?
①會形成廣播風暴(環路)
②幀的多個副本
③造成MAC地址表的不穩定

交換機之間一開始互相發送BPDU,類似於OSPF的hello包
BPDU:網橋協議數據單元 每隔2s發送一次。

幾個參數:
①橋ID:優先級+背板MAC地址 優先級默認是32768
②自己認爲到到達根橋的開銷
③自己認爲根橋的ID

生成樹的開銷:是通過鏈路速度來衡量
10G=2 1G=4 100M=19 10M=100

背板MAC地址:每臺設備唯一,出廠前就記錄在設備上。
Switch#show version ——可以用來查看背板MAC地址

幾個重要角色和端口

根橋:二層網絡的一個核心,網絡中的阻塞端口是以根橋爲核心來進行選舉的。(是在交換機之間進行選舉的)
注意:是通過選舉得到,在網絡一開始的時候,所有的交換機都認爲自己是根橋,都會向網路中發送BPDU,並且都會接收到對方發送的BPDU。此時,雙方就會進行相應參數的對比,選擇出網絡中的根橋。
一旦網絡中選舉出新的根橋,那麼整個網絡中就只有根橋會發送BPDU,其他交換機只能轉發來自根橋的BPDU
選舉規則:
①首先比較優先級大小,優先級小的成爲根橋。
②如果優先級一致,就比較背板MAC地址的大小,同樣是越小越好

指定端口:在網絡中的每條鏈路上都需要選舉出一個指定端口。指定端口到達根橋的開銷一定是最小,指定端口對應的橋ID一定最小。(注意:根橋上的所有端口都是指定端口)
作用:用於發送BPDU和轉發來自根橋的BPDU
選舉規則:
①到達根橋的開銷最小
②橋ID越小越優
③端口ID,同樣是越小越好

端口ID:端口優先級+端口號(默認的端口優先級是128)
e0/0 128.5
e0/1 128.6
f0/0 128.3
f0/1 128.4
g0/0 128.1
g0/1 128.2

根端口:一臺交換機上只有一個根端口,根端口到達根橋的開銷 一定是最小的。所以根端口到達根橋的路徑一定是最優路徑。
作用:接收來自根橋的BPDU
選舉規則
①到達根橋的開銷最小
②橋ID越小越優
③端口ID,同樣是越小越好

阻塞端口:邏輯的阻塞一個端口,該端口並不是真正的關閉,一旦最優路徑出現故障後,阻塞端口就會自動開啓。

Switch#show spanning-tree——查看STP生成樹

生成樹的端口狀態:
①阻塞狀態:處於阻塞狀態的端口,不會轉發來自根橋的BPDU,但是會接收BPDU,以此來避免環路。
最大老化時間:20s,網絡中的BPDU每隔兩秒發送一次,同樣的阻塞端口也是每隔2秒接受一次BPDU,如果阻塞端口在20s內沒有接收到BPDU的話,那麼就會跳出阻塞狀態,進入偵聽狀態。

②偵聽狀態:處於偵聽狀態的接口,會偵聽網絡中的BPDU,並且進行MAC地址的學習。
最大轉發延遲時間:15s,15s內沒有接收到來自對方的BPDU,就會跳出偵聽狀態,進入學習狀態。

③學習狀態:處於學習狀態的接口,會進行MAC地址的學習,並且準備轉發數據幀。
最大轉發延遲時間:15s,15s內沒有接收到來自對方的BPDU,就會跳出學習狀態,進入轉發狀態。

④轉發狀態:已經進行了MAC地址的學習,並且開始轉發數據。

注意:端口從阻塞狀態到達正常轉發數據的學習狀態需要多久---30-50s
①如果出現問題端口是在本臺設備上:30s
②如果出現問題端口不再本臺設備上:50s

Portfast--快速端口
在網絡中,交換機和PC等終端設備相連的接口,由於不需要進行冗餘備份處理,所以不會產生環路問題,因此一般情況下,取消交換機之間端口切換的50s時間,此時就可以通過配置快速端口來實現。
注意:快速端口只能使用在交換和pc等終端設備的接口上,並且快速端口默認情況下只能配置在access口,不能配置在trunk口。
①將某一個接口配置成快速端口

Switch(config)#int f0/4--
Switch(config-if)#spanning-tree portfast 

②同時將多個接口配置成快速的端口

Switch(config)#in range f0/1-3
Switch(config-if-range)#spanning-tree portfast

③將交換機上的所有接口都配置成快速端口

Switch(config)#spanning-tree portfast default 

④在某些特殊情況下,需要將trunk配置成快速端口

Switch(config-if)#spanning-tree portfast trunk 

PVST--per-VLAN spanning tree
在網絡中,可以針對某一個特定的vlan,設置一個特定根橋
①通過更改優先級來選舉成爲根橋,如果網絡中加入優先級更高級別發,會被搶奪根橋地位。

Switch(config)#spanning-tree vlan 10 priority  28672

②直接指定

Switch(config)#spanning-tree vlan 10 root primary --

使得vlan成爲絕對根橋,不會隨着網絡拓撲的變化而發生改變

Switch(config)#spanning-tree vlan 10 root secondary --成爲絕對的備份根橋


快速生成樹:

傳統的生成樹雖然能夠解決冗餘鏈路所帶來的的環路問題,但是傳統生成樹的作用是基於4個狀態和時間的,這樣所需要的時間比較久。但是快速生成樹完全避免了這一個問題。
端口角色:指定端口、根端口、替換端口
端口作用:發送、接收、丟棄

STP——生成樹協議

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