STP協(xié)議詳解與實(shí)例_第1頁
STP協(xié)議詳解與實(shí)例_第2頁
STP協(xié)議詳解與實(shí)例_第3頁
STP協(xié)議詳解與實(shí)例_第4頁
STP協(xié)議詳解與實(shí)例_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、*1*.冗余鏈路中存在的問題這一部分使用下面這個(gè)拓?fù)鋪碇v解一下鏈路冗余容易造成的三個(gè)問題:如圖所示SW1和SW2之間有兩條線路相連,它們之間任何一條鏈路出現(xiàn)故障另外一條線路可以馬上頂替出現(xiàn)故障的那條鏈路,這樣可以很好的解決單鏈路故障引起的網(wǎng)絡(luò)中斷,但在此之前有下面三個(gè)問題需要考慮。* 廣播風(fēng)暴以太網(wǎng)交換機(jī)傳送的第二層數(shù)據(jù)幀不像路由器傳送的第三層數(shù)據(jù)包有TTL(Time To Live),如果有環(huán)路存在第二層幀不能被適當(dāng)?shù)慕K止,他們將在交換機(jī)之間永無止境的傳遞下去。結(jié)合交換機(jī)的工作原理,來看一下上面這張拓?fù)渲袕V播風(fēng)暴是如何形成的:1,PC1發(fā)出一個(gè)廣播幀(可能是一個(gè)ARP查詢),SW1收到這個(gè)廣

2、播幀,SW1將這個(gè)廣播幀從除接收端口的其他端口轉(zhuǎn)發(fā)出去(即發(fā)往fa0/2、fa0/23、fa0/24)。2,SW2從自己的fa0/23和fa0/24都會(huì)收到SW1發(fā)過來的相同的廣播幀,SW2再將這個(gè)廣播幀從除接收端口外的所有其他接口發(fā)送出去(SW2將從fa0/23接收的廣播幀發(fā)往其他三個(gè)端口fa0/24、fa0/1、fa0/2,從fa0/24接收到的也會(huì)發(fā)往其他三個(gè)端口fa0/23、fa0/1、fa0/2)。3,這樣這個(gè)廣播幀又從fa0/23以及fa0/24傳回了SW1,SW1再用相同的方法傳回SW2,除非物理線路被破壞,否則PC1-4將不停的接收到廣播幀,最終造成網(wǎng)絡(luò)的擁塞甚至癱瘓。* MA

3、C地址表不穩(wěn)定廣播風(fēng)暴除了會(huì)產(chǎn)生大量的流量外,還會(huì)造成MAC地址表的不穩(wěn)定,在廣播風(fēng)暴形成過程中:1,PC1發(fā)出的廣播幀到達(dá)SW1,SW1將根據(jù)源MAC進(jìn)行學(xué)習(xí),SW1將PC1的MAC和對(duì)應(yīng)端口fa0/1寫入MAC緩存表中。2,SW1將這個(gè)廣播幀從除接收端口之外的其他端口轉(zhuǎn)發(fā)出去,SW2接收到兩個(gè)來自SW1的廣播(從fa0/23和fa0/24),假設(shè)fa0/23首先收到這個(gè)廣播幀,SW2根據(jù)源MAC進(jìn)行學(xué)習(xí),將PC1的MAC和接收端口fa0/23存入自己的MAC緩存表,但是這時(shí)候又從fa0/24收到了這個(gè)廣播幀,SW1將PC1的MAC和對(duì)應(yīng)的fa0/24接口存入自己的MAC緩存表。3,SW2分

4、別從自己的這兩個(gè)接口再將這個(gè)廣播幀發(fā)回給SW1,這樣PC1的MAC地址會(huì)不停的在兩臺(tái)交換機(jī)的fa0/23和fa0/24之間波動(dòng),MAC地址緩存表也不斷的被刷新,影響交換機(jī)的性能。* 重復(fù)幀拷貝冗余拓?fù)涑藭?huì)帶來廣播風(fēng)暴以及MAC地址的不穩(wěn)定,還會(huì)造成重復(fù)的幀拷貝:1,假設(shè)PC1發(fā)送一個(gè)單播幀給PC3,這個(gè)單播幀到達(dá)SW1,假設(shè)SW1上海沒有PC3的MAC地址,根據(jù)交換機(jī)的原理,對(duì)未知單播幀進(jìn)行泛洪轉(zhuǎn)發(fā),即發(fā)往除接收端口外的所有其他端口(fa0/2、fa0/23、fa0/24)。2,SW2分從自己的fa0/23和fa0/24接收到這個(gè)單播幀,SW3知道PC3連接在自己的fa0/1接口上,所以SW

5、1將這兩個(gè)單播幀都轉(zhuǎn)發(fā)給PC3。3,PC1只發(fā)送了一個(gè)單播幀,PC3卻收到了兩個(gè)單播幀,這會(huì)給某些網(wǎng)絡(luò)環(huán)境比如流量統(tǒng)計(jì)帶來不精確計(jì)算等問題。*2*.STP介紹基于冗余鏈路中存在的這些問題STP被設(shè)計(jì)出來用來解決這些問題,下面介紹STP的工作原理。* STP算法STP通過擁塞冗余路徑上的一些端口,確保到達(dá)任何目標(biāo)地址只有一條邏輯路徑,STP借用交換BPDU(Bridge Protocol Data Unit,橋接數(shù)據(jù)單元)來阻止環(huán)路,BPDU中包含BID(Bridge ID,橋ID)用來識(shí)別是哪臺(tái)計(jì)算機(jī)發(fā)出的BPDU。在STP運(yùn)行的情況下,雖然邏輯上沒有了環(huán)路,但是物理線上還是存在環(huán)路的,只是物

