STP(生成樹協定)

STP(生成樹協定)

STP(Spanning Tree Protocol)是生成樹協定的英文縮寫。該協定可套用於在網路中建立樹形拓撲,消除網路中的二層環路,並且可以通過一定的方法實現路徑冗餘,但不是一定可以實現路徑冗餘。生成樹協定適合所有廠商的網路設備,在配置上和體現功能強度上有所差別,但是在原理和套用效果是一致的。

基本介紹

技術原理,功能介紹,VLAN影響,協定不足,運行過程,根連線埠依據,指定連線埠依據,連線埠狀態,STP潛在故障,

技術原理

STP的基本原理是,通過在交換機之間傳遞一種特殊的協定報文網橋協定數據單元(Bridge Protocol Data Unit,簡稱BPDU),來確定網路的拓撲結構。BPDU有兩種,配置BPDU(Configuration BPDU)和TCN BPDU。前者是用於計算無環的生成樹的,後者則是用於在二層網路拓撲發生變化時產生用來縮短MAC表項的刷新時間的(由默認的300s縮短為15s)。
Spanning Tree Protocol(STP)在IEEE802.1D文檔中定義。該協定的原理是按照樹的結構來構造網路拓撲,消除網路中的環路,避免由於環路的存在而造成廣播風暴問題。
Spanning Tree Protocol(STP)的基本思想就是按照"樹"的結構構造網路的拓撲結構,樹的根是一個稱為根橋的橋設備,根橋的確立是由交換機或網橋的BID(Bridge ID)確定的,BID最小的設備成為二層網路中的根橋。BID又是由網橋優先權和MAC地址構成,不同廠商的設備的網橋優先權的位元組個數可能不同。由根橋開始,逐級形成一棵樹,根橋定時傳送配置BPDU,非根橋接收配置BPDU,刷新最佳BPDU並轉發。這裡的最佳BPDU指的是當前根橋所傳送的BPDU。如果接收到了下級BPDU(新接入的設備會傳送BPDU,但該設備的BID比當前根橋大),接收到該下級BPDU的設備將會向新接入的設備傳送自己存儲的最佳BPDU,以告知其當前網路中根橋;如果接收到的BPDU更優,將會重新計算生成樹拓撲。當非根橋在離上一次接收到最佳BPDU最長壽命(Max Age,默認20s)後還沒有接收到最佳BPDU的時候,該連線埠將進入監聽狀態,該設備將產生TCN BPDU,並從根連線埠轉發出去,從指定連線埠接收到TCN BPDU的上級設備將傳送確認,然後再向上級設備傳送TCN BPDU,此過程持續到根橋為止,然後根橋在其後傳送的配置BPDU中將攜帶標記表明拓撲已發生變化,網路中的所有設備接收到後將MAC表項的刷新時間從300s縮短為15s。整個收斂的時間為50s左右。

功能介紹

生成樹協定最主要的套用是為了避免區域網路中的單點故障、網路迴環,解決成環乙太網網路的“廣播風暴”問題,從某種意義上說是一種網路保護技術,可以消除由於失誤或者意外帶來的循環連線。STP也提供了為網路提供備份連線的可能,可與SDH保護配合構成以太環網的雙重保護。新型以太單板支持符合IEEE 802.1d標準的生成樹協定STP及IEEE 802.1w規定的快速生成樹協定RSTP,收斂速度可達到1s。
但是,由於協定機制本身的局限,STP保護速度慢(即使是1s的收斂速度也無法滿足電信級的要求),如果在城域網內部運用STP技術,用戶網路的動盪會引起運營商網路的動盪。目前在MSTP 組成環網中,由於SDH保護倒換時間比STP協定收斂時間快的多,系統採用依然是SDH MS-SPRING或SNCP,一般倒換時間在50ms以內。但測試時部分乙太網業務的倒換時間為0或小於幾個毫秒,原因是內部具有較大快取。SDH保護倒換動作對MAC層是不可見的。這兩個層次的保護可以協調工作,設定一定的“拖延時間”(hold-off),一般不會出現多次倒換問題。

VLAN影響

L2,L3交換已經非常成熟。Internet中也越來越廣泛地套用了交換技術,全交換網路已經非常普遍。在這些網路中,VLAN的使用是必不可少的。
VLAN是一個根據作用、計畫組、套用等進行邏輯劃分的交換式網路。與用戶的物理位置沒有關係。舉個例子來說,幾個終端可能被組成一個部分,可能包括工程師或財務人員。當終端的實際物理位置比較相近,可以組成一個區域網路(LAN)。如果他們在不同的建築物中,就可以通過VLAN將他們聚合在一起。同一個VLAN中的連線埠可以接受VLAN中的廣播包。但別的VLAN中的連線埠卻接受不到。
1、網路容錯能力不強;
2、報文在環路網路中容易增生和無限循環;
3、不利在VLAN中實現流量負載均衡
生成樹協定運行生成樹算法(STA).生成樹算法很複雜,但是其過程可以歸納為以下3個步驟:
(1)選擇根網橋
(2)選擇根連線埠
(3)選擇指定連線埠
關於選擇根網橋:選擇根網橋的依據是網橋ID,網橋ID由網橋優先權和網橋MAC地址組成。網橋的默認優先權是32768.使用show mac-address-table時,顯示在最前面的MAC地址就是計算時所使用的MAC地址。網橋ID值小的為根網橋,當優先權相同時,MAC地址小的為根網橋。
關於選擇根連線埠:每個非根交換機選擇一個根連線埠。選擇順序為:到根網橋最低的根路徑成本→傳送BPDU的網橋ID較小→連線埠ID較小的。連線埠ID由連線埠優先權與連線埠編號組成。默認的連線埠優先權為128。
關於選擇指定連線埠:每個網段上選擇一個指定連線埠。選擇順序為:根路徑成本較低→傳送BPDU的交換機的網橋ID值較小→本連線埠的ID值較小。另外,根網橋的接口皆為指定連線埠,因為根網橋上連線埠的根路徑成本為0。

