pvst

pvst

PVST是解決在虛擬區域網路上處理生成樹CISCO特有解決方案。PVST為每個虛擬區域網路運行單獨的生成樹實例.一般情況下PVST要求在交換機之間的中繼鏈路上運行CISCO的ISL。

基本介紹

  • 中文名:每個VLAN生成樹
  • 外文名:Per-VLAN Spanning Tree
  • 簡稱:pvst
  • 缺陷:每個VLAN都需要生成一棵樹
名稱,用途,區別,第一點缺陷,第二點缺陷,第三點缺陷,比較,

名稱

PVST: Per-VLAN Spanning Tree(每個VLAN生成樹)

用途

每個VLAN生成樹(PVST)為每個在網路中配置的VLAN維護一個生成樹實例。它使用ISL中繼和允許一個VLAN中繼當被其它VLANs的阻塞時將一些VLANs轉發。儘管PVST對待每個VLAN作為一個單獨的網路,它有能力(在第2層)通過一些在主幹和其它在另一個主幹中的不引起生成樹循環的Vlans中的一些VLANs來負載平衡通信。

區別

PVST BPDU的格式和STP/RSTP BPDU格式已經不一樣,傳送的目的地址也改成了Cisco保留地址01-00-0C-CC-CC-CD,而且在VLAN Trunk的情況下PVST BPDU被打上了“ISLVLAN”標籤。所以,PVST協定並不兼容STP/RSTP協定。(802.1Q VLAN 標記的是PVST+)
Cisco很快又推出了經過改進的PVST+協定,並成為了交換機產品的默認生成樹協定。經過改進的PVST+協定在VLAN 1上運行的是普通STP協定,在其他VLAN上運行PVST協定。PVST+協定可以與STP/RSTP互通,在VLAN 1上生成樹狀態按照STP協定計算。在其他VLAN上,普通交換機只會把PVST BPDU當作多播報文按照VLAN號進行轉發。但這並不影響環路的消除,只是有可能VLAN 1和其他VLAN的根橋狀態可能不一致。由於每個VLAN都有一棵獨立的生成樹,單生成樹的種種缺陷都被克服了:

第一點缺陷

由於每個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+兼容模式。
Spanning-tree 的發展史
1. STP (802.1D)也就是所說的Common 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在別出心裁的提出了PortfastBackbonefastUplinkfast等一系列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了,因而建議大家如果從研究協定本身出發,可以學習它的設計理念,但最好就不要有其它想法了。

比較

今天比較一下CST、PVST、PVST+ 幾個生成樹技術,以區別他們的關係。
CST成為公共生成樹,在生成樹收斂的時候,不考慮網路中vlan的存在,只在網路中生成和維護單個生成樹;還有一個要注意的是:所有CST的BPDU作為不帶標記的幀通過本地vlan進行傳輸。
這樣的工作模式有它自己的優點,就是計算STP時的CPU的負載。然而,也會帶來問題:
1.網路中的STP無法按照vlan的特殊需求,為vlan創建最優的STP路徑,可能導致某些vlan存在次優路徑。
2.冗餘的連線埠被阻塞掉之後,在每個vlan中就無法轉發數據,會導致無法實現網路流量負載均衡
PVST是cisco私有的技術,per-vlan即給網路中的每個vlan都創建一顆生成樹,這樣可以解決CST的問題,為不同vlan通過冗餘連線進行負載平衡。但是,是cisco的私有技術,只能通過cisco的中繼鏈路ISL中繼封裝傳送,這樣協定的兼容性就差。
PVST+是cisco的另一個STP專利,但是與PVST不同,PVST+的誕生就是為了兼容其他版本的BPDU而產生的,它可以通過ISL封裝與PVST互通,也可以不給BPDU封裝與802.1Q互通。
通過上面的分析,可以看出CST、PVST、PVST+之間的關係到底是什麼樣的了!當然還有很多生成樹協定標準,IEEE802.1D、IEEE802.1S、IEEE802.1W這樣國際標準的生成樹協定。

相關詞條

熱門詞條

聯絡我們