6、理線路的一些端口被禁用以阻止環(huán)路的發(fā)生,如果正在使用的鏈路出現(xiàn)故障,STP重新計(jì)算,部分被禁用的端口重新啟用來提供冗余。STP使用STA(Spanning Tree Algorithm,生成樹算法)來決定交換機(jī)上的哪些端口被堵塞用來阻止環(huán)路的發(fā)生,STA選擇一臺(tái)交換機(jī)作為根交換機(jī),稱作根橋(Root Bridge),以該交換機(jī)作為參考點(diǎn)計(jì)算所有路徑。* 根交換機(jī)選舉首先要知道什么是BID(Bridge ID,橋ID),因?yàn)楦粨Q機(jī)的選舉是基于BID的,BID由三部分組成:優(yōu)先級(jí)、發(fā)送交換機(jī)的MAC地址、Extended System ID(擴(kuò)展系統(tǒng)ID,可選項(xiàng))如下圖所示:BID一共8個(gè)字節(jié),

7、其中優(yōu)先級(jí)2個(gè)字節(jié),MAC地址6個(gè)字節(jié)。在不使用Extended System ID的情況下,BID由優(yōu)先級(jí)域和交換機(jī)的MAC地址組成,針對(duì)每個(gè)VLAN,交換機(jī)的MAC地址都不一樣,交換機(jī)的優(yōu)先級(jí)可以是0-65535。在使用Extended System ID的情況下每個(gè)VLAN的MAC地址可以相同(在GNS3模擬器中不支持Extended System ID,Cisco Packet Tracer 5.3支持Extended System ID)。值得一提的是,現(xiàn)在的交換機(jī)普遍使用Extended System ID。擁有最小BID的交換機(jī)被選舉成為根交換機(jī)。在同一個(gè)廣播域中的所有交換機(jī)都參

8、與選舉根交換機(jī),當(dāng)一臺(tái)交換機(jī)啟動(dòng)時(shí),它假設(shè)自己是根交換機(jī),并默認(rèn)每隔2秒發(fā)送一次“次優(yōu)BPDU”幀,BPDU幀中的Root ID(根交換機(jī)的BID)和本機(jī)的BID相同。在一個(gè)廣播域中的交換機(jī)互相轉(zhuǎn)發(fā)BPDU幀,并且從接收到的BPDU中讀取Root ID,如果讀取到的Root ID比本交換機(jī)的BID小,交換機(jī)更新Root ID為這個(gè)較小的Root ID,然后繼續(xù)轉(zhuǎn)發(fā)修改后的BPDU;如果接收的BPDU中的Root ID比本交換機(jī)的BID大,那么繼續(xù)將自己的BID作為Root ID向外發(fā)送BPDU,直到最后在同一個(gè)生成樹實(shí)例中擁有一致的Root ID,這個(gè)Root ID對(duì)應(yīng)了這個(gè)廣播域中某臺(tái)交換機(jī)

9、的BID(并且這個(gè)BID一定是這個(gè)廣播域最小的),這臺(tái)交換機(jī)就被選作根交換機(jī)。下面用一個(gè)實(shí)例來演示一下根交換機(jī)的選舉,在Cisco Packet Tracer 5.3中搭建下面這樣的拓?fù)?線連接好后等待幾十秒鐘,它們會(huì)自動(dòng)選舉出根交換機(jī),使用下面的命令驗(yàn)證:1/*2 * 在SW1上查看生成樹信息,因?yàn)镾W1、SW2、SW3上面都沒有劃分其他的VLAN,3 * 所以默認(rèn)只有VLAN0001的生成樹信息。4 *5 * "Spanning tree enabled protocol ieee",6 * 表示交換機(jī)使用的生成樹協(xié)議是

10、"PVST+",這也是思科默認(rèn)的生成樹協(xié)議。7 *8 * "Root ID"后面是VLAN1中根交換機(jī)的BID參數(shù),9 * Priority 32769,表示根交換機(jī)的優(yōu)先級(jí)是32769,10 * Address是根交換機(jī)的MAC地址,11 * "This bridge is the root",表示當(dāng)前這臺(tái)交換機(jī)就是根交換機(jī)。12 *13 * "Hello Time  2sec  Max Age 20sec  Forward

11、 Delay 15sec"14 * BPDU發(fā)送間隔默認(rèn)2秒,最大存在時(shí)間是20秒,轉(zhuǎn)發(fā)延時(shí)是15秒。15 *16 * "Bridge ID"后面的參數(shù)是本交換機(jī)的BID參數(shù),17 * 因?yàn)镾W1就是根交換機(jī),所以這個(gè)下面的參數(shù)和"Root ID"是一樣的,18 * 其中"priority 32768 sys-id-ext 1",表示SW1的優(yōu)先級(jí)是32768,19 * Extended System ID是1,所以優(yōu)先級(jí)就是32768+1。20 *21&

12、#160;* 所以SW1的BID=SW1的優(yōu)先級(jí)+SW1的MAC地址=32769+0001.9681.268322 * 接下來查看SW2和SW3的生成樹信息,就會(huì)知道為什么SW1可以被選舉成根交換機(jī)了。23 */24SW1#show spanning-tree25VLAN000126  Spanning tree enabled protocol ieee27  Root ID    Priority    3276928    

