stp(spanning tree protocol)生成樹協議
是一種二層管理協議
,它通過有選擇性地阻塞網路
冗餘鏈路來達到消除網路
二層環路的目的,同時具備鏈路的備份功能。
生成樹協議和其他協議一樣,是隨著網路的不斷發展而不斷更新換代的。「生成樹協議」是乙個廣義的概念,並不是特指ieee 802.1d中定義的stp協議,而是包括stp以及各種在stp基礎上經過改進了的生成樹協議。
stp/rstp
在網路發展初期,透明網橋的運用。它比只會放大和廣播訊號的集線器聰明得多。它的學習能力是把發向它的資料幀的源mac位址和埠號記錄下來,下次碰到這個目的mac位址的報文就只從記錄中的埠號傳送出去,除非目的mac位址沒有記錄在案或者目的mac位址本身就是多播位址才會向所有埠傳送。通過透明網橋,不同的區域網之間可以實現互通,網路可操作的範圍得以擴大,而且由於透明網橋具備mac位址學習功能而不會像hub那樣造成網路報文衝撞氾濫。
透明網橋也有它的缺陷,它的缺陷就在於它的透明傳輸。透明網橋並不能像路由器那樣知道報文可以經過多少次**,一旦網路存在環路就會造成報文在環路內不斷迴圈和增生,出現廣播風暴。
為了解決這一問題,後來提出了stp生成樹協議。 中國網管聯盟www.bitscn.com
stp協議中定義了根橋(rootbridge)、根埠(rootport)、指定埠(designatedport)、路徑開銷(pathcost)等概念,目的就在於通過構造一棵自然樹的方法達到裁剪冗餘環路的目的,同時實現鏈路備份和路徑最優化。用於構造這棵樹的演算法稱為生成樹演算法spa(spanning treealgorithm)。
要實現這些功能,網橋之間必須要進行一些資訊的交流,這些資訊交流單元就稱為配置訊息bpdu(bridgeprotocol data unit)。stp bpdu是一種二層報文,目的mac是多播位址01-80-c2-00-00-00,所有支援stp協議的網橋都會接收並處理收到的bpdu報文。該報文的資料區里攜帶了用於生成樹計算的所有有用資訊。
生成樹協議的工作過程:
中國網管聯盟www_bitscn_com
1)首先進行根橋的選舉。選舉的依據是網橋優先順序和網橋mac位址組合成的橋id(bridge id),橋id最小的網橋將成為網路中的根橋。在網橋優先順序都一樣(預設優先順序是32768)的情況下,mac位址最小的網橋成為根橋。
2)接下來,確定根埠,根據與根橋連線路徑開銷最少的埠為根埠,路徑開銷等於『1000』除於『傳輸介質的速率』假設中sw1和跟橋之間的鏈路是千兆ge鏈路,跟橋和sw3之間的鏈路是百兆fe鏈路,sw3從埠1到根橋的路徑開銷的預設值是19,而從埠2經過sw1到根橋的路徑開銷是4+4=8,所以埠2成為根埠,進入**狀態。
3)根橋和根埠都確定之後然後是裁剪冗餘的環路。這個工作是通過阻塞非根橋上相應埠來實現的。
生成樹經過一段時間(預設值是30秒左右)穩定之後,所有埠要麼進入**狀態,要麼進入阻塞狀態。stpbpdu仍然會定時從各個網橋的指定埠發出,以維護鏈路的狀態。如果網路拓撲發生變化,生成樹就會重新計算,埠狀態也會隨之改變。
當然生成樹協議還有很多內容,其他各種改進型的生成樹協議都是以此為基礎的,基本思想和概念都大同小異。
stp協議給透明網橋帶來了新生。但是它還是有缺點的,stp協議的缺陷主要表現在收斂速度上。
當拓撲發生變化,新的配置訊息要經過一定的時延才能傳播到整個網路,這個時延稱為forward delay,協議預設值是15秒。在所有網橋收到這個變化的訊息之前,若舊拓撲結構中處於**的埠還沒有發現自己應該在新的拓撲中停止**,則可能存在臨時環路。為了解決臨時環路的問題,生成樹使用了一種定時器策略,即在埠從阻塞狀態到**狀態中間加上乙個只學習mac位址但不參與**的中間狀態,兩次狀態切換的時間長度都是forward delay,這樣就可以保證在拓撲變化的時候不會產生臨時環路。但是,這個看似良好的解決方案實際上帶來的卻是至少兩倍forward delay的收斂時間!
為了解決stp協議的這個缺陷,在世紀之初ieee推出了802.1w標準,作為對802.1d標準的補充。在ieee 802.1w標準裡定義了快速生成樹協議rstp(rapid spanning tree protocol)。rstp協議在stp協議基礎上做了三點重要改進,使得收斂速度快得多(最快1秒以內)。
第一點改進:為根埠和指定埠設定了快速切換用的替換埠(alternate port)和備份埠(backup port)兩種角色,當根埠/指定埠失效的情況下,替換埠/備份埠就會無時延地進入**狀態。 網管網bitscn.com
第二點改進:在只連線了兩個交換埠的點對點鏈路中,指定埠只需與下游網橋進行一次握手就可以無時延地進入**狀態。如果是連線了三個以上網橋的共享鏈路,下游網橋是不會響應上游指定埠發出的握手請求的,只能等待兩倍forward delay時間進入**狀態。 feedom.net
第三點改進:直接與終端相連而不是把其他網橋相連的埠定義為邊緣埠(edge port)。邊緣埠可以直接進入**狀態,不需要任何延時。由於網橋無法知道埠是否是直接與終端相連,所以需要人工配置。
可見,rstp協議相對於stp協議的確改進了很多。為了支援這些改進,bpdu的格式做了一些修改,但rstp協議仍然向下相容stp協議,可以混合組網。雖然如此,rstp和stp一樣同屬於單生成樹。
生成樹協議(STP RSTP)
在第二層上的交換有三種功能,即位址學習 過濾決策 環路避免。為了保證冗餘會在交換機之間建立多重連線,網路就很有可能出現環路,進而會引發廣播風暴。這裡就需要用到生成樹協議來避免環路了。生成樹協議的主要任務就是防止第二層網路出現網路環路。stp首先使用生成樹演算法建立乙個拓撲資料庫,並暫時關閉冗餘鏈路,...
Cisco 生成樹協議STP RSTP
1.技術原理 stp的基本思想就是生成 一棵樹 樹的根是乙個稱為根橋的交換機,根據設定不同,不同的交換機會被選為根橋,但任意時刻只能有乙個根橋。由 根橋開 始,逐級形成一棵樹,根橋定時傳送配置報文,非根橋接收配置報文並 如果某台交換機能夠從兩個以上的埠接收到配置報文,則說明從該交換機到根有不止 一條...
生成樹協議
spanning tree mode pvst spanning tree extend system id spanning tree backbonefast 以下兩條配置是通過為該交換機針對不同vlan設定不同的優先順序來實現該交換機擔當vlan 10 30 100的根交換機,擔當vlan 2...