一、STP(生成樹協議)
運行在交換機上防止交換機換路的技術
為了提高網絡可靠性,交換網絡中通常會使用冗余鏈路。然而,冗余鏈路會給交換網絡帶來環路風險,並導致廣播風暴以及MAC地址表不穩定等問題,進而會影響到用戶的通信質量。生成樹協議STP(Spanning Tree Protocol)可以在提高可靠性的同時又能避免環路帶來的各種問題。
二、環路引起的問題
交換機之間通過多條鏈路互連時,雖然能夠提升網絡可靠性,但同時也會帶來環路的問題。
1、環路會引起廣播風暴
網絡中的主機會受到重復的數據,造成網絡堵塞和卡頓。
通過實驗體驗一下環路帶來的影響
實驗:
因為華為路由器默認自動開啟了stp功能,我們做這實驗時先把交換機的stp功能關閉。
stp disable 所有交換機都這樣關閉(因為華為交換機默認都開啟STP)
[LSW6]stp disable
[LSW7]stp disable
[LSW8]stp disable
我們配置 pc9的ip地址為192.168.1.2/24
用PC ping 192.168.1.3,觸發一個廣播包,並抓包
ping測后發現一直在發廣播包,已經形成廣播風暴了
當我們再次開啟stp后抓包,stp enable
2、環路相起MAC地址表震盪
三、STP作用和本作原理
1、STP的作用,通過運行STP的算法,阻塞特定的接口實現冗余無環的網絡。
2、工作原理
原理:阻塞端口(預備端口)通過選舉阻塞端口,來防止環路
1)STP中的選舉步驟和端口狀態
選舉步驟:
①、選舉ROOT-SW根網橋
② 、選舉根端口RP(root port)
③、選舉指定端口DP(Designate port)
④、其余的端口被Block阻塞
⑤stp選舉時候端口狀態(15s 到listening,選舉就結束了)
第一步、根橋選舉
每一台交換機啟動stp后,都認為自己是根橋。啟動stp后在整個網絡先選出根橋,
通過BID進行比較(BID由優先級+mac地址組成)先比較優先級,在比較MAC地址,越小越優先。根橋上面的端口都是DP(指定端口)。
如下圖紅框的是每個交換機的優先級和MAC地址,優先級都是32768,那再拿MAC地址進行比較。
第二步、選擇根端口RP
1)、非根橋的交換機選舉根端口root prot(根端口有且僅有一個)到達根橋最近的端口當選為跟端口。
RP端口在我們非根交換機上選舉
非根交換機上有且只有一個RP端口
RP端口是到達root交換機的最優路徑
選舉規則:
1、該端口到達root交換機的開銷(入口開銷之和)推薦這種方式選舉RP端口
2、發送設備的BID
3、對端設備的PID
4、自身的PID
2)
1、該端口到達root交換機的開銷(入口開銷之和)
2、發送設備的BID
3、對端設備的PID
4、自身的PID
問題:怎么樣讓SW11的G0/0/4變成RP端口呢?
3)
1、該端口到達root交換機的開銷(入口開銷之和)
2、發送設備的BID
3、對端設備的PID(注意是對端設備的PID)
4、自身的PID
想讓SW6的G0/0/4口成為RP端口?怎么辦?
第三步、選舉指定端口DP
1)、比較同一段鏈路上2個端口到根的cost,較小的一個端口成為DP,如果相同再比較對端BID(Sender BID)。
2)、比較同一段鏈路上的2個端口的對端BID(Sender BID),較小的一個端口成為DP
第四步.剩下的端口全部被阻塞
網絡收斂后
1、只有指定端口和根端口可以轉發數據。
2、其他端口為預備端口,被阻塞,不能轉發數據(不能發送BPDU,但是可以接收BPDU),只能夠從所連網段的指定交換機接收到BPDU報文,並以此來監視鏈路的狀態。
注意點:AP端口是一個邏輯的阻塞端口 這個端口可以接收BPDU報文 但是不能發送BPDU報文 更加不能轉發用戶流量
注:可以通過修改交換機stp的優先級來確定哪台交換機主根橋,交換機有dwon到轉發狀態大概經過30S,分為down-----listening-----learning-----forwarding四個過程
華為交換機默認己開啟stp,stp的模式默認為mstp
stp有三種模式:
mstp Multiple Spanning Tree Protocol (MSTP) mode
rstp Rapid Spanning Tree Protocol (RSTP) mode
stp Spanning Tree Protocol (STP) mode
四、操作實驗
1、因為華為交換機默認stp的模式默認為mstp,我們把交換機的stp模式都改為stp
把三個交換機stp模式改為stp
LSW3 <Huawei>sys [Huawei]sysname LSW3 [LSW3]stp mode stp LSW4 <Huawei>sys [Huawei]sysname LSW4 [LSW4]stp mode stp LSW5 <Huawei>sys [Huawei]sysname LSW5 [LSW5]stp mode stp
2、查看每個交換機的stp工作信息
[LSW3]dis stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 DESI FORWARDING NONE 0 GigabitEthernet0/0/2 DESI FORWARDING NONE [LSW4]dis stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 ROOT FORWARDING NONE 0 GigabitEthernet0/0/2 ALTE DISCARDING NONE [LSW5]dis stp brief MSTID Port Role STP State Protection 0 GigabitEthernet0/0/1 DESI FORWARDING NONE 0 GigabitEthernet0/0/2 ROOT FORWARDING NONE
通過實驗可以得出上圖結果
由上面信息可以看出,LSW3是根橋,LSW4 GE0/0/1和LSW5 GE0/0/2是根端口 LSW5 GE0/0/1是指定端口, LSW4 GE0/0/2 端口阻塞
五、常用命令
1、查看交換機stp的狀態信息
[Huawei]dis stp
2、查看交換機stp下各端口的狀態
[Huawei]dis stp brief
3、修改交換機的stp優先級
如果想指定一台交換機做為根網橋可修改交換機stp的優先級,先級最低是4096,修改必須是4096的倍數
stp priority 4096
4、指定交換機成為根橋
[SW] stp root primary ###此時這台設備的優先級為0
5、指定交換機稱為次根橋
[SW] stp root secondary ###此時這台設備的優先級為4096
6、啟動生成樹
[SW] stp enable
六、故障恢復期
根橋會每隔2s發送BPDU(Hello Time),如果其它非根交換機連結果十個周期(即20s)收不到根橋發送的BPDU,會認為根橋發生故障,重新選舉根橋。
由根橋故障或直連鏈路故障到重新選舉根橋和恢復,需要30秒時間。