13、60;        Address     0001.9681.268329             This bridge is the root30             Hello Time  2 e

14、c  Max Age 20sec  Forward Delay 15sec31 32  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)33             Address     0001.9681.268334   &

15、#160;         Hello Time  2sec  Max Age 20sec  Forward Delay 15sec35             Aging Time  2036 37Interface   Role Sts Cost     

16、 Prio.Nbr Type38- - - - - -39Fa0/1       Desg FWD 19        128.1    P2p40Fa0/2       Desg FWD 19        128.2    P2p41Fa0/3  

17、0;    Desg FWD 19        128.3    P2p42 43/*44 * 查看SW2的生成樹信息,45 *46 * 可以看到SW2的BID中,優(yōu)先級(jí)是32769,和根交換機(jī)(SW1)的相同,47 * 但是SW2的MAC地址是0030.A310.3975,大于SW1的MAC地址,48 * 因?yàn)锽ID=優(yōu)先級(jí)+MAC地址,49 * 從這里可以看出SW1的BID要小于SW2的BI

18、D,50 * 所以SW1為根交換機(jī)。51 */52SW2#show spanning-tree53VLAN000154  Spanning tree enabled protocol ieee55 56/*這里是根交換機(jī),也就是SW1的BID信息*/57  Root ID    Priority    3276958            

19、0;Address     0001.9681.268359             Cost        1960             Port      

20、60; 2(FastEthernet0/2)61             Hello Time  2sec  Max Age 20sec  Forward Delay 15sec62 63/*這里是SW2的BID*/64  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)65 &

21、#160;           Address     0030.A310.397566             Hello Time  2sec  Max Age 20sec  Forward Delay 15sec67     

22、0;       Aging Time  2068.69 70/*查看SW3的生成樹信息,優(yōu)先級(jí)相同,同樣是因?yàn)镸AC地址比SW1大*/71SW3#show spanning-tree72VLAN000173  Spanning tree enabled protocol ieee74  Root ID    Priority    3276975     

23、        Address     0001.9681.268376             Cost        1977            

24、60;Port        1(FastEthernet0/1)78             Hello Time  2sec  Max Age 20sec  Forward Delay 15sec79 80  Bridge ID  Priority    32769  (priorit

25、y 32768 sys-id-ext 1)81             Address     00E0.8F76.269C82             Hello Time  2sec  Max Age 20sec  Forward Delay 15sec83

26、0;            Aging Time  2084.通過這個(gè)實(shí)例,結(jié)合前面說的根交換機(jī)選舉原理,就能很容易的理解根交換機(jī)是如何在一個(gè)廣播域中被選舉出來的了。上面這種情況是默認(rèn)連線后不做任何修改根交換機(jī)的選舉情況,可以通過下面的命令將某臺(tái)交換機(jī)的優(yōu)先級(jí)改小,或者設(shè)置成動(dòng)態(tài)優(yōu)先級(jí)(即永遠(yuǎn)比其它交換機(jī)的優(yōu)先級(jí)小),這樣,這臺(tái)擁有較小優(yōu)先級(jí)的交換機(jī)將成為根交換機(jī)。結(jié)合上面這個(gè)拓?fù)鋱D(圖三),將SW3的優(yōu)先級(jí)改小,從而達(dá)到手動(dòng)指定一臺(tái)根交換機(jī)的目的:1/*首先我隨便

27、配置一個(gè)優(yōu)先級(jí)*/2SW3(config)#spanning-tree vlan 1 priority 10003 4/*它提示我,只能是4096的倍數(shù),可以是下面的這些值*/5% Bridge Priority must be in increments of 4096.6% Allowed values are:7  0     4096  8192  12288 16384 20480 24576 286728  32768 36864 40960 45056 49152 532

28、48 57344 614409 10/*11 * 這里就設(shè)置成4096,注意這里針對(duì)的是VLAN1,12 * 不同的VLAN優(yōu)先級(jí)可以不同,13 * 不同VLAN的STP選舉出來的根交換機(jī)也可以不同,14 * 比如SW3現(xiàn)在是VLAN1的根交換機(jī),15 * 假設(shè)還存在一個(gè)VLAN2,并且在SW1上使用這條命令:16 * spanning-tree vlan 2 priority 409617 * 那么SW1就將成為VLAN2的根交換機(jī)。前提是VLAN2下有端口。18 */19SW3(config)#spa

29、nning-tree vlan 1 priority 409620SW3(config)#end21SW3#22 23/*過個(gè)一兩秒,查看SW3的生成樹信息,發(fā)現(xiàn)他已經(jīng)成為了根交換機(jī)。*/24SW3#show spanning-tree25VLAN000126  Spanning tree enabled protocol ieee27  Root ID    Priority    409728       

