RSTP接口角色
STP局限性
IEEE 802.1D中定義的STP,是一個比較古老的標準,在現今的交換網絡中,幾乎已經很少能夠見到它的部署了。原因是STP存在諸多短板,比如收斂慢(一個端口從block到forward需要30~50s)、端口狀態定義繁冗、對拓撲變化的感知依賴計時器等。
RSTP
IEEE 802.1w中定義的RSTP (Rapid Spanning Tree Protocol,快速生成樹協議)可以視為STP的改進版本,RSTP在許多方面對STP進行了優化,它的收斂速度更快,而且能夠兼容STP。
RSTP優勢
- RSTP引入了新的接口角色,其中替代接口的引入使得交換機在根接口失效時,能夠立即獲得新的路徑到達根橋。
- RSTP引入了P/A機制,使得指定接口被選舉產生后能夠快速地進入轉發狀態,而不用像STP那樣經歷轉發延遲時間。
- RSTP還引入了邊緣接口的概念,這使得交換機連接終端設備的接口在初始化之后能夠立即進入轉發狀態,提高了工作效率。
RSTP接口角色
RSTP在STP的基礎上,增加了兩種接口角色:替代(Alternate )接口和備份(Backup)接口。因此,在RSTP中,共有4種接口角色:根接口、指定接口、替代接口和備份接口。
替代接口
- 替代接口可以簡單地理解為根接口的備份,它是一臺設備上,由于收到了其他設備所發送的BPDU從而被阻塞的接口。
- 如果設備的根接口發生故障,那么替代接口可以成為新的根接口,這可以加快了網絡的收斂過程。
- 一臺非根橋有且只能有一個根接口,但是該設備可以沒有替代接口,也可以有,當存在替代接口時,可以存在一個或多個。當設備的根接口發生故障時,最優的替代接口將成為新的根接口。
如下圖所示的網絡拓撲中,SW1是網絡中的根橋,對于SW3而言,它有兩個接口接入了該網絡,由于從GE0/0/22接口到達根橋的RPC更小,因此該接口成為該設備的根接口。而GE0/0/23則由于收到了SW2所發送的BPDU,并且經SW3計算、比較后決定阻塞,成為該設備的替代接口。
此時在SW3上執行display stp brief命令能看到如下輸出:
ALTE指的是Alternate,也即替代。
備份接口
- 備份接口是一臺設備上由于收到了自己所發送的BPDU從而被阻塞的接口。
- 如果一臺交換機擁有多個接口接入同一個網段,并且在這些接口中有一個被選舉為該網段的指定接口,那么這些接口中的其他接口將被選舉為備份接口,備份接口將作為該網段到達根橋的冗余接口。通常情況下,備份接口處于丟棄狀態。
如下圖所示的網絡中,SW1是網絡中的根橋,對于SW2而言,它的GE0/0/20及GE0/0/21接口形成了自環,RSTP能夠檢測到這個環路,并且在這兩個接口中選擇一個進行阻塞。(缺省時,由于GE0/0/20接口的接口ID更小,因此該接口成為指定接口,而GE0/0/21接口則成為備份接口,備份接口將被阻塞。)
此時在SW2上執行display stp brief命令應該能看到如下輸出:
BACK指的是Backup,也即備份。
如下圖所示的拓撲場景中,SW2使用兩個接口連接在同一臺集線器(Hub)上,由于集線器在一個接口上收到的數據會被拷貝到其他所有接口(一個Hub就是一個廣播域,而且它并不支持STP/RSTP ),因此SW2從GE0/0/20接口發出的BPDU會被集線器接收并發往SW2的GE0/0/21接口,反之亦然。當SW2的指定接口GE0/0/20發生故障時,備份接口GE0/0/21將繼續它的工作,負責與相應的網段實現數據交互。
RSTP接口狀態
STP定義了五種接口狀態,它們分別是禁用、阻塞、偵聽、學習和轉發,而RSTP簡化了接口狀態,將STP的禁用、阻塞及偵聽狀態簡化為丟棄(Discarding)狀態,RSTP與STP的接口狀態對比如下表所示。
RSTP的配置BPDU
RSTP的配置BPDU被稱為RST BPDU (Rapid Spanning Tree BPDU),它的格式與STP的配置BPDU大體相同,只是其中個別字段做了修改.以便適應新的工作機制和特性。對于RST BPDU來說,
- “協議版本ID”字段的值為0x02“,"BPDU類型”字段的值也為0x02。
- “標志”字段中,該字段一共8bit,STP只使用了其中的最低比特位和最高比特位,而RSTP在STP的基礎上,使用了剩余的6個比特位,并
且分別對這些比特位進行了定義,如下表所示。
比特位含義如下:
- STP只使用了該字段的最高及最低比特位,在RST BPDU中這兩個比特位的定義及作用不變(確認TCN BPDU的TCA位以及根橋泛洪通知拓撲變化的TC位)。
- Aggrement(同意)及Proposal(提議)比特位用于RSTP的P/A ( Proposal/Aggrement)機制,該機制大大地提升了RSTP的收斂速度。
- Port Role(接口角色)比特位的長度為2bit,用于標識該RST BPDU發送接口的接口角色,01表示根接口,10表示替代接口,11表示指定接口,00被保留使用。
- Forwarding(轉發)及Learning(學習)比特位用于表示該RST BPDU發送接口的接口狀態。
RSTP 配置BPDU發送機制
RSTP與STP不同,在網絡穩定后,無論是根橋還是非根橋,都將周期性地發送配置BPDU,也就是說對于非根橋而言,它們不用在根接口上收到BPDU之后,才被觸發而產生自己的配置BPDU,而是自發地、周期性發送BPDU。
RSTP 次優BPDU優化
運行STP的交換機在每個接口上保存一份BPDU,對于根接口及非指定接口而言,交換機保存的是發送自上游交換機的BPDU,而對于指定接口而言,交換機保存的是自己根據根接口的BPDU所計算出的BPDU。
如果接口收到一份BPDU,而且該接口當前所保存的BPDU比接收的BPDU更優,那么后者對于前者而言,就是次優 BPDU。
在STP中:
- 當指定接口收到次優BPDU時,它將立即發送自己的BPDU(自己計算的BPDU更優);
- 對于非指定接口,當其收到次優BPDU時(表示該網段的接口狀態發生了變化,因為非指定接口發現自己計算的BPDU更優),它將等待接口所保存的BPDU老化之后,再重新計算新的BPDU,并將新的BPDU發送出去,這將導致非指定接口需要最長約20s的時間才能啟動狀態遷移。(非指定接口指的是收到的BPDU比自己計算的BDPU更優)
在RSTP中:
- 無論接口的角色如何,只要接口收到次優BPDU,便立即發送自己的BPDU,這個變化使得RSTP的收斂更快。
總結
- 上一篇: 数据结构c语言版谭浩强pdf,谭浩强C语
- 下一篇: 基于51单片机的LCD1602显示温湿度