各生成樹協議對比

Stp:生成樹協議

運行生成樹協議的交換機上的端口,總是處於下面四個狀態中的一個:
1)阻塞:所有端口以阻塞狀態啓動以防止迴路,由生成樹確定哪個端口切換爲
轉發狀態,處於阻塞狀態的端口不轉發數據幀但可接受 BPDU。
2)監聽:不轉發數據幀,但檢測 BPDU(臨時狀態)。

3)學習:不轉發數據幀,但學習 MAC 地址表(臨時狀態)。

4)轉發:可以傳送和接受數據數據幀。
在正常操作期間,端口處於轉發或阻塞狀態。當檢測到網絡拓撲結構有變化時,
交換機會自動進行狀態轉換,在這個期間端口暫時處於監聽和學習狀態。
生成樹經過一段時間(默認值是 50 秒左右)穩定之後,所有端口要麼進入轉發
狀態,要麼進入阻塞狀態。STP BPDU 仍然會定時從各個網橋的指定端口發出,
以維護鏈路的狀態。如果網絡拓撲發生變化,生成樹就會重新計算,端口狀態也
會隨之改變。
當拓撲發生變化,新的配置消息要經過一定的時延才能傳播到整個網絡,這個時
延稱爲 Forward Delay,協議默認值是 15 秒。在所有網橋收到這個變化的消息
之前,若舊拓撲結構中處於轉發的端口還沒有發現自己應該在新的拓撲中停止轉
發,則可能存在臨時環路。爲了解決臨時環路的問題,生成樹使用了一種定時器
策略,即在端口從阻塞狀態到轉發狀態中間加上一個只學習 MAC 地址但不參與轉
發的中間狀態,兩次狀態切換的時間長度都是 Forward Delay,這樣就可以保證
在拓撲變化的時候不會產生臨時環路。但是,這個看似良好的解決方案實際上帶
來的卻是至少兩倍 Forward Delay 的收斂時間!

默認情況下,交換機端口由阻塞狀態到偵聽狀時間爲 20 秒

 

 

RSTP生成樹協議:
瞭解決 STP 協議收斂時間長這個缺陷,在世紀之初 IEEE 推出了 802.1w 標準,
作爲對 802.1D 標準的補充。在 IEEE 802.1w 標準裏定義了快速生成樹協議
RSTP(Rapid Spanning Tree Protocol)。RSTP 協議在 STP 協議基礎上做
了三點重要改進,使得收斂速度快得多(最快 1 秒以內)。
第一點改進:爲根端口和指定端口設置了快速切換用的替換端口(Alternate
Port)和備份端口(Backup Port)兩種角色,當根端口/指定端口失效的情況
下,替換端口/備份端口就會無時延地進入轉發狀態。
第二點改進:在只連接了兩個交換端口的點對點鏈路中,指定端口只需與下游網
橋進行一次握手就可以無時延地進入轉發狀態。如果是連接了三個以上網橋的共
享鏈路,下游網橋是不會響應上游指定端口發出的握手請求的,只能等待兩倍
Forward Delay 時間進入轉發狀態。
第三點改進:直接與終端相連而不是把其他網橋相連的端口定義爲邊緣端口
(Edge Port)。邊緣端口可以直接進入轉發狀態,不需要任何延時。由於網橋
無法知道端口是否是直接與終端相連,所以需要人工配置。
可見,RSTP 協議相對於 STP 協議的確改進了很多。爲了支持這些改進,
BPDU 的格式做了一些修改,但 RSTP 協議仍然向下兼容 STP 協議,可以混合
組網。雖然如此,RSTP 和 STP 一樣同屬於單生成樹 SST(Single Spanning
Tree),有它自身的諸多缺陷,主要表現在三個方面。
第一點缺陷:由於整個交換網絡只有一棵生成樹,在網絡規模比較大的時候會導
致較長的收斂時間,拓撲改變的影響面也較大。
第二點缺陷:近些年 IEEE 802.1Q 大行其道,逐漸成爲交換機的標準協議。在
網絡結構對稱的情況下,單生成樹也沒什麼大礙。但是,在網絡結構不對稱的時
候,單生成樹就會影響網絡的連通性。

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 都有一棵獨立的生成樹,單生成樹的種種缺陷都被克服了。同
時,PVST 帶來了新的好處,那就是二層負載均衡

 

  MISTP/MSTP協議

多實例生成樹協議 MISTP(Multi-Instance Spanning 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 協議精妙的地方在於把支持 MSTP 的交換機和不支持 MSTP 交換機劃分
成不同的區域,分別稱作 MST 域和 SST 域。在 MST 域內部運行多實例化的生
成樹,在 MST 域的邊緣運行 RSTP 兼容的內部生成樹 IST(Internal Spanning
Tree)。
MSTP 設備內部需要維護的生成樹包括若干個內部生成樹 IST,個數和連接了多
少個 SST 域有關。另外,還有若干個多生成樹實例 MSTI(MultIPle Spanning
Tree Instance)確定的 MSTP 生成樹,個數由配置了多少個實例決定。
MSTP 相對於之前的種種生成樹協議而言,優勢非常明顯。MSTP 具有 VLAN
認知能力,可以實現負載均衡,可以實現類似 RSTP 的端口狀態快速切換,可以
捆綁多個 VLAN 到一個實例中以降低資源佔用率。最難能可貴的是 MSTP 可以
很好地向下兼容 STP/RSTP 協議。而且,MSTP 是 IEEE 標準協議,推廣的阻
力相對小得多。
可見,各項全能的 MSTP 協議能夠成爲當今生成樹發展的一致方向是當之無
愧的。

 


 

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