30、60;     Address     00E0.8F76.269C29             This bridge is the root30             Hello Time  2sec  Max Age 20

31、sec  Forward Delay 15sec31 32  Bridge ID  Priority    4097  (priority 4096 sys-id-ext 1)33             Address     00E0.8F76.269C34      

32、60;      Hello Time  2sec  Max Age 20sec  Forward Delay 15sec35             Aging Time  2036.使用下面的命令可以讓交換機(jī)自動(dòng)動(dòng)態(tài)的調(diào)整自己的優(yōu)先級(jí)為整個(gè)廣播域最小,使用這條命令讓SW2成為根交換機(jī):1/*首先清除SW3上面手動(dòng)配置的優(yōu)先級(jí)*/2SW3(config)#no sp

33、anning-tree vlan 1 priority3 4/*然后配置自動(dòng)調(diào)整優(yōu)先級(jí),讓SW2自己動(dòng)態(tài)調(diào)整*/5SW2(config)#spanning-tree vlan 1 root primary6 7/*等待幾秒鐘,查看SW2的生成樹信息,發(fā)現(xiàn)根交換機(jī)變成了自己*/8SW2#show spanning-tree9VLAN000110  Spanning tree enabled protocol ieee11  Root ID    Priority    1638

34、512             Address     0030.A310.397513             This bridge is the root14.* 端口花費(fèi)和路徑花費(fèi)根交換機(jī)被選舉出來后,計(jì)算其他交換機(jī)到根交換機(jī)的花費(fèi),STA考慮兩種花費(fèi),端口花費(fèi)和路徑花費(fèi),路徑花費(fèi)是從根交換

35、機(jī)出發(fā)到最終交換機(jī)前進(jìn)方向進(jìn)入的端口花費(fèi)總和,也就是說在上面的拓?fù)鋱D圖三中,假設(shè)SW1是根交換機(jī),想要改變SW3到根交換機(jī)SW1的花費(fèi),應(yīng)該在SW3的fa0/1來改變,而不是在SW1的fa0/3端口上改變。如果一臺(tái)交換機(jī)有多條路徑到達(dá)根交換機(jī),這臺(tái)交換機(jī)會(huì)選擇路徑花費(fèi)最小的那條,下面是默認(rèn)的端口花費(fèi)參照表:這個(gè)參照表只是端口默認(rèn)的花費(fèi),端口花費(fèi)是可以手動(dòng)修改的,因?yàn)椤盋isco Packet Tracer 5.3不支持修改端口花費(fèi),修改端口花費(fèi)的實(shí)驗(yàn)使用GNS3來進(jìn)行,拓?fù)淙缦?圖五中SW1被選舉成為根交換機(jī),先在SW3上面查看一下默認(rèn)的生成樹信息:1SW3#show spanning-tre

36、e brief2 3VLAN14  Spanning tree enabled protocol ieee5  Root ID    Priority    327686             Address     cc00.0c94.00007 8/*9 * 可以看到SW3到根交換機(jī)的花費(fèi)是1

37、9,10 * 這說明SW3的fa0/0接口速率是100Mb/s。11 */12             Cost        1913             Port      

38、0; 1 (FastEthernet0/0)14             Hello Time  2sec Max Age 20sec Forward Delay 15sec15.通過下面的命令來修改SW3到根交換機(jī)的花費(fèi):1/*將SW3的fa0/0接口的花費(fèi)改成40*/2SW3(config)#int fa 0/03SW3(config-if)#spanning-tree cost 404SW3(config-if)#end5 6/*7

39、0;* 再次查看SW3的生成樹信息,發(fā)現(xiàn)花費(fèi)居然變成了38,8 * 這是為什么呢?不是應(yīng)該為40嗎?9 * 另外我們還發(fā)現(xiàn)下面的Port端口也發(fā)生了變化,10 * 沒有修改前是Fa0/0,現(xiàn)在是Fa0/1,11 * 這說明去往根交換機(jī)的數(shù)據(jù)是通過SW3的Fa0/1發(fā)給SW2再轉(zhuǎn)發(fā)給SW1的,12 * 這是因?yàn)槲覀儗W3的Fa0/0的花費(fèi)修改成了40,13 * 然而,通過SW3的Fa0/1發(fā)給SW2再轉(zhuǎn)發(fā)給SW1的花費(fèi)只有38,14 * 即SW3的Fa0/1的默認(rèn)花費(fèi)19,加上SW2的Fa0/2的默認(rèn)花費(fèi)19,15 

40、;* 前面也提到了,交換機(jī)選取花費(fèi)最小的那條路徑去往根交換機(jī)。16 */17SW3#show spanning-tree brief18VLAN119  Spanning tree enabled protocol ieee20  Root ID    Priority    3276821             Address  &#

41、160;  cc00.0c94.000022             Cost        3823             Port        2 (FastEthernet0/1)

