網絡初級篇之RSTP(原理與配置)


一、RSTP的產生

  前面的文章寫到了當網絡拓撲發生變化時,STP的收斂速度大約需要花費30秒-50秒的時間才會繼續轉發數據。這樣在實際生產環境中花費的時間是非常長的,這樣RSTP(快速生成樹協議)便應運而生。

二、RSTP與STP的區別

  1、端口角色的區別

  

  在RSTP中,新增兩個兩個端口角色(Backup與Alternate)。其中,Backup端口作為非橋設備的備份指定端口。Alternate端口作為非橋設備的備份根端口。正常情況下,Alternate端口與Backup端口作為Disabeld狀態。當非根橋設備上的根端口或指定端口出現問題時,會立馬啟用最為新的根端口或指定端口。

  2、特殊的“指定”端口

  在RSTP中,將特殊的指定端口改為邊緣端口。邊緣端口一般情況下是橋設備與主機的連接端口,不會接收到配置BPDU報文,也不參與RSTP的運算。如果 RSTP 邊緣端口接收到 BPDU,則該端口立刻喪失邊緣端口的屬性,而成為普通的生成樹端口。可以直接由Disabeld(關閉)狀態直接轉換為Forwarding(轉發)狀態(不經歷端口狀態改變的延時) 。

三、STP配置BPDU報文中的Flags字段在RSTP中得到應用。

  

  四、RSTP收斂過程。

  1、選舉根橋。

  開始時,所有的橋設備都認為自己是根橋,所有的端口都處於Discarding狀態,端口角色為指定端口。並向外發送自己的RST BPDU。當橋設備的一個端口收到來自其他橋設備發送的RST BPDU,該橋設備就會與自身的RST BPDU做一個對比。若本身的RST BPDU比收到的RST BPDU更優,就會將其丟棄,同時會回復自身的RST BPDU。若收到的RST BPDU比自身的RST BPDU更優,就會停止發送RST BPDU,將收到的RST BPDU替換成原來自己本身的RST BPDU,接收橋設置所有的下游所有指定端口為Discarding狀態,如果下游端口是Alternate或者邊緣端口,則端口狀態保持不變。

  2、選舉根端口

  當橋設備下游端口全部為Discarding狀態后,此橋會向根橋發送一個回復RST BPDU。此BPDU中Flags字段內設置了Agreenment標記位和端口角色。此過程中,按照STP的根端口選舉方式選舉的根端口立刻由Discarding狀態變為Forwarding狀態。

  3、選舉指定段口

  與STP的指定端口選舉方式一致。當上游橋設備接收到Agreement置位的BPDU后,指定端口的狀態立刻由Discarding狀態變為Forwarding狀態。端口角色變為指定端口。

   4、阻塞端口

   當選擇出根端口與指定端口后,剩余的所有非邊緣端口全部為Discarding狀態,作為根端口的備份與指定端口的備份。一般情況下為阻塞狀態。

注:①邊緣端口一般情況下是橋設備與主機的連接端口,不會接收到配置BPDU報文,也不參與RSTP的運算。如果 RSTP 邊緣端口接收到 BPDU,則該端口立刻喪失邊緣端口的屬   性,而成為普通的生成樹端口。

  ②當拓撲穩定之后,無論非根橋交換機是否接收來自根橋的BPDU,非根橋交換機都會按照Hello Time時間間隔(默認2秒)向外發送配置BPDU。

五、故障

  在RSTP中,當橋設備在3次Hello Time的時間內(共6秒)沒有收到上游交換機發送的BPDU,便會認為與上游橋設備通信失敗,這時會向外發送TC BPDU,通知上游橋設備清除其MAC地址表項,當上游橋設備接收到TC BPDU后,會清除除接收端口之外的端口的MAC地址表項並繼續向外發送此TC BPDU。在此期間故障或檢測到故障的橋設備會重新進行RSTP計算,來確定根端口及其他端口。

六、RSTP可與STP兼容

  兩者是可以兼容的,但是不推薦。因為這樣因為STP的原因導致RSTP收斂速度變慢,從而失去RSTP的快速性。

七、RSTP的三種“保護”

  1、環路的保護。

  與STP一樣,由於有阻塞端口的存在,這樣使得橋設備之間既保持了網絡拓撲的環路、橋設備之間的冗余與安全性,又避免了類似於廣播風暴這樣的環路帶來的問題。

  2、邊緣端口的保護。

  邊緣端口是會收到BPDU報文,也不會不參與RSTP計算的。當邊緣端口收到惡意攻擊,收到了BPDU報文,生成樹便會重新進行計算,從而引起網絡的震盪。面對這一問題,可設置邊緣端口保護,當邊緣端口接收到BPDU報文時,會立刻關閉此端口,可設置為自動恢復或者需要由管理員進行手動恢復。

  3、根保護

  在生成樹中,根橋的配置BPDU是最優的,但是也不排除會有錯誤配置或者惡意攻擊,從而發送更優的配置BPDU,從而使得生成樹的重新計算而引起的網絡震盪、流量擁塞。所以有了根保護的功能解決此問題。

  根保護是通過維持指定端口角色而進行對根橋的保護。一旦啟用了此功能的指定端口接收到優先級更高的配置BPDU時,端口狀態會立刻進入Discarding(STP中Listening)狀態,不轉發數據。在一段時間內(通常為兩倍的Forward Delay)端口沒用再次收到更優的配置BPDU,端口就會恢復為Forwarding狀態。

  根保護功能僅僅在指定端口生效,不能配置在邊緣端口或者阻塞端口上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM