PVST+,MST

PVST+,MST

2010/3/10 12:17:31
在IEEE 802.1w標準裏定義了快速生成樹協議RSTP(Rapid Spanning Tree Protocol)。RSTP協議在STP協議基礎上做了三點重要改進,使得收斂速度快得多(最快1秒以內)。
第一點改進:爲根端口和指定端口設置了快速切換用的替換端口(Alternate Port)和備份端口(Backup Port)兩種角色,當根端口/指定端口失效的情況下,替換端口/備份端口就會無時延地進入轉發狀態。無需等待兩倍Forward Delay時間

第二點改進:在只連接了兩個交換端口的點對點鏈路中,指定端口只需與下游網橋進行一次握手就可以無時延地進入轉發狀態。如果是連接了三個以上網橋的共享鏈路,下游網橋是不會響應上游指定端口發出的握手請求的,只能等待兩倍Forward Delay時間進入轉發狀態。

第三點改進:直接與終端相連而不是把其他網橋相連的端口定義爲邊緣端口(Edge Port)。邊緣端口可以直接進入轉發狀態,不需要任何延時。由於網橋無法知道端口是否是直接與終端相連,所以需要人工配置。

可見,RSTP協議相對於STP協議的確改進了很多。爲了支持這些改進,BPDU的格式做了一些修改,但RSTP協議仍然向下兼容STP協議,可以混合組網。雖然如此,RSTP和STP一樣同屬於單生成樹SST(Single Spanning Tree),有它自身的諸多缺陷,主要表現在三個方面。

第一點缺陷:由於整個交換網絡只有一棵生成樹,在網絡規模比較大的時候會導致較長的收斂時間,拓撲改變的影響面也較大。

第二點缺陷:近些年IEEE 802.1Q大行其道,逐漸成爲交換機的標準協議。在網絡結構對稱的情況下,單生成樹也沒什麼大礙。但是,在網絡結構不對稱的時候,單生成樹就會影響網絡的連通性。

第三點缺陷:當鏈路被阻塞後將不承載任何流量,造成了帶寬的極大浪費,這在環行城域網的情況下比較明顯。

這些缺陷都是單生成樹SST無法克服的,於是支持VLAN的多生成樹協議出現了。


PVST/PVST+

每個VLAN都生成一棵樹是一種比較直接,而且最簡單的解決方法。它能夠保證每一個VLAN都不存在環路。但是由於種種原因,以這種方式工作的生成樹協議並沒有形成標準,而是各個廠商各有一套,尤其是以Cisco的VLAN生成樹PVST(Per VLAN Spanning Tree)爲代表。

爲了攜帶更多的信息,PVST BPDU的格式和STP/RSTP BPDU格式已經不一樣,發送的目的地址也改成了Cisco保留地址01-00-0C-CC-CC-CD,而且在VLAN Trunk的情況下PVST BPDU被打上了802.1Q VLAN標籤。所以,PVST協議並不兼容STP/RSTP協議。

Cisco很快又推出了經過改進的PVST+協議,併成爲了交換機產品的默認生成樹協議。經過改進的PVST+協議在VLAN 1上運行的是普通STP協議,在其他VLAN上運行PVST協議。PVST+協議可以與STP/RSTP互通,在VLAN 1上生成樹狀態按照STP協議計算。在其他VLAN上,普通交換機只會把PVST BPDU當作多播報文按照VLAN號進行轉發。但這並不影響環路的消除,只是有可能VLAN 1和其他VLAN的根橋狀態可能不一致。

PVST/PVST+協議實現了VLAN認知能力和負載均衡能力,但是新技術也帶來了新問題,PVST/PVST+協議也有它們的“難言之隱”。

第一點缺陷:由於每個VLAN都需要生成一棵樹,PVST BPDU的通信量將正比於Trunk的VLAN個數。

第二點缺陷:在VLAN個數比較多的時候,維護多棵生成樹的計算量和資源佔用量將急劇增長。特別是當Trunk了很多VLAN的接口狀態變化的時候,所有生成樹的狀態都要重新計算,CPU將不堪重負。所以,Cisco交換機限制了VLAN的使用個數,同時不建議在一個端口上Trunk很多VLAN。