42、24.* BPDU結(jié)構(gòu)淺析前面提到的交換機(jī)之間通過轉(zhuǎn)發(fā)BPDU來選擇根交換機(jī),這里講BPDU幀的結(jié)構(gòu)簡(jiǎn)單的介紹一下:BPDU包含12個(gè)字段,如上圖所示,部分字段解釋如下:§ Flags:標(biāo)記域,包含TC(Topology Change,拓?fù)涓淖儯┍忍匚?,TCA(Topology Change Acknowledgment,拓?fù)涓淖兇_認(rèn))比特位。§ Root ID:包含了根交換機(jī)的BID。§ Cost of path:到根交換機(jī)的路徑花費(fèi)。§ Bridge ID:轉(zhuǎn)發(fā)BPDU的交換機(jī)的BID。§ Port ID:轉(zhuǎn)發(fā)BPDU的交換機(jī)的PID,PI

43、D等于端口優(yōu)先級(jí)(默認(rèn)128)加端口號(hào),后面會(huì)介紹到。§ Message age:BPDU已經(jīng)存在的時(shí)間。§ Max age:BPDU最大存在時(shí)間。§ Hello time:根交換機(jī)發(fā)送配置信息的間隔時(shí)間,默認(rèn)2秒。§ Forward Delay:轉(zhuǎn)發(fā)延時(shí),默認(rèn)15秒。* STP端口角色1,根端口(Root Port,RP),每個(gè)非根交換機(jī)上有且僅有一個(gè)根端口,稍后的生成樹選舉中會(huì)詳細(xì)介紹根端口的選舉過程。2,指派端口(Designated Port,DP),網(wǎng)絡(luò)上除根端口外,所有允許轉(zhuǎn)發(fā)流量的端口,每個(gè)網(wǎng)段都有一個(gè)指派端口,根交換機(jī)上的端口都是指派端口

44、。3,非指派端口,既不是根端口也不是指派端口,這種端口雖然是激活的但是會(huì)被堵塞(Blocking)用來阻止環(huán)路。根端口和指派端口都處于轉(zhuǎn)發(fā)(Forwarding)狀態(tài)。4,禁用端口,被管理員使用”shutdown”命令關(guān)閉的端口稱作禁用端口,禁用端口不參與生成樹算法。* 端口狀態(tài)和BPDU時(shí)間互連交換機(jī)通過在一個(gè)廣播域交換BPDU幀構(gòu)建一個(gè)邏輯上無環(huán)的路徑,當(dāng)一臺(tái)交換機(jī)啟動(dòng)后,如果一個(gè)交換機(jī)端口直接轉(zhuǎn)換到轉(zhuǎn)發(fā)狀態(tài)可能會(huì)造成暫時(shí)性的環(huán)路。為了使用這個(gè)邏輯生成樹,交換機(jī)需要在五種狀態(tài)間轉(zhuǎn)換,轉(zhuǎn)換會(huì)歷經(jīng)三種BPDU時(shí)間。下面是STP中的五種端口狀態(tài):1,Down(禁用)狀態(tài)??梢允褂谩眓o shut

45、down”命令和插入網(wǎng)線來激活。2,Blocking(阻塞)狀態(tài)。鏈路激活后轉(zhuǎn)入阻塞狀態(tài),這個(gè)狀態(tài)大約停留20秒,主要用來確定該端口的角色。如果判斷出該端口是非指派端口,則將保持在這一狀態(tài),即阻塞,如果處在阻塞狀態(tài)的端口接收不到BPDU了,也會(huì)轉(zhuǎn)入下一狀態(tài)。如果判斷出是其他端口角色,則轉(zhuǎn)入下一狀態(tài)。3,Listening(偵聽)狀態(tài)。這個(gè)狀態(tài)大約停留15秒,除了接收BPDU外,還向鄰居發(fā)送BPDU,通知鄰居它將參與激活拓?fù)洹?,Learning(學(xué)習(xí))狀態(tài)。大約停留15秒,開始學(xué)習(xí)MAC地址。5,F(xiàn)orwarding(轉(zhuǎn)發(fā))狀態(tài)。端口可以轉(zhuǎn)發(fā)數(shù)據(jù)幀。BPDU的時(shí)間有三種,Hello Time、

46、Max Age、Forward Delay:1,Hello時(shí)間控制了發(fā)送配置BPDU的時(shí)間間隔,默認(rèn)2秒。這是根交換機(jī)生成BPDU并向非根交換機(jī)發(fā)送的間隔。2,非根交換機(jī)接收到根交換機(jī)發(fā)送來的BPDU,再?gòu)某邮斩丝谝酝獾钠渌丝谵D(zhuǎn)發(fā)出去,如果在2-20秒里面由于網(wǎng)絡(luò)故障沒有新的BPDU從根交換機(jī)發(fā)送過來,非根交換機(jī)將停止向外發(fā)送從根交換機(jī)接收到的BPDU。如果這種情況持續(xù)20秒,也就是最大存活期,非根交換機(jī)就使原儲(chǔ)存的BPDU無效,并開始尋找新的根端口。所謂最大存活期就是非根交換機(jī)丟棄BPDU前用來備份儲(chǔ)存它的時(shí)間。3,轉(zhuǎn)發(fā)延時(shí)是交換機(jī)在偵聽狀態(tài)到學(xué)習(xí)狀態(tài)所花的時(shí)間,默認(rèn)是15秒。從上面的敘

