功能強大、可靠的網絡需要有效地傳輸流量,提供冗余和故障快速恢復功能。在第二層網絡中,路由協議不可用,生成樹協議通過從網格化物理拓撲結構而構建一個無環路邏輯轉發拓撲結構,提供了冗余連接,消除了數據流量環路的威脅。原始生成樹協議 IEEE 802.1D通常在50秒內就可以恢復一個鏈接故障[融合時間=(2xForward_Delay)+Max_Age]。當設計此協議時,這種停機還是可接受的,但是當前的關鍵任務應用(如語音和視頻)卻要求更快速的網絡融合。
為加速網絡融合并解決與生成樹和虛擬LAN(VLAN)交互相關的地址可擴展性限制的問題,IEEE委員會開發了兩種新標準:在IEEE 802.1w中定義的快速生成樹協議(RSTP)和在IEEE 802.1s中定義的多生成樹協議(MST)。
本文介紹了802.1w和802.1s的主要特性、與傳統生成樹協議的互操作性,并提供了一些協議移植準則建議。
IEEE 802.1w快速生成樹協議
IEEE意識到原始802.1D生成樹協議的融合特性與現代化的交換網絡和應用相比是有差距的,為此設計了一種全新的802.1w快速生成樹協議(RSTP),以解決802.1D的融合問題。IEEE 802.1w RSTP的特點是將許多思科增值生成樹擴展特性融入原始802.1D中,如Portfast、Uplinkfast和Backbonefast。通過利用一種主動的網橋到網橋握手機制取代802.1D根網橋中定義的計時器功能,IEEE 802.1w協議提供了交換機(網橋)、交換機端口(網橋端口)或整個LAN的快速故障恢復功能。通過將生成樹"hello"作為本地鏈接保留的標志,RSTP改變了拓撲結構的保留方式。這種做法使原始802.1D fwd-delay和max-age計時器主要成為冗余設備,目前主要用于備份,以保持協議的正常運營。
除了下面章節中列舉的新概念外,RSTP引入了新的BPDU處理和新的拓撲結構變更機制。每個網橋每次"hello time"都會生成BPDU,即使它不從根網橋接收時也是如此。BPDU起著網橋間保留信息的作用。如果一個網橋未能從相鄰網橋收到BPDU,它就會認為已與該網橋失去連接,從而實現更快速的故障檢測和融合。
在RSTP中,拓撲結構變更只在非邊緣端口轉入轉發狀態時發生。丟失連接--例如端口轉入阻塞狀態,不會像802.1D一樣引起拓撲結構變更。802.1w的拓撲結構變更通知(TCN)功能不同于802.1D,它減少了數據的溢流。在802.1D中,TCN被單播至根網橋,然后組播至所有網橋。802.1D TCN的接收使網橋將轉發表中的所有內容快速失效,而無論網橋轉發拓撲結構是否受到影響。相形之下,RSTP則通過明確地告知網橋,溢出除了經由TCN接收端口了解到的內容外的所有內容,優化了該流程。TCN行為的這一改變極大地降低了拓撲結構變更過程中,MAC地址的溢出量。
端口作用
RSTP在端口狀態(轉發或阻塞流量)和端口作用(是否在拓撲結構中發揮積極作用)間進行了明確的劃分。除了從802.1D沿襲下來的根端口和指定端口定義外,還定義了兩種新的作用(見圖1):
![]() |
圖1 |
備份端口--用于指定端口到生成樹樹葉的路徑的備份,僅在到共享LAN網段有2個或2個以上連接,或2個端口通過點到點鏈路連接為環路時存在。
替代端口--提供了替代當前根端口所提供路徑、到根網橋的路徑。
這些RSTP中的新端口實現了在根端口故障時替代端口到轉發端口的快速轉換。下面的例子中詳細解釋了此過程。
端口狀態
端口的狀態控制轉發和學習過程的運行。
RSTP定義了3種狀態:放棄、學習和轉發。根或指定端口在拓撲結構中發揮著積極作用,而替代或備份端口不參與主動拓撲結構。在穩定的網絡中,根和指定端口處于轉發狀態,替代和備份端口則處于放棄狀態。
快速融合概述
如前所述,RSTP 旨在盡快地將根端口和指定端口轉成轉發狀態,以及將替代和備份端口轉成阻塞狀態。為防止生成轉發環路,RSTP在網橋間采用了明確的"握手"功能,以確保端口作用在網絡中分配的一致性。
![]() |
圖2 |
圖2介紹了將端口轉換成轉發前達成的協定/建議握手。當鏈接激活時,"P1"和"P2"都成為處于放棄狀態的指定端口。
在這種情況下,"P1"將向交換機A發送一個建議BPDU。收到新BPDU后,交換機A將確認根交換機有較優根成本。因為BPDU包含較高的根優先級,交換機A在將新的根端口"P2"轉入轉發狀態前,會先啟動同步機制。如果一個端口處于阻塞狀態或是一個邊緣端口(位于網橋LAN邊緣或連接到終端工作站),該端口與根信息同步。
端口3("P3")已滿足上述要求,因為它已經是阻塞的。因此,不會對該端口采取任何行動。但是,"P4"是一種指定端口,需要阻塞。一旦交換機A上的所有接口處于同步狀態,"P2"就會承認從前從根接收的建議,并可以安全地轉入轉發狀態。在收到交換機A的認可后,根交換機將立即將"P1"轉入轉發。建議/協定信息的類似傳送波將從"P4"傳播至網絡枝葉部分。
由于這種握手機制不依賴計時器,因此它可以快速地傳播至網絡邊緣,并在拓撲結構變更后迅速恢復連接。如果協定并未復制建議信息,端口會轉換成802.1D模式,并通過傳統聽學順序轉入轉發狀態。需要說明的是,802.1w協議只適用于點到點鏈接。在媒體共享的情況下,802.1w協議將轉換成802.1D運行。
多生成樹協議
在Cisco MISTP[多實例生成樹協議]的推動下,MST通過將一些基于VLAN的生成樹匯聚入不同的實例,并且每實例只運行一個(快速)生成樹,從而改進了RSTP的可擴展性。為確定VLAN實例的相關性,802.1s引入了MST區域概念。每臺運行MST的交換機都擁有單一配置,包括一個字母數字式配置名、一個配置修訂號和一個4096部件表,它與潛在支持某個實例的各4096 VLAN相關聯。作為公共MST區域的一部分,一組交換機必須共享相同的配置屬性。重要的是請記住,配置屬性不同的交換機會被視為位于不同的區域。
為確保一致的VLAN實例映射,協議需要識別區域的邊界。因此,區域的特征都包括在BPDU中。交換機必須了解它們是否像鄰居一樣位于同一區域,因此會發送一份VLAN實例映射表摘要,以及修訂號和名稱。當交換機接收到BPDU后,它會提取摘要,并將其與自身的計算結果進行比較。為避免出現生成樹環路,如果兩臺交換機在BPDU中所接收的參數不一致,負責接收BPDU的端口就會被宣布為邊界端口。
IEEE 802.1s引入了IST(內部生成樹)概念和MST實例。IST是一種RSTP實例,它擴展了MST區域內的802.1D單一生成樹。IST連接所有MST網橋,并從邊界端口發出、作為貫穿整個網橋域的虛擬網橋。MST實例(MSTI)是一種僅存在于區域內部的RSTP實例。它可以缺省運行RSTP,無須額外配置。不同于IST的是,MSTI在區域外既不與BPDU交互,也不發送BPDU。MST可以與傳統和PVST+交換機互操作。思科實施定義了16種實例:一個IST(實例0)和15個MSTI,而802.1s則支持一個IST和63個MSTI。
與傳統生成樹的互操作性
RSTP和MSTP都能夠與傳統生成樹協議互操作。但是,當與傳統網橋交互時,802.1w的快速融合優勢就會失去。
為保留與基于802.1D網橋的向后兼容性,IEEE 802.1s網橋在其端口上接聽802.1D格式的BPDU。如果收到了802.1D BPDU,端口會采用標準802.1D行為,以確保兼容性。例如,在圖3中,交換機A上的"P4"一旦在至少兩倍的"hello time"中檢測到PVST+ BPDU,它就會發送PVST+ BPDU。要說明的是,如果PVST+網橋從網絡中刪除后,交換機A就無法發現拓撲結構變更,需要人工重啟協議移植。
![]() |
圖3 |
圖3介紹了應用于VLAN 2000的轉發拓撲結構,它映射至RSTP/MSTP區域中的MST #2。用于IST和MST #2的根交換機駐留于RSTP/MSTP區域內。MSTI BPDU并未發送至邊界端口"P4"外,只有IST BPDU是如此。通過在PVST+域所有現用VLAN上復制ISTP BPDU,MST區域模擬了PVST+鄰居。然后,PVST+域接收IST上發送的BPDU,并選擇交換機B作為VLAN 2000的根交換機(注:交換機B是IST的根。)
如果PVST+域中出現拓撲結構變更,在傳統云中生成的相應的拓撲結構變化通知(TCN)BPDI將由IST在MST域中處理,不致影響MST轉發拓撲結構。為了避免可能導致環路的錯誤配置,強烈建議為MST域中的PVST+實例(即IST根)配置根交換機。
主要定義
IEEE 802.1D--IEEE建議,在整個第二層域中定義單一無環路拓撲結構。由于802.1D無虛擬LAN(VLAN)感知功能,因此轉發拓撲結構是唯一的,獨立于網絡中現用的VLAN。這種方案從計算開支的角度是可擴展的,但在配置多個VLAN的情況下,無法為冗余鏈接提供負載均衡功能。
PVST+--思科生成樹為每個VLAN構建了一個不同的邏輯拓撲結構。這種方案通過允許每個VLAN擁有不同的轉發鏈接,實現了負載均衡,但它卻是CPU密集型的--網橋協議數據單元(BPDU)是根據各個VLAN生成并處理的。