PVST與PVST+的區別

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的根橋狀態可能不一致。
由於每個VLAN都有一棵獨立的生成樹,單生成樹的種種缺陷都被克服了(第一點缺陷:由於整個交換網絡只有一棵生成樹,在網絡規模比較大的時候會導致較長的收斂時間,拓撲改變的影響面也較大。
第二點缺陷:近些年IEEE 802.1Q大行其道,逐漸成爲交換機的標準協議。在網絡結構對稱的情況下,單生成樹也沒什麼大礙。但是,在網絡結構不對稱的時候,單生成樹就會影響網絡的連通性)。同時,PVST帶來了新的好處,那就是二層負載均衡。
PVST/PVST+的缺陷:
1.由於每個VLAN都需要生成一棵樹,PVST BPDU的通信量將正比於Trunk的VLAN個數。
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這種需求還是存在的。
 
Catalyst系列交換機的MAC地址池最多隻能容納1024個地址。交換機按次序分配MAC地址,第一個MAC地址分給Vlan1,第二個MAC地址分給Vlan2,以此類推,可分配地址範圍中最後一個MAC地址分給管理性接口SC0。如果交換機所擁的MAC地址少於Vlan的數目,那麼交換機將根據MAC地址縮減特性使得MAC地址能夠滿足Vlan的管理性需要。
MAC地址如何縮減:在MAC地址縮減的網絡中,對於被保存到生成樹BPDU中的網橋ID,將包含一個附加字段:System ID Extension(系統ID擴展)
正常的網橋ID
網橋優先級(16 bit)+MAC地址(48 bit)
MAC地址縮減後的網橋ID
網橋優先級(4 bit)+系統ID擴展(12 bit)+MAC地址(48 bit)
所以在啓用MAC地址縮減後,網橋的優先級就成爲了4096+Vlan編號(MST編號)。因此,此時的交換機優先級只能爲4096的倍數:0、4096,8192
 
PVST/PVST+的配置:
啓用STP:Spanning-tree vlan Vlan的ID號
設置Vlan的優先級:spanning-tree vlan Vlan的ID號 priority 具體數值
設置主根網橋:spanning-tree vlan Vlan的ID號 root primary          (宏命令)
設置輔助根橋:spanning-tree vlan Vlan的ID號 root secondary     (宏命令)
退出:end
在實際情況中可由多臺交換機作爲備份根橋,Cisco交換機默認的優先級是32768,使用宏命令後默認的根橋優先級爲4096,輔助根橋是8192。如果當前根交換機沒有配置爲默認的32768,那麼宏命令將選擇低於當前根優先級值的某個數值。
 
配置端口開銷:spanning-tree cost 數值
配置Vlan開銷:spanning-tree vlan Vlan的ID號 cost 數值
接口介質速度決定了生成樹端口路徑開銷的默認值(1~200000000),開銷值越小越好,開銷值相當生成樹將根據最低接口優先級來選擇進入轉發狀態的接口。
######################
從IEEE的角度來說,只有三種形式的spanning-tree定義:

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了,因而建議大家如果從研究協議本身出發,可以學習它的設計理念,但最好就不要有其它想法了。
###################
Behind the simple “plus” in PVST+ lurk quite subtle details that can make the difference between the two concepts very fuzzy, so the goal of this post is to give you a very brief explanation and I hope enough simple to grasp about PVST and PVST+ and their relationship with the standard IEEE 802.1q:
 
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):
  1. Untagged, if PVST+ native VLAN=VLAN 1. (figure1)
  2. Tagged (coded with TLV, containing VLAN ID), if native VLAN other than VLAN 1. (figure2)
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).
 
Figure 1: PVST+ native VLAN is VLAN 1
Figure 2: PVST+ native VLAN is different from VLAN 1

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章