47、述中我們可能會(huì)發(fā)現(xiàn),一臺(tái)啟動(dòng)STP的交換機(jī),每個(gè)端口從UP到Forwarding所需的時(shí)間大約是50秒左右,而普通的二層交換機(jī)端口UP到Forwarding瞬間就能完成。這會(huì)帶來一個(gè)問題,那就是如果這臺(tái)啟動(dòng)STP的交換機(jī)的接口連接的是一個(gè)終端設(shè)備,比如計(jì)算機(jī),那么端口加電啟動(dòng)后計(jì)算機(jī)就要等上50秒才能發(fā)送數(shù)據(jù),這很不合理,可以使用下面的命令將支持STP的交換機(jī)與終端相連的端口設(shè)置成快速端口,這樣端口從UP到Forwarding也能一瞬間完成了。但需要注意的是,僅在連接計(jì)算機(jī)的端口上使用快速端口的功能,不要在和其他交換機(jī),集線器網(wǎng)橋相連的端口上使用這個(gè)功能,否則容易造成環(huán)路。1/*假設(shè)這臺(tái)交換機(jī)

48、的fa0/1到10口都連接的是計(jì)算機(jī)*/2Switch(config)#int range fa 0/1 - 103Switch(config-if-range)#spanning-tree portfast*3*.STP收斂STP的收斂就是整個(gè)網(wǎng)絡(luò)達(dá)到穩(wěn)定的狀態(tài),選舉出了根交換機(jī),并決定出所有端口的角色,排除所有的潛在環(huán)路。* 生成樹的選舉這一小節(jié)是這篇文章最重要的部分,上面的所有理論都會(huì)在這一小節(jié)得到解釋和應(yīng)用,STP最終收斂成為一個(gè)沒有環(huán)路的網(wǎng)絡(luò)需要通過下面四個(gè)步驟:§ 每個(gè)廣播域只能有一個(gè)根交換機(jī)。§ 每個(gè)非根交換機(jī)有且只有一個(gè)根端口。§ 每個(gè)網(wǎng)段有且只能

49、有一個(gè)指派端口。§ 既不是根端口也不是指派端口的端口會(huì)被阻塞。下面來看看生成樹的選舉過程,一共分為四步:1,選舉根交換機(jī)交換機(jī)之間通過發(fā)送BPDU來選舉根交換機(jī),擁有最小BID的交換機(jī)將成為根交換機(jī),每個(gè)廣播域只能有一個(gè)根交換機(jī)。2,選舉根端口每個(gè)非根交換機(jī)有且只有一個(gè)根端口,選舉根端口依照下面的順序。* 首先,最低花費(fèi)的端口將成為根端口;在花費(fèi)相同的情況下比較發(fā)送者的BID,BID小的將成為根端口,請(qǐng)看下面這張拓?fù)鋱D:圖中SW1被選舉成根交換機(jī),交換機(jī)之間的鏈路都是100Mb/s,所以SW2的根端口是SW2的fa0/2接口,SW3的根端口是SW3的fa0/1接口,因?yàn)樗麄儚倪@個(gè)接口

50、去根交換機(jī)的花費(fèi)都是19,小于通過SW4去根交換機(jī)的花費(fèi)。那么SW4的根端口是哪個(gè)呢?不論從自己的哪個(gè)接口去往根交換機(jī)(經(jīng)過SW2或SW3),花費(fèi)都是一樣(38),所以在花費(fèi)相同的情況下比較發(fā)送者的BID,也就是比較SW2和SW3的BID,顯然SW2的BID(32768+2222.2222.2222)小于SW3的BID(32768+3333.3333.3333),所以SW4將自己和SW2相連的接口fa0/4選舉成為根端口。* 在發(fā)送者BID相同的情況下,比較發(fā)送者的PID,請(qǐng)看下面這張圖:圖中,SW1和SW2通過兩條100Mb/s線路相連,SW1擁有較小的BID被選舉成為根交換機(jī),這時(shí)SW2要

51、選舉根端口,首先SW2會(huì)尋找最低花費(fèi)的端口,但是去往SW1的兩個(gè)端口的花費(fèi)都是19,然后SW2比較發(fā)送者的BID,SW2發(fā)現(xiàn),兩個(gè)端口都連接的是SW1,發(fā)送者(SW1)的BID相同,這個(gè)時(shí)候,就會(huì)比較發(fā)送者的PID,也就是端口ID(端口ID等于優(yōu)先級(jí)(默認(rèn)端口優(yōu)先級(jí)是128)加上端口號(hào)),發(fā)送者(SW1)端口ID較小的那個(gè)端口對(duì)應(yīng)的本地(SW2)上的那個(gè)端口,將成為根端口。我們?cè)赟W1上查看生成樹信息:1SW1#show spanning-tree2VLAN00013  Spanning tree enabled protocol ieee4  Root

52、 ID    Priority    245775             Address     0030.A3B8.57286             This bridge is the root7   

53、          Hello Time  2sec  Max Age 20sec  Forward Delay 15sec8 9  Bridge ID  Priority    24577  (priority 24576 sys-id-ext 1)10           &

54、#160; Address     0030.A3B8.572811             Hello Time  2sec  Max Age 20sec  Forward Delay 15sec12             Aging Time 

55、 2013 14/*15 * 這一部分信息就是SW1上面的端口信息,其中Prio下面的就是端口ID,16 * 可以看到SW1的fa0/1默認(rèn)端口ID是128.1,小于fa0/2的端口ID。17 */18Interface        Role Sts Cost      Prio.Nbr Type19- - - - - -20Fa0/1        &#

