1、RSTP的產生安全
前面的文章寫到了當網絡拓撲發生變化時,STP的收斂速度大約須要花費30秒-50秒的時間纔會繼續轉發數據。這樣在實際生產環境中花費的時間是很是長的,這樣RSTP(快速生成樹協議)便應運而生。網絡
2、RSTP與STP的區別spa
一、端口角色的區別blog
在RSTP中,新增兩個兩個端口角色(Backup與Alternate)。其中,Backup端口做爲非橋設備的備份指定端口。Alternate端口做爲非橋設備的備份根端口。正常狀況下,Alternate端口與Backup端口做爲Disabeld狀態。當非根橋設備上的根端口或指定端口出現問題時,會立馬啓用最爲新的根端口或指定端口。配置
二、特殊的「指定」端口List
在RSTP中,將特殊的指定端口改成邊緣端口。邊緣端口通常狀況下是橋設備與主機的鏈接端口,不會接收到配置BPDU報文,也不參與RSTP的運算。若是 RSTP 邊緣端口接收到 BPDU,則該端口馬上喪失邊緣端口的屬性,而成爲普通的生成樹端口。能夠直接由Disabeld(關閉)狀態直接轉換爲Forwarding(轉發)狀態(不經歷端口狀態改變的延時) 。im
3、STP配置BPDU報文中的Flags字段在RSTP中獲得應用。d3
4、RSTP收斂過程。通信
一、選舉根橋。數據
開始時,全部的橋設備都認爲本身是根橋,全部的端口都處於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或者邊緣端口,則端口狀態保持不變。
二、選舉根端口
當橋設備下游端口所有爲Discarding狀態後,此橋會向根橋發送一個回覆RST BPDU。此BPDU中Flags字段內設置了Agreenment標記位和端口角色。此過程當中,按照STP的根端口選舉方式選舉的根端口馬上由Discarding狀態變爲Forwarding狀態。
三、選舉指定段口
與STP的指定端口選舉方式一致。當上遊橋設備接收到Agreement置位的BPDU後,指定端口的狀態馬上由Discarding狀態變爲Forwarding狀態。端口角色變爲指定端口。
四、阻塞端口
當選擇出根端口與指定端口後,剩餘的全部非邊緣端口所有爲Discarding狀態,做爲根端口的備份與指定端口的備份。通常狀況下爲阻塞狀態。
注:①邊緣端口通常狀況下是橋設備與主機的鏈接端口,不會接收到配置BPDU報文,也不參與RSTP的運算。若是 RSTP 邊緣端口接收到 BPDU,則該端口馬上喪失邊緣端口的屬 性,而成爲普通的生成樹端口。
②當拓撲穩定以後,不管非根橋交換機是否接收來自根橋的BPDU,非根橋交換機都會按照Hello Time時間間隔(默認2秒)向外發送配置BPDU。
5、故障
在RSTP中,當橋設備在3次Hello Time的時間內(共6秒)沒有收到上游交換機發送的BPDU,便會認爲與上游橋設備通訊失敗,這時會向外發送TC BPDU,通知上游橋設備清除其MAC地址表項,當上遊橋設備接收到TC BPDU後,會清除除接收端口以外的端口的MAC地址表項並繼續向外發送此TC BPDU。在此期間故障或檢測到故障的橋設備會從新進行RSTP計算,來肯定根端口及其餘端口。
6、RSTP可與STP兼容
二者是能夠兼容的,可是不推薦。由於這樣由於STP的緣由致使RSTP收斂速度變慢,從而失去RSTP的快速性。
7、RSTP的三種「保護」
一、環路的保護。
與STP同樣,因爲有阻塞端口的存在,這樣使得橋設備之間既保持了網絡拓撲的環路、橋設備之間的冗餘與安全性,又避免了相似於廣播風暴這樣的環路帶來的問題。
二、邊緣端口的保護。
邊緣端口是會收到BPDU報文,也不會不參與RSTP計算的。當邊緣端口收到惡意攻擊,收到了BPDU報文,生成樹便會從新進行計算,從而引發網絡的震盪。面對這一問題,可設置邊緣端口保護,當邊緣端口接收到BPDU報文時,會馬上關閉此端口,可設置爲自動恢復或者須要由管理員進行手動恢復。
三、根保護
在生成樹中,根橋的配置BPDU是最優的,可是也不排除會有錯誤配置或者惡意攻擊,從而發送更優的配置BPDU,從而使得生成樹的從新計算而引發的網絡震盪、流量擁塞。因此有了根保護的功能解決此問題。
根保護是經過維持指定端口角色而進行對根橋的保護。一旦啓用了此功能的指定端口接收到優先級更高的配置BPDU時,端口狀態會馬上進入Discarding(STP中Listening)狀態,不轉發數據。在一段時間內(一般爲兩倍的Forward Delay)端口沒用再次收到更優的配置BPDU,端口就會恢復爲Forwarding狀態。
根保護功能僅僅在指定端口生效,不能配置在邊緣端口或者阻塞端口上。