生成樹協議( STP ) 是一種網絡協議,可確保以太網網絡的無環路拓撲。當拓撲發生變化時,RSTP 提供比 802.1D STP 更快的收斂速度。它還可以與HSR/ PRP結合使用,以實現可靠的以太網通信。
一、 交換機之間的循環
交換機之間進行互連時會產生一個封閉的物理環路,這意味著兩個網絡之間可能存在不止一條路徑。這些環路可能是由錯誤造成的,或者是因為需要冗余路徑以保證可靠性。如果在交換機網絡中出現環路的情況下,發送給主機的Broadcast 、Unknown Unicast Frame將無法到達目的地,網絡也會停止服務。這種情況的出現,主要是由透明交換機的兩個特點決定的:
● 當目標地址不在其地址表中時,繼續進行泛洪。
● 轉發幀時,副本與原始幀無法區分。沒有字段(例如跳轉計數器)來區分連續副本。
二、 解決辦法是什么?
有兩種可能的策略:
1. 嚴禁創建帶有環路的網絡。
2. 啟用某種機制,允許交換機檢測拓撲中是否存在環路,從而禁用必要的接口來避免環路的產生。
這就是生成樹協議發揮作用的地方。生成樹中的任何一對節點之間只有一個可能的路徑(沒有循環的樹)。生成樹協議的目標是在邏輯上禁用接口以始終實現生成樹。
因此,為了了解網絡的拓撲結構,從而禁用接口,會發送生成樹消息,這些消息稱為BPDU(橋接協議數據單元)。BPDU 使用保留的多播地址01-80-C2-00-00-00-00,以確保非生成樹交換機透明地傳播它們。
生成樹操作
生成樹協議操作流程如下:
● 交換機定期交換帶有網絡拓撲信息的BPDU。
● 每個交換機都有一個標識符 (sw-ID),它根據其 MAC 地址創建。
● 此外,每個端口都有一個標識符 (port-ID) 和與之相關的成本。
● 交換機選擇具有最低 sw-ID 的交換機作為樹的根。它們都選擇同一個。
● 每個交換機通過其接口發送BPDUs,表明其sw-ID、根交換機的sw-ID以及到達根交換機的成本。BPDU在整個網絡中傳播,每個交換機在轉發信息時都會加上它所通過的接口的成本。
● 收到 BPDU 后,每臺交換機都會計算出它可以通過哪個端口才能以最低成本到達根交換機,進而決定根端口,在存在相同成本的情況下,它會選擇最低的端口ID。
● 每個 LAN 都有一個指定端口,該端口是該 LAN 以最低成本訪問根交換機的端口。
● 既不是根也不是指定的端口是阻塞端口。這些端口對于通信是不必要的,如果允許操作,它們會導致循環。
傳統的生成樹 (IEEE 802.1D)存在收斂問題,因為拓撲更改可能需要 30 秒到幾分鐘。這在某些情況下是無法滿足用戶要求的。1998 年,快速生成樹協議(RSTP,IEEE 802.1w)的標準化工作完成,這是原始協議的一種變體,可將收斂時間減少到大約6 秒。如今,傳統的生成樹已被宣布過時。
在RSTP中,交換機保留著通往根的第二條最低成本路徑的信息,因此在發生故障時切換到新的拓撲結構要比STP協議更快。
RSTP 樹
三、 多個 RSTP – MSTP
RSTP協議已經成為在包括冗余的拓撲結構中防止第二層循環的選擇。如果網絡中存在一個交換機,則它必須能夠運行RSTP算法。
另一種有趣的冗余形式或針對環路的安全性是使用多生成樹協議 (MSTP)。MSTP 是 RSTP 的擴展,可以將 VLAN 分組到生成樹實例中。它為數據流量提供了多條轉發路徑,并實現了負載均衡。
MSTP為每個VLAN組配置一個單獨的生成樹,允許每個VLAN有一個配置的根橋和轉發拓撲結構。它在每個生成樹中阻斷所有可能的備用路徑,只保留一條。
虹科提供了將RSTP和MSTP功能集成到網絡中的技術,即虹科網管冗余交換機(MES)。這是一個具有許多配置選項的FPGA的IP核解決方案,能夠支持RSTP和MSTP,可用于多種類型應用的交換機。