######################################
802.1d STP (cisco PVST/PVST+)
802.1w RSTP (cisco Rapid-PVST+)
802.1s MST
######################################
802.1d STP
STP解決交換式互聯網絡中多條冗餘鏈路導致的環路問題。
STP在交換式網絡中計算出一棵無環的樹,以選舉的Root Bridge爲樹根,通過阻塞冗餘鏈路的某個端口來防止環路的產生;
STP中的幾個專業術語:
Root Bridge:根橋,即整個STP的樹根;
DP:指定端口,負責發送或者轉發最優的BPDU;
RP:根端口,距離Root最近的端口,每個非root交換機上只能有一個RP,負責接受最優的BPDU;
BP:阻塞端口,不能轉發數據,只能監聽BPDU;
BPDU:橋協議數據單元,用於STP各成員角色的選舉;
STP成員角色的選舉步驟:
1、選Root Bridge,比較各交換機的Bridge_ID(priority+MAC),Bridge_ID最小的被選爲Root;
(先比較priority,若priority相同,再比較MAC)
2、在每一臺交換機上選RP,比較每一個端口接收到的BPDU內含的cost加上自己接口的cost。
cost之和最小的端口成爲RP;
若cost之和相同,則比較BPDU轉發者的Bridge_ID(priority+MAC),越小越優先;
若BPDU轉發者的BID相同,則比較BPDU轉發者的Port_ID(Port_priority+Port_Num),越小越優先;
3、選DP,Root上所有端口都是DP,在非Root交換機上,選舉DP的步驟跟上面一樣,但是需要注意的是,選DP口的BPDU轉發者就是它所在的交換機本身;
(Bridge_ID中的priority是4096的倍數,Port_ID中的Priority是16的倍數)
STP端口狀態:
Disable 初始狀態
|
Blocking(20s) 阻塞狀態,不轉發數據
|
Listening(15s) 監聽狀態,不轉發數據
|
Learning(15s) 學習狀態,學習MAC地址,填充CAM表
|
Forwarding 轉發狀態
缺點:收斂速度太慢,最大50s的收斂延遲;
cisco加速特性:
Portfast,端口加速,用於access口,從Disable狀態直接進入Forwarding狀態,跳過Listening和Learning;
Uplinkfast,上行鏈路加速,用於接入層交換機,通過備份一個Alternate Port來頂替失效的RP;
Backbonefast,骨幹加速,用於匯聚/核心層交換機,解決非自身直連問題。
STP防衛特性:
BPDU Guard
配置了BPDU Guard特性的端口一旦接收到非法BPDU,則將端口置入error-disable狀態;
Root Guard
配置了Root Guard特性的端口一旦接收到更優的非法BPDU,則將端口置入loop-inconsistent狀態,停止轉發數據;
當不再接收到更優的非法BPDU時,該端口會自動恢復到正常狀態;
Loop Guard
配置了Loop Guard特性的端口若檢測到該端口接收不到BPDU,則將端口置入loop-inconsistent狀態,
當再次收到BPDU時,又恢復到正常狀態;(Loop Guard用於軟件原因引起的接收不到BPDU或者DP不發BPDU)
UDLD
配置了UDLD特性的端口若檢測到該端口接收不到BPDU,會嘗試着與對端重新連接,最多重連8次,若8次都失敗,則將端口置入error-disable狀態。(UDLD用於物理原因引起的接收不到BPDU或者DP不發BPDU,常用於光纖線路)
(UDLD 和BPDU Guard導致的error-disable不會自動恢復,除非手動配置)
在cisco設備中,默認運行的是PVST/PVST+,每一個VLAN一個生成樹。
PVST僅支持ISL封裝的trunk鏈路,PVST+支持Dot 1Q封裝的trunk鏈路。
802.1w RSTP(Rapid STP)
RSTP與STP最大的優勢就是加快了收斂速度。
基本原理與STP都差不多,但是有些地方發生了變化。
RSTP的快速收斂體現在哪些地方:
1、RSTP的RP口只要在3個BPDU時間間隔內沒有收到BPDU,則激活收斂進程;而原始的STP需要等待10個時間間隔;
2、RSTP取消了端口的Listening狀態,取而代之的將Blocking和Listening融合成一個狀態,稱爲DIscarding狀態,該狀態下不轉發數據;
3、RSTP將cisco的3個加速特性標準化;如使用一個Alternate Port備份RP,替換失效的RP口;
4、RSTP使用一個Backup Port來備份DP口,替換失效的DP口;(這個特性與原cisco的加速特性無關)
5、RSTP使用Link-Type來將端口進行分類,如將連接host的端口標識爲Edge Port,該類型的端口將直接從Disable狀態進入Forwarding狀態,與cisco的portfast特性相類似;
802.1s MST(Multiple Spaning Tree Protocol)
在VLAN數量非常龐大的園區網中運行PVST+,很明顯是不明智的,例如在1000個VLAN的園區網中,運行PVST+將意味着交換機要處理並維護1000個生成樹,無疑給交換機帶來巨大的CPU負擔。於是cisco爲了應付這種情況,開發了MST,並將其推入標準化市場,而不像之前的PVST/PVST+/Rapid-PVST只能由思科自己的設備才能運行。
| MST可以將多個VLAN劃入一個生成樹實例,即多個VLAN共用一個生成樹。允許存在多個生成樹實例。
| 不同的生成樹實例使用不同的冗餘鏈路。
| MST內部使用RSTP的基本原理,達到快速收斂的目的;
| 可以用於cisco設備與非cisco設備之間的互聯;
| MST域和非MST域進行互聯時,MST域將自己視爲一個虛擬的交換機,參與到外部非MST域的STP(CST);