56、160;   Desg FWD 19        128.1    P2p21Fa0/2            Desg FWD 19        128.2    P2p22 23SW1#從輸出可以看到,SW1上面的fa0/1擁有較小的端口ID,它對(duì)應(yīng)了

57、SW2的fa0/2端口,所以SW2的fa0/2端口被選舉成為根端口。* 如果發(fā)送者的PID也相同,那么比較接收者的PID,看下面這種情況:圖中,SW1的fa0/1連接在一臺(tái)集線器上,SW2的fa0/1和fa0/2也連接在這臺(tái)集線器上,線路均為100Mb/s,假設(shè)SW1擁有較小的BID被選舉成根交換機(jī),SW2現(xiàn)在要選舉根端口,首先根據(jù)前面說的,比較花費(fèi),SW2從兩個(gè)端口到根交換機(jī)SW1的花費(fèi)都相同;然后SW2比較發(fā)送者BID,發(fā)送者(SW1)的BID也相同;SW2再比較發(fā)送者PID,發(fā)現(xiàn)PID也相同;這個(gè)時(shí)候,SW2比較接收者,也就是自己的PID,將自己PID最小的那個(gè)端口選舉成根端口??梢愿鶕?jù)

58、SW2的生成樹信息輸出判斷,fa0/1擁有更小的PID,所以它被選舉成為根端口:1SW2#show spanning-tree2VLAN00013  Spanning tree enabled protocol ieee4  Root ID    Priority    245775             Address    

59、; 0030.A3B8.57286             Cost        197             Port        1(FastEthernet0/1)8  

60、;           Hello Time  2sec  Max Age 20sec  Forward Delay 15sec9 10  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)11          

61、;   Address     0003.E4A7.92DA12             Hello Time  2sec  Max Age 20sec  Forward Delay 15sec13             Aging Ti

62、me  2014 15/*16 * 下面這一部分可以清楚的看到fa0/1擁有更小的PID 128.1,17 * Root FWD 表示這個(gè)端口被選舉成為了根端口,并且狀態(tài)是轉(zhuǎn)發(fā),18 * Altn BLK 表示這個(gè)端口既不是根端口也不是指派端口,被阻塞。19 */20Interface        Role Sts Cost      Prio.Nbr Type21- - - - - -22Fa0/1 &

63、#160;          Root FWD 19        128.1    Shr23Fa0/2            Altn BLK 19        128.2    Shr24&#

64、160;25/*26 * 這里補(bǔ)充一個(gè)知識(shí)點(diǎn),端口的優(yōu)先級(jí)默認(rèn)為128,27 * 而這個(gè)端口優(yōu)先級(jí)是可以手動(dòng)修改的,28 * 可以將fa0/2的優(yōu)先級(jí)通過下面的命令改成100,29 * 這樣STP重新收斂,F(xiàn)a0/1將被阻塞,F(xiàn)a0/2將被選舉成為根端口,30 * 端口優(yōu)先級(jí)的取值范圍是0-255,31 * Cisco Packet Tracer中不支持這一條命令,可以在GNS3中測(cè)試。32 */33SW2(config)#int fa 0/234SW2(config-if)#spanning-tree port-prior

65、ity 100到這里,選舉根端口的全部可能性都講解完了。下面講解指派端口的選舉。3,選舉指派端口每個(gè)網(wǎng)段有且只有一個(gè)指派端口。其實(shí),每個(gè)網(wǎng)段都有一個(gè)指派交換機(jī),指派交換機(jī)上如果有多個(gè)端口,再?gòu)亩鄠€(gè)端口中選舉出一個(gè)成為指派端口,指派端口的選舉依照下面的順序:* 比較花費(fèi)圖中,假設(shè)SW1被選舉成了根交換機(jī),因?yàn)槊總€(gè)網(wǎng)段都有一個(gè)指派端口,在SW1和SW3相連的線路上,由于SW1本身是根交換機(jī),SW1的fa0/1端口到自己的花費(fèi)是0,所以SW1的fa0/1接口被選舉成指派端口(根交換機(jī)上的所有端口都是指派端口);同理在SW1和SW2相連的網(wǎng)段上,SW1的fa0/2也被選舉成了指派端口;而在SW2和SW

66、3相連的網(wǎng)段上,由于SW1和SW2之間是1Gb/s鏈路,SW2去往根交換機(jī)的花費(fèi)(4)要小于SW3去往根交換的花費(fèi)(19),所以SW2是這個(gè)網(wǎng)段上的指派交換機(jī),SW2的fa0/3將成為這個(gè)網(wǎng)段的指派端口。再根據(jù)前面的根端口的選舉可以知道SW2的fa0/2是根端口,SW3的fa0/1是根端口,SW3的fa0/3端口因?yàn)椴皇歉丝?,也不是指派端口,所以被阻塞? 花費(fèi)相同則比較接收者的BID(這次不是發(fā)送者了)圖中,SW1是根交換機(jī),在SW2和SW3相連的網(wǎng)段上,SW2和SW3到根交換機(jī)的花費(fèi)相同,這時(shí)就需要比較接收者的BID,也就是SW2和SW3的BID,BID小的將成為指派交換機(jī),從圖中可以看

