STP是普遍應用在二層的具備冗餘的網絡中用來消除環路的一種機制,固然二層環網中用來消除環路的技術還有RRPP和H3C的smart-link技術等。網絡
1、STP的一些基本概念ide
STP是IEEE802.3D定義的,在二層網絡中阻塞冗餘鏈路,消除環路的一種,STP包含:STP、RSTP和MSTP等。學習
一、 根橋:網絡中根優先級最小的那臺交換機稱爲根橋,默認的優先級爲32768。根橋優先級的步長爲4096的整數倍,取值範圍爲0~61140。blog
二、 橋優先級:表示橋的優先級。接口
三、 根端口:根橋上的全部端口都是根端口,非根橋上離根橋開銷最小的那個端口稱爲根端口。v8
四、 指定端口:在指定的物理網段上到根橋開銷最小的那個端口。get
五、 橋ID:橋優先級由橋MAC兩部分組成。橋ID越小越有可能稱爲根橋。it
六、 路徑開銷用來衡量橋與橋之間鏈路的優劣。io
七、 BPDU:橋協議數據單元,在STP中存在兩種BPDU,一種爲配置BPDU,另外的一種爲TCN BPDU,用來通告拓撲的變化。class
2、STP計算過程
一、 根橋的選舉
假設SW1的橋優先級爲0,當上圖網絡中的全部設備啓用STP特性後,會從和其餘交換機相連的端口泛紅以本身爲根橋的BPDU,當交換機收到比本身更優的根橋ID的時候,便會使用該值填充BPDU中根橋的字段,經過一段時間的相互發送和比較後,因爲SW1的交換機手工設置的優先級爲0,此時,在整個網絡中SW1爲根橋。
二、 端口角色的肯定
根橋上的端口都是指定端口DP,那麼上圖SW1的1和2號端口爲指定端口,SW2爲1-3網段的指定橋,SW3爲2-4網段的指定橋,3和4端口爲根端口,3-4網段1-3的路徑比通過3-4-2這樣的路徑的開銷要小,所以3號口味3-4網段的指定端口,阻塞4號端口。
SW4到達根橋的開銷走7-5-3-1和8-6-4-2都是一致的,此時將會進行指定橋優先級,此時7爲根端口。
SW5到達根橋的開銷不管怎麼出發都是一致的,此時將會進行指定橋端口的優先級,優先級小者優先,所以9號端口爲根端口。
3、STP的端口狀態
STP的端口狀態包括:disable 、blocking、Listening、learning、Forwarding等狀態,disable狀態即端口沒有啓用stp特性,此時端口正常首發用戶數據幀。
Blocking狀態:端口處於阻塞狀態的時候,僅接受BPDU,不發送BPDU。
Listening狀態:端口處於監聽狀態,該狀態是一個過渡狀態,此時端口從blocking開始學習mac。可是在該狀態仍然不進行用戶數據幀的轉發。
Learning狀態:端口處於MAC學習狀態,該狀態規定仍然不進行用戶數據幀的轉發。
Forwarding狀態:轉發狀態,只有當端口改變成爲forwarding狀態的時候纔會進行數據幀的轉發
4、STP的拓撲的處理機制
在STP中,從listening狀態到forwarding須要通過兩倍的Forward-delay時間,Forward-delay的時間爲15s。
在STP中,當根橋選擇完畢以後,根橋產生的BPDU從指定端口發出,非根橋從根端口接受,從指定接口轉發出去,非根橋本省並不產生自身的BPDU。
當拓撲變化的時候,網橋感知拓撲變化,產生TCN置位的BPDU,通知根橋,根橋接收後會發送TCA置位的BPDU,而且產生TC置位的BPDU,下游網橋接收到根橋發送的TC置位的BPDU,會將MAC的老化時間設置爲15s。
所以在STP中,當拓撲發生變化的時候網絡的收斂時間可能爲30s或者50s。
BPDU報文中的flag字段的第0位置1爲TCN報文,第7位置1爲TCA報文。
5、STP的缺點
一、 拓撲的收斂速度很慢,不適用於靈敏性的應用。
二、 當網絡中的大量主機上線和下線時,拓撲會發生變化,對拓撲的控制不夠靈活。
6、RSTP協議
802.3w規定的快速生成樹協議,收斂機制和拓撲變化相應機制比STP快不少,主要的亮點有:
一、邊緣端口
RSTP中能夠手動將一些鏈接終端設備的端口設置爲邊緣端口,當一個端口被設置爲邊緣端口後,主機接入後能夠直接進入轉發狀態,並且邊緣端口主機頻繁上線和下線時不會對整個拓撲形成影響。
三、 端口是根端口
在RSTP中,Alternate端口是根端口的一個備份口,當根端口故障時,備份端口能夠立刻進入轉發狀態,幾乎不須要延遲。
四、 端口是指定端口
RSTP中指定了P/A機制,指定藉口能夠和對端網橋進行一次握手,便可進入轉發狀態,不依賴任何計數器,可是握手的前提必須是在點到點的鏈路中。
五、 P/A機制
BPDU報文中的flag字段,第一位是P置位,第六位是A置位。
六、 收斂機制
下游網橋收到TC置位的BPDU後會清除除TC報文接受端口除外的其他端口的MAC地址,並在兩倍的Hello-time時間內向指定端口和根端口發送TC置位的RST BPDU。
七、 RSTP 能夠兼容STP。
7、MSTP
Mstp是802.s規定的,能夠實現不一樣vlan的流量的負載和多實例。