第二點缺陷:近些年IEEE 802.1Q大行其道,逐漸成爲交換機的標準協議。在網絡結構對稱的情況下,單生成樹也沒什麼大礙。但是,在網絡結構不對稱的時候,單生成樹就會影響網絡的連通性)。同時,PVST帶來了新的好處,那就是二層負載均衡。
2.在VLAN個數比較多的時候,維護多棵生成樹的計算量和資源佔用量將急劇增長。特別是當Trunk了很多VLAN的接口狀態變化的時候,所有生成樹的狀態都要重新計算,CPU將不堪重負。所以,Cisco交換機限制了VLAN的使用個數,同時不建議在一個端口上Trunk很多VLAN。 c K4P5P.k+i"K
3.由於協議的私有性,PVST/PVST+不能像STP/RSTP一樣得到廣泛的支持,不同廠家的設備並不能在這種模式下直接互通,只能通過一些變通的方式實現,例如Foundry的IronSpan。IronSpan默認情況下運行的是STP協議,當某個端口收到PVST BPDU時,該端口的生成樹模式會自動切換成PVST/PVST+兼容模式。一般情況下,網絡的拓撲結構不會頻繁變化,所以PVST/PVST+的這些缺點並不會很致命。但是,端口Trunk大量VLAN這種需求還是存在的。
######################
1。STP (802。1D)也就是所說的classical spanning-tree,大概意思是每2s發送一個hello,15s的forward delay,20s的max age,與vlan無關,整個bridge只有一個spanning-tree實例這些。。。。。這個協議是Radia Perlman爲早期的DEC橋所寫,後被IEEE收容形成802。1D標準,而在那時,大部分layer2設備還是以端口數較少的網橋爲主,所以沒有考慮到端口數較多的layer2 switch,隨着技術的發展,layer2 switch開始盛行,這就導致了vlan的盛行,致使802。1D已經不在適用,因爲兩臺switch間存在冗餘鏈路不一定就會導致環路,所以Cisco爲了滿足用戶需求,就對802。1D進行了擴展,便出現了PVST,它是基於vlan的,每個vlan都會有一個對應的spanning-tree實例。需要注意的是,PVST在通常狀態下只有在default vlan 1 中才使用untagged的STP報文,所以vlan 1的spanning-tree實例又有一個獨立的名稱,就是CST,細心的朋友可能已經注意到,很對只支持STP協議的設備只能與cisco在vlan1中進行互操作,就是這個原因了。
2。隨着時間的推移,越來越多的人感覺傳統spanning-tree的收斂時間過長,簡直無法接受,特別是Cisco在別出心裁的提出了Portfast,Backbonefast,Uplinkfast等一系列spanning-tree特性後,IEEE不得不對已過時的802。1D進行修改,便有了802。1W,也就是所說的RSTP,基本就是在802。1D的基礎上添加了幾個類似Cisco的特性,對Cisco來說,爲和上一代PVST區分,便把有這些特性的spanning-tree稱爲PVST+或Rapid PVST.
3。科技日新月異,人們的要求也越來越高,原本以前被認爲是經典的東西,現代人可能感覺他是那麼的冗長複雜,PVST就是一個很好的例子。當年PVST的設計者可能怎麼也沒想到,真的會有這樣的瘋子要在一個交換機上配置成百上千個vlan,這就要求運行相同數目的spanning-tree實例,這不論從管理上還是spanning-tree的運算上,都是人類和一顆普通的Power PC無法承受的,因而便應運而生了802。1S,即MST,這次Cisco很聰明,爲了避免出現類似PVST這樣的尷尬局面(雖然很好,但無法與衆多其它廠家兼容),便在協議研發階段就將其提交到了IEEE,再聯合上Foundry,Extreme,RiverStone等幾個業內定級廠家,很快就把這個協議做出來了,至於這個協議的好處,俄也就不說了,那是相-當-的明顯。
說了這麼多,只是想和大家分享一下自己以前學習的心得,但從現在來看,spanning-tree似乎不會再有往日的盛行,因爲隨着layer 3技術的進步,spanning-tree已經開始逐步失去自己僅存的接入網市場,更別說Metro的distribution或是core了,因而建議大家如果從研究協議本身出發,可以學習它的設計理念,但最好就不要有其它想法了。
IEEE 802.1q standard |
PVST (Per VLAN Spanning Tree) Cisco proprietary |
PVST+ Cisco proprietary | |
BPDU transported over native VLAN untagged (cannot differentiate between different VLANs), therefore support natively only one single instance of STP for all VLAN, MST (Mono Spanning Tree).
(-) Not interoperable and less flexible approach. |
(+) Improve the limitation of 802.1d STP (created before VLAN) by supporting one separate instance for each VLAN, using ISL trunk only.
(-) Still not interoperable with IEEE 802.1q that supports only one STP instance. |
(+) Modification of PVST: allow PVST over standard IEEE 802.1q:
1) - PVST+ native VLAN BPDUs are transported (merged) in IEEE native VLAN (CST) untagged using IEEE STP MAC 0180.0CCC.CCCD.
2)- In addition to that, PVST+ native VLAN is send a second time tunneled over IEEE 802.1q using special multicast MAC 0100.0CCC.CCCD (Shared spanning Tree, SSTP):
This is used exclusively for consistency check. Besides, the error “PVID-inconsistency” is generated if PVST+ BPDU is received on a VLAN different from the one it was generated from.
3)- non-native VLAN BPDUs always tunneled over IEEE 802.1q using special multicast MAC 0100.0CCC.CCCD (Shared spanning Tree, SSTP), tagged (coded with TLV, containing VLAN ID) | |
- Make sure the native VLAN in PVST+ regions, communicating together through IEEE 802.1q, is the same.
- Whatever the complexity of the IEEE 802.1q network, only costs at the borders with PVST+ regions counts for PVST+
-IEEE 802.1q native VLAN (VLAN 1 by default) cooperate with PVST, PVST+ and MSTI (802.1s).
- PVST (ISL) instances are mapped one-to-one with PVST+ (802.1q) instances
(figure3). |