67、到SW2的BID小于SW3的BID,所以SW2是指派交換機(jī),SW2的fa0/3端口將成為指派端口。* 接收者的BID也相同則比較接收者的PID圖中,SW1是根交換機(jī),SW2和SW3相連的網(wǎng)段上有一臺(tái)集線器,SW2有兩個(gè)端口連接在這臺(tái)集線器上,這種情況下,根據(jù)上面一步比較出了SW2的BID比SW3小,但是SW2上面有多個(gè)端口連接在這個(gè)網(wǎng)段,這時(shí)就要比較這些端口的PID,擁有最小PID的成為指派端口(fa0/3),PID大的剩余端口全部阻塞(fa0/4阻塞),通過在SW2上查看生成樹信息驗(yàn)證:1SW2#show spanning-tree2VLAN00013  Spanning

68、 tree enabled protocol ieee4  Root ID    Priority    245775             Address     0090.21DE.9A5B6            

69、0;Cost        197             Port        2(FastEthernet0/2)8             Hello Time  2sec 

70、; Max Age 20sec  Forward Delay 15sec9 10  Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)11             Address     0004.9A05.9A3112    &#

71、160;        Hello Time  2sec  Max Age 20sec  Forward Delay 15sec13             Aging Time  2014 15Interface        Role Sts Cost &

72、#160;    Prio.Nbr Type16- - - - - -17Fa0/2            Root FWD 19        128.2    P2p18Fa0/3            Desg FWD 19 

73、0;      128.3    Shr19Fa0/4            Altn BLK 19        128.4    Shr20/*可以看到默認(rèn)的PID fa0/3比fa0/4小,所以fa0/4被阻塞,fa0/3是指派端口*/4,阻塞端口既不是根端口也不是指派端口的端口將被阻塞。* STP拓?fù)?/p>

74、變化當(dāng)交換機(jī)檢測(cè)到端口發(fā)生了變化時(shí),交換機(jī)將通知根交換機(jī)拓?fù)渥兓闆r,根交換機(jī)再將這一情況擴(kuò)散到整個(gè)網(wǎng)絡(luò),有三種特殊的BPDU用來完成這些工作:TCN(Topology Change Notification)BPDU-拓?fù)涓淖兺ㄖ狟PDU、TCA(Topology Change Acknowledgement)BPDU-拓?fù)涓淖兇_認(rèn)BPDU、TC(Topology Change)BPDU,下圖演示了這一過程:圖中,左邊SW5首先檢測(cè)到了拓?fù)渥兓?,它從根端口向SW2發(fā)送TCN,SW2使用TCA向SW5確認(rèn),然后SW2產(chǎn)生一個(gè)TCN從自己的根端口發(fā)送給SW1,也就是根交換機(jī),根交換機(jī)SW1收到這

75、個(gè)TCN后,使用TCA向SW2確認(rèn)。一旦根交換機(jī)知道了這一拓?fù)渥兓鼘⑾蛲鈴V播發(fā)送TC位被設(shè)置的BPDU,就是上圖右邊的情況,最后整個(gè)廣播域都知道了這一變化。*4*.STP負(fù)載均衡實(shí)驗(yàn)實(shí)驗(yàn)在GNS3中完成。在上面這張拓?fù)鋱D中,SW1的fa0/0連接了SW1的fa0/1,SW1的fa0/1連接了SW2的fa0/0,這兩條鏈路被配置成主干,將SW1設(shè)置成VTP Server,SW2設(shè)置成VTP Client,在SW1上新建VLAN2,讓SW1成為VLAN1的根交換機(jī),SW2成為VLAN2的根交換機(jī),這樣根據(jù)前面的敘述,在VLAN1生成樹實(shí)例中SW2的fa0/0接口將被阻塞,VLAN1的流量將全部

76、從上面那條線路經(jīng)過,而在VLAN2生成樹實(shí)例中SW1的fa0/0將被阻塞,VLAN2的流量將全部從下面這條線路走。1/*首先將SW1和SW2相連的兩條線路配置成主干*/2SW1(config)#int fa 0/03SW1(config-if)#swi mod trunk4SW1(config-if)#int fa 0/15SW1(config-if)#swi mod trunk6 7SW2(config)#int fa 0/08SW2(config-if)#swi mod trunk9SW2(config-if)#int fa 0/110SW2(config-if)#swi mod

77、 trunk11 12/*將SW2配置成VTP Server*/13SW1#vlan database14SW1(vlan)#vtp domain ccna15Changing VTP domain name from NULL to ccna16SW1(vlan)#vtp password ccna17Setting device VLAN database password to ccna.18SW1(vlan)#vtp server19Device mode already VTP SERVER.20SW1(vlan)#vlan 2   /*新建了一個(gè)VLA

78、N2*/21VLAN 2 added:22    Name: VLAN000223SW1(vlan)#exit24APPLY completed.25Exiting.26SW1#27 28/*將SW2配置成VTP Client*/29SW2#vlan database30SW2(vlan)#vtp domain ccna31Domain name already set to ccna .32SW2(vlan)#vtp password ccna33Setting device VLAN database password to ccna.34SW2(vlan)#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論