RSTP(Rapid Spanning Tree Protocol,快速生成樹協定)是一種用於網路中的環路網路結構的協定,旨在避免網路中的環路,同時實現路徑冗餘。它通過算法將環路網路修剪成無環路的樹型網路,防止報文增生和無限循環。RSTP在IEEE 802.1W-2001中提出,並在IEEE 802.1D-2004標準中替代了原來的STP(Spanning Tree Protocol,生成樹協定)。RSTP的核心是快速生成樹算法,它比STP有更快的收斂時間,在理想情況下,拓撲發生變化後恢復穩定的時間可以控制在秒級,而STP需要50秒。
RSTP定義了三個連線埠狀態:discarding(丟棄)、learning(學習)和forwarding(轉發)。當鏈路打開時,連線埠狀態先是discarding,隨後變為learning,開始學習MAC地址,但仍然不能轉發數據包。最終,當RSTP判斷該連線埠不會造成環路時,將其連線埠狀態改變為forwarding,可以正常轉發數據包。
RSTP還定義了邊緣連線埠(Edge Port),這是一個不需要收斂時間的連線埠,它連線的設備只有一個路徑通往根交換機,不會發生環路。此外,RSTP中的Link Type定義了鏈路類型,包括Point-to-Point(點對點)、Shared(共享)和Boundary(邊界)類型,不同類型的鏈路在決定縮短收斂時間時具有不同的權值。
RSTP的Proposal/Agreement機制(P/A機制)旨在使一個指定連線埠儘快進入Forwarding狀態。如果P/A協商不成功,指定連線埠的選擇需要等待兩個Forward Delay,這個過程與STP類似。RSTP的目的是在避免環路的同時,儘快確定全網的連線埠狀態,確保網路的穩定性和高效性。