協定不足

1、拓撲收斂慢,當網路拓撲發生改變的時候,生成樹協定需要50-52秒的時間才能完成拓撲收斂。
2、不能提供負載均衡的功能。當網路中出現環路的時候,生成樹協定簡單的將環路進行Block,這樣該鏈路就不能進行數據包的轉發,浪費網路資源。

運行過程

生成樹協定運行生成樹算法(STA)。生成樹算法很複雜,但是其過程可以歸納為以下三個部分。
(1)選擇根網橋
(2)選擇根連線埠
(3)選擇指定連線埠(也有書籍稱為轉發連線埠)
選擇根網橋的依據是交換機的網橋優先權,網橋優先權是用來衡量網橋在生成樹算法中優先權的十進制數,取值範圍是0~65535.默認值是32768,網橋ID=網橋優先權+網橋MAC地址組成的,共有8個位元組。由於交換機的網橋優先權都是默認,所以在根網橋的選舉中比較的一般是網卡MAC地址的大小,選取MAC地址小的為根網橋。

根連線埠依據

(1)到根網橋路徑開銷最低。
根路徑開銷是兩個網橋間的路徑上所有鏈路的開銷之和,也就是某個橋網到達根網橋的中間所有鏈路的路徑開銷之和。
附IEEE標準路徑開銷表:
鏈路速度
開銷(最新修訂)
開銷(以前)
10Gbps
2
1
1Gbps
4
1
100Mbps
19
10
10Mbps
100
100
(2)最低的傳送方網橋ID。
(3)最低的連線埠ID。
由於連線埠的ID是由優先權和連線埠號組成,保證了根連線埠的唯一性。

指定連線埠依據

(1)根路徑開銷較低
(2)所在的交換機網橋ID值最小
(3)連線埠號最小
註:根橋上的所有連線埠都是指定連線埠

連線埠狀態

Blocking(阻塞狀態):此時,二層連線埠為非指定連線埠,也不會參與數據幀的轉發。該連線埠通過接收BPDU來判斷根交換機的位置和根ID,以及在STP拓撲收斂結束之後,各交換機連線埠應該處於什麼狀態,在默認情況下,連線埠會在這種狀態下停留20秒鐘時間。
Listening(偵聽狀態):生成樹此時已經根據交換機所接收到的BPDU而判斷出了這個連線埠應該參與數據幀的轉發。於是交換機連線埠就將不再滿足於接收BPDU,而同時也開始傳送自己的BPDU,並以此通告鄰接的交換機該連線埠會在活動拓撲中參與轉發數據幀的工作。在默認情況下,該連線埠會在這種狀態下停留15秒鐘的時間。
Learning(學習狀態):這個二層連線埠準備參與數據幀的轉發,並開始填寫MAC表。在默認情況下,連線埠會在這種狀態下停留15秒鐘時間。
Forwarding(轉髮狀態):這個二層連線埠已經成為了活動拓撲的一個組成部分,它會轉發數據幀,並同時收發BPDU。
Disabled(禁用狀態):這個二層連線埠不會參與生成樹,也不會轉發數據幀。

STP潛在故障

雙工不匹配:在點到點鏈路上,雙工不匹配是一種常見的配置錯誤。當鏈路的一段採用手工的方式配置為了全雙工模式,而另一側卻使用自動協商的默認配置的時候,那么就可能發生雙工不匹配的情況。
單向鏈路失效:單向鏈路是產生橋接環路的一個非常常見的原因。如果光纖鏈路存在沒有檢測出來的故障或收發器故障,通常導致單向鏈路。在啟用STP來提供網路冗餘的情況下,對於兩個鏈路夥伴之間所連線的物理鏈路,如果由於某種原因導致這條鏈路工作在單向通信的狀態下,那么就可能導致橋接環路或路由選擇黑洞,進而對維護網路穩定非常有害。
幀破壞:幀破壞是導致STP故障的另外一種原因。如果接口正在經受高速的物理錯誤,其結果有可能就會導致BPDU丟失,而這會使處於阻塞狀態的接口過渡到轉髮狀態。雖然如此,但因為STP默認參數是非常保守的,所以很少會發生上述情況。
資源錯誤:即使在通過專門的ASIC硬體執行大部分交換功能的高端交換機中,STP仍然由CPU來執行。這就意味著:如果處於某種原因而過度使用了網橋的CPU,那么就可能導致CPU沒有足夠的資源來發出BPDU。通常情況下,STP不是一種密集調用處理器的套用,而且STP的優先權高於其他進程。因此,出現資源問題的可能性並不大。
PortFast配置錯誤:如果管理員在連線埠上啟用了PortFast特性,那么當鏈路啟動的時候,連線埠就會繞過STP的監聽和學習狀態,並且直接過渡到轉髮狀態。但是如果在錯誤的連線埠上配置了PortFast特性,那么這種快速過渡就有可能導致橋接環路。

相關詞條

熱門詞條

聯絡我們