stp生成树协议的学习----华三技术白皮书
產生背景
在二層交換網絡中,一旦存在環路就會造成報文在環路內不斷循環和增生,產生廣播風暴,從而占用所有的有效帶寬,使網絡變得不可用。在這種環境下生成樹協議應運而生,生成樹協議是一種二層管理協議,它通過有選擇性地阻塞網絡冗余鏈路來達到消除網絡二層環路的目的,同時具備鏈路的備份功能。生成樹協議和其他協議一樣,是隨著網絡的不斷發展而不斷更新換代的。最初被廣泛應用的是IEEE 802.1D-1998 STP(Spanning Tree Protocol,生成樹協議),隨后以它為基礎產生了IEEE 802.1w RSTP(Rapid Spanning Tree Protocol,快速生成樹協議)、PVST(Per VLAN Spanning Tree,每VLAN生成樹)協議和IEEE 802.1s MSTP(Multiple Spanning Tree Protocol,多生成樹協議)。
一、stp
網絡的環路問題:一旦網絡形成環路,會產生廣播風暴而造成網絡阻塞。spanning tree protocol是國際標準技術協議,用來在二層網絡解決環路的問題。stp協議的國際標準是802.1d(1998),并且經過發展,逐漸產生RSTP、PVST、MSTP協議。
1、定義
stp協議的定義可以看成2個,一個是狹義的、一個是廣義的。廣義上stp是指stp協議組,包括STP、RSTP、PVST、MSTP協議;狹義上是指stp技術協議標準。本文中統一用后者來作為定義。stp采用的是自然樹的思想,因為樹不會有環路出現。
在學習stp離不開以下的概念:
根橋:(root bridge):優先級最高的交換機
根端口(root port):負責接收根橋方向數據的端口
指定端口(designed port):指定端口是根橋中負責向下發送數據的端口
路徑開銷(path cost):數據在路徑傳輸的過程中所有的損耗,不同的廠家計算的方法可能不同。下面應該會有提到。
Forward Delay:當拓撲發生變化,新的配置消息要經過一定的時延才能傳播到整個網絡,這個時延稱為Forward Delay,協議默認值是15秒。
2、實現
信息交互單元是bpdu(bridge protocol data unit)又稱配置單元,他是二層報文,目的多播地址為01-80-c2-00-00-00。所有支持stp網橋都會接收并處理收到的bpdu報文。
(1)根橋選舉是通過橋的橋id(優先級+mac)比較得到的,而且根橋的所有下游端口是指定端口。
(2)連接根橋的下游網橋將各自依據到根橋的路徑開銷來選擇一條鏈路作為到根橋的路徑,相應端口的角色就成為根端口。
(3)將根端口與指定端口連接起來就形成了生成樹,其他端口則處于阻塞狀態。
(4)生成經過計算后穩定,時間大概是30秒左右。端口的轉態分為轉發狀態和阻塞狀態,還有一個切換過渡的中間狀態。而且端口定時發送bpdu信號來維護生成樹。如果網絡拓撲發生變化,那么生成樹需要重新經過計算來生成。時間大概也是30秒。
摘要:“STP的工作過程是:首先進行根橋的選舉。選舉的依據是網橋優先級和網橋MAC地址組合成的橋ID,橋ID最小的網橋將成為網絡中的根橋,它的所有端口都連接到下游橋,所以端口角色都成為指定端口。接下來,連接根橋的下游網橋將各自選擇一條 “最粗壯”的樹枝作為到根橋的路徑,相應端口的角色就成為根端口。循環這個過程到網絡的邊緣,指定端口和根端口確定之后一棵樹就生成了。生成樹經過一段時間(默認值是30秒左右)穩定之后,指定端口和根端口進入轉發狀態,其他端口進入阻塞狀態。STP BPDU會定時從各個網橋的指定端口發出,以維護鏈路的狀態。如果網絡拓撲發生變化,生成樹就會重新計算,端口狀態也會隨之改變。這就是生成樹的基本原理。
隨著應用的深入和網絡技術的發展,STP的缺點在應用中也被暴露了出來。STP的缺陷主要表現在收斂速度上。
當拓撲發生變化,新的配置消息要經過一定的時延才能傳播到整個網絡,這個時延稱為Forward Delay,協議默認值是15秒。在所有網橋收到這個變化的消息之前,若舊拓撲結構中處于轉發的端口還沒有發現自己應該在新的拓撲中停止轉發,則可能存在臨時環路。為了解決臨時環路的問題,STP使用了一種定時器策略,即在端口從阻塞狀態到轉發狀態中間加上一個只學習MAC地址但不參與轉發的中間狀態,兩次狀態切換的時間長度都是Forward Delay,這樣就可以保證在拓撲變化的時候不會產生臨時環路。但是,這個看似良好的解決方案實際上帶來的卻是至少兩倍Forward Delay的收斂時間,這在某些實時業務(如語音視頻)中是不能接受的。”
4、缺陷
(1)stp的收斂速度較慢。一般的forward delay協議(端口的轉態轉換時間),默認為15秒。在計算生成樹的時間是15s,拓撲發生變化的重新生成樹時間也是30s,因為端口狀態的一次轉換為forward delay,端口的變化過程是“阻塞-->中間-->轉發”或“轉發-->中間-->阻塞”,發生了兩次的端口狀態變化。 協議的收斂時間不合適延時低的業務,如語音和視頻;如果是大型網絡,拓撲可能頻繁變化,重新生成stp,造成計算資源的浪費。
(2)stp采用阻塞端口的方式來解決環路問題,對網絡資源造成了浪費。
二、RSTP
為了解決STP的收斂速度缺陷,2001年IEEE定義了基于IEEE 802.1w(已經合入IEEE 802.1D-2004)標準的快速生成樹協議RSTP。RSTP在STP基礎上做了三點重要改進,加快了收斂速度(最快可在1秒以內):
(1) 為根端口和指定端口設置了快速切換用的替換端口(Alternate Port)和備份端口(Backup Port)兩種角色。當根端口失效的情況下,替換端口就會快速轉換為新的根端口并無時延地進入轉發狀態;當指定端口失效的情況下,備份端口就會快速轉換為新的指定端口并進入轉發狀態。
(2)在只連接了兩個交換端口的點對點鏈路中,指定端口只需與下游網橋進行一次握手就可以無時延地進入轉發狀態。如果是連接了三個以上網橋的共享鏈路,下游網橋是不會響應上游指定端口發出的握手請求的,只能等待兩倍Forward Delay時間進入轉發狀態。
(3)直接與終端相連而不與其他網橋相連的端口定義為邊緣端口(Edge Port)。邊緣端口可以直接進入轉發狀態,不需要任何延時。由于網橋無法知道端口是否是直接與終端相連,所以需要人工配置。
RSTP相對于STP的確有很多改進,并且向下兼容STP,可以混合組網。但是,RSTP和STP一樣同屬于SST(Single Spanning Tree,單生成樹),有它自身的諸多缺陷,主要表現在三個方面:
(1) 由于整個交換網絡只有一棵生成樹,在網絡規模比較大的時候會導致較長的收斂時間。
(2)因為RSTP是單生成樹協議,所有VLAN共享一棵生成樹,為了保證VLAN內部可以正常通信,網絡內每個VLAN都必須沿著生成樹的路徑方向連續分布,否則將會出現有的VLAN由于內部鏈路被阻塞而被分隔開,從而導致VLAN內部無法通信的問題。
(3)當某條鏈路被阻塞后將不承載任何流量,無法實現負載均衡,造成了帶寬的極大浪費。這些缺陷都是單生成樹無法克服的,于是支持VLAN的PVST和MSTP出現了。
vlan的問題???
三、PVST
在每個VLAN中生成一棵樹,是一種直接簡單的解決RSTP缺陷的方法。基于此思想,PVST協議應運而生,它能夠保證每一個VLAN都不存在環路。
PVST協議可以簡單理解為在每個VLAN上運行一個RSTP,不同VLAN之間的生成樹完全獨立。根據端口類型的不同,PVST收發的BPDU的格式也有所不同:
對于Access端口,PVST協議收發標準的RSTP BPDU。
對于Trunk和Hybrid端口,在所有允許通過的VLAN內收發各自的PVST BPDU,同時在其中的VLAN 1內收發標準的RSTP BPDU。
PVST BPDU 和RSTP BPD的內容相同,僅以太網的封裝格式不同。 PVST協議在VLAN間實現了數據的負載均衡,有效地提高了鏈路帶寬的利用率,同時也帶來了新問題,主要有以下缺點:
(1) 由于每個VLAN都需要生成一棵樹,PVST BPDU的通信量將正比于Trunk端口允許通過的VLAN數量。
(2) 在VLAN數量比較多時,維護多棵生成樹的計算量和資源占用量將急劇增長。特別是當允許通過很多VLAN的Trunk端口狀態變化時,所有生成樹的狀態都要重新計算,網絡設備的CPU將不堪重負。
上述缺點限制了運行PVST的VLAN端口數量,對PVST的部署產生較大影響,這些缺點在MSTP中得到了解決。
1.2 MSTP技術優點
MSTP是IEEE 802.1s(已經合入IEEE 802.1Q-2011)中定義的一種新型生成樹協議,相對于之前的生成樹協議,優勢非常明顯。MSTP的特點如下:
MSTP引入“域”的概念,把一個交換網絡劃分成多個域。每個域內形成多棵生成樹,生成樹之間彼此獨立;在域間,MSTP利用CIST保證全網絡拓撲結構的無環路存在。
MSTP引入“實例(Instance)”的概念,將多個VLAN映射到一個實例中,以節省通信開銷和資源占用率。MSTP各個實例拓撲的計算是獨立的(每個實例對應一棵單獨的生成樹),在這些實例上就可以實現VLAN數據的負載分擔。
PVST最多支持 4096個VLAN,而MSTP最多可支持65個實例,因此其所需資源和計算量都大大降低。
MSTP BPDU中包含所有實例的信息,因此MSTP相比于PVST,報文數量大大降低。
MSTP可以實現類似RSTP的端口狀態快速遷移機制。
MSTP兼容STP和RSTP。
參考:華三生成樹協議技術白皮書
預則立,不預則廢
總結
以上是生活随笔為你收集整理的stp生成树协议的学习----华三技术白皮书的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 403 forbidden怎么解决?
- 下一篇: POJ 3241Object Clust