發布時間: 2017-06-16 14:35:08
生成樹協議STP/RSTP
技術原理:
STP的基本思想就是生成“一棵樹”,樹的根是一個稱為根橋的交換機,根據設置不同,不同的交換機會被選為根橋,但任意時刻只能有一個根橋。由根橋開始,逐級形成一棵樹,根橋定時發送配置報文,非根橋接收配置報文并轉發,如果某臺交換機能夠從兩個以上的端口接收到配置報文,則說明從該交換機到根有不止一條路徑,便構成了循環回路,此時交換機根據端口的配置選出一個端口并把其他的端口阻塞,消除循環。當某個端口長時間不能接收到配置報文的時候,交換機認為端口的配置超時,網絡拓撲可能已經改變,此時重新計算網絡拓撲,重新生成一棵樹。
功能介紹:
生成樹協議最主要的應用是為了避免局域網中的網絡環回,解決成環以太網網絡的“廣播風暴”問題,從某種意義上說是一種網絡保護技術,可以消除由于失誤或者意外帶來的循環連接。生成樹協議運行生成樹算法(STA).生成樹算法很復雜,但是其過程可以歸納為以下三個步驟:
(1)選擇根網橋
(2)選擇根端口
(3)選擇指定端口
當兩個Segement之間只有一條物理連接時就有可能出現單點失效→ 單方面的故障導致全網Down;Segement的三種概念:在STP領域表示一段物理介質(網線/光纖)、在封裝領域表示經過L4封裝的數據、在路由領域表示被L3設備所分割的邏輯子網;避免單點失效的方法構建冗余網絡。冗余網絡三大問題:
多幀復制(Multiple Frame Copies)-未知MAC地址的數據幀在交換機間不斷的復制轉發復制轉發……直到找到該目標地址并成功構建MAC映射,而這時該目標已經收到了N個同樣的數據幀了;
MAC表地址跳動(MAC-Adress Instability)-因為幾個接口都能夠連接同一個PC因此MAC表中該設備的MAC值匹配的接口不斷在幾個接口間跳動;
廣播風暴(Broadcast Storms)-廣播會永無休止的發送下去占用越來越多的資源直到資源耗盡網絡堵塞交換機Down機。
解決方法:STP。
生成樹協議STP(Spaining Tree Protocol)
STP核心:Provides a loop-redundant network topology,by placing certain in the blocking state(在冗余網絡中將特定的端口置于阻塞狀態,來實現既沒有環路,也可以冗余的網絡)。
Brigde-ID
是8BIT的ID,由優先級(Priority/2Bits)+MAC地址(6Bits)組成,優先級一般默認為0x8000(32768)并且只取整;
優先級取值:0x0000(0)、0x1000(4096)、0x2000()、0x3000()、0x4000()、0x5000()、0x6000(24576)、0x7000(28672)、0x8000(32768)、0x9000(36864)。
各種接口的STP默認開銷:
link speed Revised IEEE Spec Cost Previous IEEE Spec Cost
10Gbps 2 1
1Gbps 4 1
100Mbps 19 10
10Mbps 100 100
橋接協議數據單元BPDU(Bridge Protocol Data Unit)
在交換網絡中由根橋RB(Root Bridge)發送,用于STP的計算和收斂;發送周期為2秒。
BPDU的作用:選舉根橋、確定本地是否形成環路、阻塞特定端口防止環路、監控生成樹的狀態;
BPDU有兩類:TC和TCN;TCA是TC的一種,當拓撲變化時檢測到變化的交換機會通過RP向根橋發送TCN;而根橋收到TCN后會發送TCA表示收到,同時發送TC要求該交換機把MAC表的age時間改為15秒以學習新的表:由于TC是RB產生的,所以要更改各個計時器時只能在RB上更改。
端口的不同狀態
堵塞(Block,默認20s):丟棄從該接口收到的正常數據幀;不會在該接口上學習mac-address-table;不會從該接口發送正常數據幀;會從該接口接收對端發送的BPDU;不會從該接口發送BPDU;
監聽(Listen,默認15s):丟棄從該接口收到的正常數據幀;不會在該接口上學習mac-address-table;不會從該接口發送正常數據幀;會從該接口接收對端發送的BPDU;會從該接口發送BPDU(根橋RB、根端口RP、指定端口DP等的選舉在該階段完成,如果接口沒有成為DP則重新回到Block);
同步(Learning,默認15s):丟棄從該接口收到的正常數據幀;會在該接口上學習mac-address-table;不會從該接口發送正常數據幀;會從該接口接收對端發送的BPDU;會從該接口發送BPDU;
轉發(Forward,直到down機→TK里面是15、30s的):從該接口接受正常數據幀;會在該接口上學習mac-address-table;從該接口發送正常數據幀;會從該接口接收對端發送的BPDU;會從該接口發送BPDU。
交換機對BPDU的處理
如果交換機從一個接口接收到優先級高的BPDU,會把該BPDU保存下來并且該接口不再往外發送BPDU。在收斂時只有根橋產生BPDU,其余交換機只能從RP接收BPDU后才從DP發送出去;這樣非根橋可能從DP或者NDP接受到BPDU。如果交換機從DP接收到優先級低的BDPU會丟棄,并給源MAC發送自己較新的BPDU;如果從NDP收到優先級低的BPDU會只丟棄了事。
LAB1:四大結論第一(One root brigde per network)
STEP1:察看交換機的網管IP 所對應的那個MAC地址:
每一個STP交換網絡都只有一個根橋RB;引用原則1-Lowest Brigde-ID的那個交換機就是RB;
Brigde-ID由本交換機的優先級(2字節)和網管MAC地址(6字節)組成一共8個字節(網管MAC地址:可以理解為被telnet的那個地址);
用#sh ve查看MAC地址得:Base ethernet MAC address:00:0F:FE:2A:80:F6 ;還有sh cdp nei也能察看到MAC地址;
交換機的STP優先級默認是0x8000(32768);
STEP2:查看STP相關信息(本機BID):
用#sh spanning-tree查看,Root-ID就是本STP網絡中根橋的Brigde-ID→根據Root-ID找到根橋;
STEP3:通過優先級控制根橋選舉:
根橋:sw1(config)#spanning-tree vlan 1 root primary(默認PRI=24576/0x6000);備份根橋:sw2(config)#spanning-tree vlan 1 root secondary(默認PRI=28672/0x7000);
還可以更改優先級:
通過#spanning-tree vlan 1 priority 4096 。
LAB2:四大結論第二(One root port per non-root brigde)
STEP1:查看Cost:
每個非根橋NRB都有一個唯一的根端口RP;不是RB的交換機都是NRB;引用原則2-Lowest path cost to root bridge的那個交換機接口就是RP;
用#sh spanning-tree查看,得知當前的RP是9,Cost為19 (當前去往根橋的cost值);
STEP2:控制RP的選舉:
用(c-i)#speed 10(單位是Mbps);
可以用#sh in status →sh spanning-tree detail查看;
也可以通過直接調試Cost值來控制:(c)#spanning-tree cost 50 。
LAB3:四大結論第三(One designated port per segement)
STEP1:查看Cost:
每一個網段有一個指定端口DP;引用原則3→Lowest sender Brigde-ID;
STEP2:控制DP的選舉:
SW1(c)#spanning-tree vlan 1 priority 36864(優先級Prio=0x9000)。
LAB4:四大結論第四(Nondesignated ports are unused )
STEP1:查看Cost:
沒有獲得任何標記的端口NDP被禁用;引用原則4-Lowest port ID;用#sh spanning-tree in f0/22 detail查看;斷后NDP是SW2的Fa0/7!BPDU入口不能堵的?。。。?/span>
STEP2:控制NDP的選舉:
SW3(c-i)#spanning-tree port-priority 32 (這個值必須是16的整倍數);再查看。
STEP3:SW2與SW1的連接恢復后會怎樣?
先堵7后堵8→SW2被堵死了……把SW2改為RB后再恢復呢?
LAB5:觀察STP的轉發延時
STEP1:直鏈檢測錯誤 (35秒):
PC1 ping sw3的網管IP,shutdown SW3 23口觀察:
讓SW1成為根橋,即把優先級改為最低(c)#spanning-tree vlan 1 prilrity 0 ;然后PC3 ping PC1的同時shutdown掉SW2的Fa0/23,因為SW2的Fa0/8是阻塞的,所以down之前是從SW2的Fa0/23口發送數據到PC1的;
STEP2:非直鏈檢測錯誤(50秒):
PC3 ping sw3的網管IP,shutdown SW3 9口觀察:
SW1/SW2的鏈路帶寬由原來的100M改為10M后Cost值變為100,而SW1/SW3和SW2/SW3為100M,那么Fa0/23是阻塞的;ping的同時shutdown掉SW2的Fa0/8后觀察時間。
上一篇: VPN特點
下一篇: SSH登陸網絡設備