在企業的網絡設計中,通常都會設計具備冗餘的拓補結構。由於單一的鏈路會致使單點故障,提升故障發生的機率。越是大型的網絡,對冗餘性要求越高。可是,當網絡具備冗餘性以後,就會產生一些問題,好比:算法
當廣播幀通過交換機時,交換機就會以指數的形式生成廣播幀(交換機從除收到該廣播幀以外的全部端口轉發廣播幀)。這種廣播幀會愈來愈多,最後造成廣播風暴,致使網絡癱瘓。
這種廣播風暴只有在物理環路消失時纔可能中止。服務器
指單播的數據幀被屢次複製傳送到接受端,不少協議都只須要每次傳輸一個副本。多幀複製會形成接收端收到數據幀的多個副本,不只浪費接收端的主機資源,並且會致使上層協議在處理這些數據幀時沒法選擇,嚴重時還可能致使不可恢復的錯誤。網絡
會致使交換機經過兩個接口學到相同的MAC地址,從而致使MAC地址表紊亂,影響數據包的轉發。
雖然冗餘鏈路會存在一些問題,可是環形的物理線路可以爲網絡提供備份線路,加強網絡的可靠性,這在網絡設計中是必要的。所以,就須要一種解決方法,一方面可以保證網絡的可靠性,另外一方面還要解決由於冗餘鏈路所帶來的一系列問題。ide
STP就是用來解決這個問題的。STP並非斷掉物理環路,而是在邏輯上斷開環路,防止冗餘鏈路的一些問題的發生。學習
STP(生成樹協議)就是把一個環形的結構改變成一個樹形的結構。設計
STP就是用來將物理上存在環路的網絡,經過一種算法,在邏輯上阻塞一些端口來生成一個邏輯上的樹形結構。
對於三臺交換機構成環路的網絡,在使用STP後,交換機SW2與SW3鏈接在鏈路上的一個端口被邏輯上阻塞,也就是這條線路不能傳輸數據了,當正常通訊的線路發生故障時,被邏輯阻塞的線路將從新被激活,使得數據能從這條線上正常傳輸數據。
STP運行STA(生成樹算法)的過程很複雜。大體分爲三個步驟:3d
依據:
1.網橋是惟一的;
2.選擇交換網絡中網橋ID最小的交換機做爲根網橋。blog
離根網橋最近的端口(在一個非根網橋上有且只有一個根端口)接口
選擇根端口的依據:
1.到根網橋最低的路徑成本;
2.直連的網橋ID最小;
3.直連的端口ID最小。資源
網橋到根網橋的路徑上全部鏈路的成本之和
帶寬與路徑成本的關係
爲了消除環路造成的可能,STP進行最後的計算,在每個網段上選擇一個指定端口,選擇指定端口的依據:
1.根路徑成本較低;
2.所在交換機的網橋ID指較小;
3.端口ID值較小。
和選擇根端口不一樣,在比較端口ID時,比較的是自身的端口ID值。
接下來咱們簡單的來看一下怎麼查看生成樹的狀態
根網橋的兩個端口都是指定端口,而非根端口!
二層交換機之間經過BPDU(橋協議數據單元)來交換網橋ID、根路徑成本等信息。
BPDU包中包括:
1.根網橋ID;
2.根路徑成本;
3.發送網橋ID;
4.端口ID;
5.計時器;
根網橋的選擇是一個持續的、反覆進行的過程,每2s觸發一次,檢查BPDU的根網橋ID是否發生了變化,網絡中是否有網橋ID值更低的交換機加進來。
STP在交換機中自動運行,在交換機開機的時候能夠看到,交換機的指示燈爲×××的,而且大約30s的時間不能轉發數據,這是交換機在作STP計算。
生成樹的端口狀態
(僅供參考)
生成樹計時器
1.HEIIO時間:IEEE802.1d規定的默認時間爲2s;
2.轉發和延遲:默認值各爲15s;
3.最大老化時間:默認值爲20s。
典型的端口過渡:
1.從阻塞到偵聽20s;
2.從偵聽到學習15s;
3.從學習到轉發15s。
(STP計時器的時間可使用命令進行調整,通常狀況不建議修改)
STP與VLAN的關係:
IEEE的CST:不考慮vlan,全部vlan公用一個生成樹;
Cisco的PVST:每個vlan都有一個生成樹根;
Cisco的PVST+:加強每一個vlan生成樹;
IEEE的MST:多生成樹。
接下來咱們根據一個簡單的小拓補實驗,來說解一下如何配置生成樹:
1.Cisco的設備默認已經啓用了生成樹,(啓用生成樹的命令)
2.指定根網橋
3.若是在現實環境中,交換機某個接口鏈接的服務器,咱們不可能讓它30s以後在進行工做,能夠配置速端口,命令
生成樹的命令差很少就這些,之後若是用到別的會時時更新的!
———————— 本文至此結束,感謝閱讀 ————————