【路由交换实验】生成树STP(stp,rstp,mstp)
理論
冗余的重要性
?
?
?叫做MAC地址表的震蕩
為了增加網(wǎng)絡(luò)的可靠性,有必要引入雙鏈路的備份,但是引入冗余鏈路以后,網(wǎng)絡(luò)里面又產(chǎn)生了環(huán)路,產(chǎn)生一系列廣播風暴的問題,可以使用STP生成樹協(xié)議來解決這個問題。生成樹協(xié)議可以在提高可靠性的同時,又能避免環(huán)路帶來的各種問題,它是怎么辦到的?
?STP的基本思想就是阻斷一些接口,把環(huán)路打破,形成一個樹的結(jié)構(gòu)
生成樹協(xié)議通過在交換機之間交換BPDU來實現(xiàn)生成樹協(xié)議,核心就是大家協(xié)商好到底要阻塞哪些端口來打破環(huán)路
STP工作原理:
?
?上圖中有ABC三個交換機,明顯存在環(huán)路,我們在三個交換機上都運行STP協(xié)議
第一步:選舉根橋
在最早的時候,每個交換機都認為自己是根橋,但是在交換了BPDU以后,大家一致選舉唯一的交換機作為根橋,那怎么選舉呢?PK的是他們的橋ID
?橋ID由兩個部分組成,前面兩個字節(jié)橋優(yōu)先級,默認是32768,優(yōu)先級是可以通過命令來配置改變的,后面四個字節(jié)是這個交換機的MAC地址,MAC地址是固化在交換機上面不可更改的。
上圖中SWA的橋ID是4096 AA,SWB的橋ID是32768 BB,SWC的橋ID是32768 CC
顯然SWA的橋ID更小,所以SWA成功當選為根橋。
第二步:為那些非根橋的交換機選舉唯一的一個根端口
?在這個例子里SWB和SWC都沒有選舉為根橋,所以SWB和SWC都需要選舉根端口,我們以SWB為例來看它怎么選舉根端口:
SWB有兩個接口G0/0/1和G0/0/2,那么這兩個接口要PK的是根路徑代價(開銷)
?SWB上的G0/0/1,計算根路徑開銷。我們從根交換機要到達SWB的G0/0/1,它只要走左上這條路就可以,路徑開銷代價是0
G0/0/2,從根交換機到2號端口要走右邊這條路先經(jīng)過SWC,這時候根路徑開銷是0,再從SWC的一號端口進,一號端口是2000再到SWB,整個路徑開銷代價是20000
現(xiàn)在SWB一號路徑開銷代價是0,二號端口的根路徑開銷代價是20000,1號路徑的開銷小,所以G0/0/1成功選舉為SWB這個交換機的根端口
同理SWC也會選舉它的1號端口作為它的根端口。
第三步:給每一個網(wǎng)段選舉一個唯一的指定端口
?每一條鏈路就是一個網(wǎng)段,我們這個例子有三個網(wǎng)段,先來看左邊這個網(wǎng)段的兩個端口:SWB上的G0/0/1和SWA上的G0/0/1,那個端口的根路徑開銷越小呢?A交換機的1號端口直接就在根交換機上,當然離根交換機最近,所以選舉A交換機的1號口作為左邊這個網(wǎng)段的指定端口。
對于下面的網(wǎng)段SWB的2號端口它的根路徑開銷是20000,SWC的二號端口也是2000,在根路徑開銷相同的情況下,比較橋ID,swb的橋id比swc小,所以swb的二號端口成功當選為下面這個網(wǎng)段的指定端口
第四步:
?G0/0/2會成為預(yù)備端口,這樣stp工作完成,最后決定阻塞SWC的2號端口,成功將這個環(huán)路打破
?
?
一個端口從阻塞狀態(tài)首先會進入listening狀態(tài),然后過了15s進入learning狀態(tài),再過15s進入轉(zhuǎn)發(fā)狀態(tài)
剛才我們?yōu)榱舜蚱七@個環(huán)路,把SWC的2號端口阻塞,但是這個網(wǎng)絡(luò)某個鏈路突然斷掉,網(wǎng)絡(luò)不同,那我們備用的SWC的2號端口應(yīng)該頂上去使用,這個端口會經(jīng)過20s時間察覺到拓撲變化,需要啟用,然后進入listening狀態(tài),過15s進入learning,再過15s進入轉(zhuǎn)發(fā)狀態(tài)。一個阻塞端口在需要啟用的時候,從阻塞到轉(zhuǎn)發(fā)狀態(tài)要50s。這個時間叫STP收斂時間。
?50s對于緊急的業(yè)務(wù),關(guān)鍵的網(wǎng)絡(luò)來講實在是太長了,所以RSTP出現(xiàn)了,RSTP是快速生成樹協(xié)議,rapid spanning tree protocol,實際上它是在STP里面增加了一些讓收斂時間能夠變小的措施,然后形成了一個改進版的新的協(xié)議。
?小結(jié):為了提高網(wǎng)絡(luò)的可靠性我們經(jīng)常需要一些冗余的鏈路,冗余的鏈路會造成整個網(wǎng)絡(luò)里面出現(xiàn)環(huán)路,出現(xiàn)環(huán)路會導致廣播風暴等一系列問題,為了避免這些問題,我們用stp來打破環(huán)路,stp收斂速度比較慢要50s,所以我們有了改進的rstp來減少收斂時間。
實驗
實驗1 生成樹協(xié)議
?這個拓撲用了兩臺交換機實現(xiàn)了雙鏈路的備份,中間的雙鏈路就構(gòu)成了環(huán)路,環(huán)路會造成廣播風暴的問題,我們運行stp打破環(huán)路
實驗步驟:
?1、配置PC的IP地址
2、查看默認開啟的生成樹協(xié)議。在默認情況下,我們什么也沒有配置過,這個時候,交換機已經(jīng)默認跑了某一個版本的生成樹協(xié)議,那它跑的是什么版本呢?我們可以用用dis stp查看,這條命令顯示的東西非常多,我們先找mode,mode顯示swa和swb的stp版本都是mstp,我們知道stp有stp,rstp和mstp三個版本,華為交換機默認啟用的生成樹協(xié)議是mstp。然后我們再看一下time信息,這里顯示mstp默認的時間設(shè)置,swa和swb一樣,hello是2s,maxage是20s,fwdly是15s(forward delay),maxhop是20s。接下來找cist bridge信息,這個信息是橋ID的信息,可以判斷出根交換機是A。
3、觀察接口狀態(tài)0/0/2是alte discarding被阻塞,swa是根交換機,swb的1號口是根端口,swb的2號口被阻塞。環(huán)路被打破
4、1號端口的編號更小,1號端口當選為swb的根端口
我不想跑smtp想換成stp:
?現(xiàn)在SWB設(shè)置為了根交換機。(把swb的優(yōu)先級改了)
?收斂時間30~50s
2號口頂上來用了,因為swa的端口被shutdown了。
實驗2 快速生成樹協(xié)議的配置
和實驗1一樣,主要是體會時間是不是更快
實驗演示
實驗1 生成樹協(xié)議
1、配置PC的IP地址、子網(wǎng)掩碼
2、查看默認開啟的生成樹協(xié)議
現(xiàn)在交換機默認跑起來,已經(jīng)察覺到了雙鏈路備份,有環(huán)路,馬上就跑生成樹協(xié)議了
在swb上用dis stp查看stp信息
?
所以A當選為了根交換機
?我們可以用dis stp bri
?
?現(xiàn)在SMTP工作的結(jié)果是A當選為根交換機兩個接口都工作,B的一號口當選為根端口,在工作,二號口處于阻塞狀態(tài),環(huán)路被打破!
B交換機為什么選擇1號口作為根端口,而不選擇2號口?
這要看根路徑開銷,但是這兩個口到根交換機距離一樣啊,在距離一樣的情況下就要看他們的端口號id,他們的端口號id是由他們端口的優(yōu)先級+端口號碼組成的,因為G0/0/1的編號比G0/0/2的編號小一點,所以勝出,所以一號口作為根端口。
4、現(xiàn)在我們的生成樹協(xié)議是mstp,我想換成stp模式
stp mode stp
[SWB]stp mode stp
[SWA]stp mode stp
現(xiàn)在是A是根交換機,但是我覺得B的性能更好,我希望B為根交換機。我們知道誰當選根交換機是PK他們的優(yōu)先級+他們的MAC地址的,但是他們的MAC地址是不能換的,所以我們改變優(yōu)先級讓B當選為根交換機
我們知道默認優(yōu)先級是32768,現(xiàn)在把B的優(yōu)先級設(shè)置為4096
[SWB]stp priority 4096
現(xiàn)在dis stp
?
?
?
?5、測試STP收斂時間
用ping,在pc1上去pingPC2
先PC1上ping 192.168.0.137 -t
現(xiàn)在B是根交換機,A是非根交換機,A的0/0/2阻塞,所以ping包走的路線是用上面那根線,現(xiàn)在人為破壞上面這根鏈路,下面的那條鏈路就會頂上去
我們在SWA上進入1號口
?
?
?收斂太慢了,所以我們有了rstp。
MSTP理論
mstp全稱多生成樹協(xié)議,它是通過802.1s來進行定義的
?
?這個拓撲圖是個環(huán),肯定要用到生成樹協(xié)議,華為交換機默認采用的就是MSTP
假設(shè)在上面這個圖中有四個vlan,SW1為根交換機,SW2為次根交換機(備份根),那么他會阻塞誰?
SW2上的G0/0/2和SW3上的G0/0/6為根端口,很顯然SW2上的e0/0/3為指定端口,阻塞SW3上的e0/0/5
那么也就是說在這個拓撲圖最終形成了下面這個拓撲:
?那么右邊那條線路就是浪費的,怎么辦呢?用mstp
假設(shè),這四個vlan,我給他劃分兩個組,比如10,20在一組,30,40在一組。
那么對于【10,20】這個組,我讓他生成一棵樹
對于【30,40】,也生成一棵樹
?
?兩個VLAN走左邊,兩個走右邊,達到了負載均衡,不會有空余的線路浪費
這個“組”在MSTP里面叫“實例”通過instance來定義,一個實例一顆生成樹,互不影響。
上面拓撲圖中交換機上都是trunk鏈路:
?
【實驗步驟】
1、創(chuàng)建vlan
SW1,SW2,SW3上都使用vlan batch 10 20批量創(chuàng)建vlan
2、端口加入vlan(SW1-3的配置省略)
3、開始配置MSTP
stp mode mstp #這條命令可以不敲,敲更好
[SW1]stp region-configuration?? #進入mstp配置模式
[SW1-mst-region]region-name huawei? #配置域名為huawei
[SW1-mst-region]revision-level 1?? #設(shè)置版本等級為1
[SW1-mst-region]instance 1 vlan 10? #實例1當中,只包含vlan10(將vlan10加入實例1中)
[SW1-mst-region]instance 2 vlan 20? #將vlan20加入實例2中
[SW1-mst-region]active region-configuration #一定要激活(激活配置)
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW1-mst-region]
?
[SW2]stp region-configuration
[SW2-mst-region]reg?? ?
[SW2-mst-region]region-name huawei
[SW2-mst-region]revis?? ?
[SW2-mst-region]revision-level 1
[SW2-mst-region]instance 1 vlan 10
[SW2-mst-region]instance 2 vlan 20
[SW2-mst-region]active region-configuration
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW2-mst-region]
[SW3]stp region-configuration
[SW3-mst-region]region-name huawei?
[SW3-mst-region]revision-level 1
[SW3-mst-region]instance 1 vlan 10? #映射10
[SW3-mst-region]ins 2 vlan 20
[SW3-mst-region]active region-configuration
4、查看一下stp
dis stp bri
?
?
現(xiàn)在要看誰是根的話,我們現(xiàn)在還沒有控制根,這個配置肯定是錯誤的。
配置:
對于實例1來講,SW1為主根,SW2為備根
對于實例2來講,SW2為主根,SW1為備根
[SW1]stp instance 1 root primary
[SW1]stp instance 2 root secondary
[SW2]stp instance 1 root secondary
[SW2]stp instance 2 root primary
然后通過SW3,
可以使用dis stp instance 2 bri 查看具體實例阻塞了哪個端口
總結(jié)
以上是生活随笔為你收集整理的【路由交换实验】生成树STP(stp,rstp,mstp)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链在数据流通中的应用
- 下一篇: 作者:胡青青(1984-),女,就职于中