第三點缺陷:由於協議的私有性,PVST/PVST+不能像STP/RSTP一樣得到廣泛的支持,不同廠家的設備並不能在這種模式下直接互通,只能通過一些變通的方式實現,例如Foundry的IronSpan。IronSpan默認情況下運行的是STP協議,當某個端口收到PVST BPDU時,該端口的生成樹模式會自動切換成PVST/PVST+兼容模式。

一般情況下,網絡的拓撲結構不會頻繁變化,所以PVST/PVST+的這些缺點並不會很致命。但是,端口Trunk大量VLAN這種需求還是存在的。於是,Cisco對PVST/PVST+又做了新的改進,推出了多實例化的MISTP協議。


MISTP/MSTP

多實例生成樹協議MISTP(Multi-InstanceSpanning Tree Protocol)定義了“實例”(Instance)的概念。簡單的說,STP/RSTP是基於端口的,PVST/PVST+

是基於VLAN的,而MISTP就是基於實例的。所謂實例就是多個VLAN的一個集合,通過多個VLAN捆綁到一個實例中去的方法可以節省通信開銷和資源佔用率。

在使用的時候可以把多個相同拓撲結構的VLAN映射到一個實例裏,這些VLAN在端口上轉發狀態將取決於對應實例在MISTP裏的狀態。值得注意的是網絡裏的所有交換機的VLAN和實例映射關係必須都一致,否則會影響網絡連通性。爲了檢測這種錯誤,MISTP BPDU裏除了攜帶實例號以外,還要攜帶實例對應的VLAN關係等信息。MISTP協議不處理STP/RSTP/PVST BPDU,所以不能兼容STP/RSTP協議,甚至不能向下兼容PVST/PVST+協議,在一起組網的時候會出現環路。爲了讓網絡能夠平滑地從PVST+模式遷移到MISTP模式,Cisco在交換機產品裏又做了一個可以處理PVST BPDU的混合模式MISTP-PVST+。網絡升級的時候需要先把設備都設置成MISTP-PVST+模式,然後再全部設置成MISTP模式。

MISTP帶來的好處是顯而易見的。它既有PVST的VLAN認知能力和負載均衡能力,又擁有可以和SST媲美的低CPU佔用率。不過,極差的向下兼容性和協議的私有性阻擋了MISTP的大範圍應用。多生成樹協議MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定義的一種新型多實例化生成樹協議。這個協議目前仍然在不斷優化過程中,現在只有草案(Draft)版本可以獲得。不過Cisco已經在CatOS 7.1版本里增加了M STP的支持,華爲公司的三層交換機產品Quidway系列交換機也即將推出支持MSTP協議的新版本。

MSTP協議精妙的地方在於把支持MSTP的交換機和不支持MSTP交換機劃分成不同的區域,分別稱作MST域和SST域。在MST域內部運行多實例化的生成樹,在MST域的邊緣運行RSTP兼容的內部生成樹IST(Internal Spanning Tree)。

MST域內的交換機間使用MSTP BPDU交換拓撲信息,SST域內的交換機使用STP/RSTP/PVST+ BPDU交換拓撲信息。在MST域與SST域之間的邊緣上,SST設備會認爲對接的設備也是一臺RSTP設備。而MST設備在邊緣端口上的狀態將取決於內部生成樹的狀態,也就是說端口上所有VLAN的生成樹狀態將保持一致。
MSTP設備內部需要維護的生成樹包括若干個內部生成樹IST,個數和連接了多少個SST域有關。另外,還有若干個多生成樹實例MSTI(Multiple Spanning Tree Instance)確定的MSTP生成樹,個數由配置了多少個實例決定。

MSTP相對於之前的種種生成樹協議而言,優勢非常明顯。MSTP具有VLAN認知能力,可以實現負載均衡,可以實現類似RSTP的端口狀態快速切換,可以捆綁多個VLAN到一個實例中以降低資源佔用率。最難能可貴的是MSTP可以很好地向下兼容STP/RSTP協議。而且,MSTP是IEEE標準協議,推廣的阻力相對小得多
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章