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

下載本文檔

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

文檔簡介

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

2,SW2從自己的fa0/23和fa0/24都會收到SW1發(fā)過來的相同的播送幀,SW2再將這個播送幀從除接收端口外的所有其他接口發(fā)送出去〔SW2將從fa0/23接收的播送幀發(fā)往其他三個端口fa0/24、fa0/1、fa0/2,從fa0/24接收到的也會發(fā)往其他三個端口fa0/23、fa0/1、fa0/2〕。

3,這樣這個播送幀又從fa0/23以及fa0/24傳回了SW1,SW1再用相同的方法傳回SW2,除非物理線路被破壞,否那么PC1-4將不停的接收到播送幀,最終造成網(wǎng)絡(luò)的擁塞甚至癱瘓。*MAC地址表不穩(wěn)定播送風(fēng)暴除了會產(chǎn)生大量的流量外,還會造成MAC地址表的不穩(wěn)定,在播送風(fēng)暴形成過程中:1,PC1發(fā)出的播送幀到達SW1,SW1將根據(jù)源MAC進行學(xué)習(xí),SW1將PC1的MAC和對應(yīng)端口fa0/1寫入MAC緩存表中。

2,SW1將這個播送幀從除接收端口之外的其他端口轉(zhuǎn)發(fā)出去,SW2接收到兩個來自SW1的播送〔從fa0/23和fa0/24〕,假設(shè)fa0/23首先收到這個播送幀,SW2根據(jù)源MAC進行學(xué)習(xí),將PC1的MAC和接收端口fa0/23存入自己的MAC緩存表,但是這時候又從fa0/24收到了這個播送幀,SW1將PC1的MAC和對應(yīng)的fa0/24接口存入自己的MAC緩存表。

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

2,SW2分從自己的fa0/23和fa0/24接收到這個單播幀,SW3知道PC3連接在自己的fa0/1接口上,所以SW1將這兩個單播幀都轉(zhuǎn)發(fā)給PC3。

3,PC1只發(fā)送了一個單播幀,PC3卻收到了兩個單播幀,這會給某些網(wǎng)絡(luò)環(huán)境比方流量統(tǒng)計帶來不精確計算等問題。[*2*].STP介紹基于冗余鏈路中存在的這些問題STP被設(shè)計出來用來解決這些問題,下面介紹STP的工作原理。*STP算法STP通過擁塞冗余路徑上的一些端口,確保到達任何目標(biāo)地址只有一條邏輯路徑,STP借用交換BPDU〔BridgeProtocolDataUnit,橋接數(shù)據(jù)單元〕來阻止環(huán)路,BPDU中包含BID〔BridgeID,橋ID〕用來識別是哪臺計算機發(fā)出的BPDU。在STP運行的情況下,雖然邏輯上沒有了環(huán)路,但是物理線上還是存在環(huán)路的,只是物理線路的一些端口被禁用以阻止環(huán)路的發(fā)生,如果正在使用的鏈路出現(xiàn)故障,STP重新計算,局部被禁用的端口重新啟用來提供冗余。STP使用STA〔SpanningTreeAlgorithm,生成樹算法〕來決定交換機上的哪些端口被堵塞用來阻止環(huán)路的發(fā)生,STA選擇一臺交換機作為根交換機,稱作根橋〔RootBridge〕,以該交換機作為參考點計算所有路徑。*根交換機選舉首先要知道什么是BID〔BridgeID,橋ID〕,因為根交換機的選舉是基于BID的,BID由三局部組成:優(yōu)先級、發(fā)送交換機的MAC地址、ExtendedSystemID〔擴展系統(tǒng)ID,可選項〕如下列圖所示:BID一共8個字節(jié),其中優(yōu)先級2個字節(jié),MAC地址6個字節(jié)。在不使用ExtendedSystemID的情況下,BID由優(yōu)先級域和交換機的MAC地址組成,針對每個VLAN,交換機的MAC地址都不一樣,交換機的優(yōu)先級可以是0-65535。在使用ExtendedSystemID的情況下每個VLAN的MAC地址可以相同〔在GNS3模擬器中不支持ExtendedSystemID,CiscoPacketTracer5.3支持ExtendedSystemID〕。值得一提的是,現(xiàn)在的交換機普遍使用ExtendedSystemID。擁有最小BID的交換機被選舉成為根交換機。在同一個播送域中的所有交換機都參與選舉根交換機,當(dāng)一臺交換機啟動時,它假設(shè)自己是根交換機,并默認(rèn)每隔2秒發(fā)送一次“次優(yōu)BPDU〞幀,BPDU幀中的RootID〔根交換機的BID〕和本機的BID相同。在一個播送域中的交換機互相轉(zhuǎn)發(fā)BPDU幀,并且從接收到的BPDU中讀取RootID,如果讀取到的RootID比本交換機的BID小,交換機更新RootID為這個較小的RootID,然后繼續(xù)轉(zhuǎn)發(fā)修改后的BPDU;如果接收的BPDU中的RootID比本交換機的BID大,那么繼續(xù)將自己的BID作為RootID向外發(fā)送BPDU,直到最后在同一個生成樹實例中擁有一致的RootID,這個RootID對應(yīng)了這個播送域中某臺交換機的BID〔并且這個BID一定是這個播送域最小的〕,這臺交換機就被選作根交換機。下面用一個實例來演示一下根交換機的選舉,在CiscoPacketTracer5.3中搭建下面這樣的拓?fù)?線連接好后等待幾十秒鐘,它們會自動選舉出根交換機,使用下面的命令驗證:1/*2

*在SW1上查看生成樹信息,因為SW1、SW2、SW3上面都沒有劃分其他的VLAN,3

*所以默認(rèn)只有VLAN0001的生成樹信息。4

*5

*"Spanningtreeenabledprotocolieee",6

*表示交換機使用的生成樹協(xié)議是"PVST+",這也是思科默認(rèn)的生成樹協(xié)議。7

*8

*"RootID"后面是VLAN1中根交換機的BID參數(shù),9

*Priority32769,表示根交換機的優(yōu)先級是32769,10

*Address是根交換機的MAC地址,11

*"Thisbridgeistheroot",表示當(dāng)前這臺交換機就是根交換機。12

*13

*"HelloTime

2sec

MaxAge20sec

ForwardDelay15sec"14

*BPDU發(fā)送間隔默認(rèn)2秒,最大存在時間是20秒,轉(zhuǎn)發(fā)延時是15秒。15

*16

*"BridgeID"后面的參數(shù)是本交換機的BID參數(shù),17

*因為SW1就是根交換機,所以這個下面的參數(shù)和"RootID"是一樣的,18

*其中"priority32768sys-id-ext1",表示SW1的優(yōu)先級是32768,19

*ExtendedSystemID是1,所以優(yōu)先級就是32768+1。20

*2122

*接下來查看SW2和SW3的生成樹信息,就會知道為什么SW1可以被選舉成根交換機了。23

*/24SW1#showspanning-tree25VLAN000126

Spanningtreeenabledprotocolieee27

RootID

Priority

327692829

Thisbridgeistheroot30

HelloTime

2ec

MaxAge20sec

ForwardDelay15sec31

32

BridgeID

Priority

32769

(priority32768sys-id-ext1)3334

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec35

AgingTime

2036

37Interface

RoleStsCost

Prio.NbrType38---------------------------------------------39Fa0/1

DesgFWD19

128.1

P2p40Fa0/2

DesgFWD19

128.2

P2p41Fa0/3

DesgFWD19

128.3

P2p42

43/*44

*查看SW2的生成樹信息,45

*46

*可以看到SW2的BID中,優(yōu)先級是32769,和根交換機〔SW1〕的相同,47

*但是SW2的MAC地址是0030.A310.3975,大于SW1的MAC地址,48

*因為BID=優(yōu)先級+MAC地址,49

*從這里可以看出SW1的BID要小于SW2的BID,50

*所以SW1為根交換機。51

*/52SW2#showspanning-tree53VLAN000154

Spanningtreeenabledprotocolieee55

56/*這里是根交換機,也就是SW1的BID信息*/57

RootID

Priority

327695859

Cost

1960

Port

2(FastEthernet0/2)61

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec62

63/*這里是SW2的BID*/64

BridgeID

Priority

32769

(priority32768sys-id-ext1)6566

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec67

AgingTime

2068....69

70/*查看SW3的生成樹信息,優(yōu)先級相同,同樣是因為MAC地址比SW1大*/71SW3#showspanning-tree72VLAN000173

Spanningtreeenabledprotocolieee74

RootID

Priority

327697576

Cost

1977

Port

1(FastEthernet0/1)78

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec79

80

BridgeID

Priority

32769

(priority32768sys-id-ext1)8182

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec83

AgingTime

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

4/*它提示我,只能是4096的倍數(shù),可以是下面的這些值*/5%BridgePrioritymustbeinincrementsof4096.6%Allowedvaluesare:7

0

4096

8192

12288163842048024576286728

32768368644096045056491525324857344614409

10/*11

*這里就設(shè)置成4096,注意這里針對的是VLAN1,12

*不同的VLAN優(yōu)先級可以不同,13

*不同VLAN的STP選舉出來的根交換機也可以不同,14

*比方SW3現(xiàn)在是VLAN1的根交換機,15

*假設(shè)還存在一個VLAN2,并且在SW1上使用這條命令:16

*spanning-treevlan2priority409617

*那么SW1就將成為VLAN2的根交換機。前提是VLAN2下有端口。18

*/19SW3(config)#spanning-treevlan1priority409620SW3(config)#end21SW3#22

23/*過個一兩秒,查看SW3的生成樹信息,發(fā)現(xiàn)他已經(jīng)成為了根交換機。*/24SW3#showspanning-tree25VLAN000126

Spanningtreeenabledprotocolieee27

RootID

Priority

40972829

Thisbridgeistheroot30

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec31

32

BridgeID

Priority

4097

(priority4096sys-id-ext1)3334

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec35

AgingTime

2036....使用下面的命令可以讓交換機自動動態(tài)的調(diào)整自己的優(yōu)先級為整個播送域最小,使用這條命令讓SW2成為根交換機:1/*首先去除SW3上面手動配置的優(yōu)先級*/2SW3(config)#nospanning-treevlan1priority3

4/*然后配置自動調(diào)整優(yōu)先級,讓SW2自己動態(tài)調(diào)整*/5SW2(config)#spanning-treevlan1rootprimary6

7/*等待幾秒鐘,查看SW2的生成樹信息,發(fā)現(xiàn)根交換機變成了自己*/8SW2#showspanning-tree9VLAN000110

Spanningtreeenabledprotocolieee11

RootID

Priority

163851213

Thisbridgeistheroot14....*端口花費和路徑花費根交換機被選舉出來后,計算其他交換機到根交換機的花費,STA考慮兩種花費,端口花費和路徑花費,路徑花費是從根交換機出發(fā)到最終交換機前進方向進入的端口花費總和,也就是說在上面的拓?fù)鋱D圖三中,假設(shè)SW1是根交換機,想要改變SW3到根交換機SW1的花費,應(yīng)該在SW3的fa0/1來改變,而不是在SW1的fa0/3端口上改變。如果一臺交換機有多條路徑到達根交換機,這臺交換時機選擇路徑花費最小的那條,下面是默認(rèn)的端口花費參照表:這個參照表只是端口默認(rèn)的花費,端口花費是可以手動修改的,因為〞CiscoPacketTracer5.3″不支持修改端口花費,修改端口花費的實驗使用GNS3來進行,拓?fù)淙缦?圖五中SW1被選舉成為根交換機,先在SW3上面查看一下默認(rèn)的生成樹信息:1SW3#showspanning-treebrief2

3VLAN14

Spanningtreeenabledprotocolieee5

RootID

Priority

3276867

8/*9

*可以看到SW3到根交換機的花費是19,10

*這說明SW3的fa0/0接口速率是100Mb/s。11

*/12

Cost

1913

Port

1(FastEthernet0/0)14

HelloTime

2secMaxAge20secForwardDelay15sec15.....通過下面的命令來修改SW3到根交換機的花費:1/*將SW3的fa0/0接口的花費改成40*/2SW3(config)#intfa0/03SW3(config-if)#spanning-treecost404SW3(config-if)#end5

6/*7

*再次查看SW3的生成樹信息,發(fā)現(xiàn)花費居然變成了38,8

*這是為什么呢?不是應(yīng)該為40嗎?9

*另外我們還發(fā)現(xiàn)下面的Port端口也發(fā)生了變化,10

*沒有修改前是Fa0/0,現(xiàn)在是Fa0/1,11

*這說明去往根交換機的數(shù)據(jù)是通過SW3的Fa0/1發(fā)給SW2再轉(zhuǎn)發(fā)給SW1的,12

*這是因為我們將SW3的Fa0/0的花費修改成了40,13

*然而,通過SW3的Fa0/1發(fā)給SW2再轉(zhuǎn)發(fā)給SW1的花費只有38,14

*即SW3的Fa0/1的默認(rèn)花費19,加上SW2的Fa0/2的默認(rèn)花費19,15

*前面也提到了,交換機選取花費最小的那條路徑去往根交換機。16

*/17SW3#showspanning-treebrief18VLAN119

Spanningtreeenabledprotocolieee20

RootID

Priority

327682122

Cost

3823

Port

2(FastEthernet0/1)24....*BPDU結(jié)構(gòu)淺析前面提到的交換機之間通過轉(zhuǎn)發(fā)BPDU來選擇根交換機,這里講BPDU幀的結(jié)構(gòu)簡單的介紹一下:BPDU包含12個字段,如上圖所示,局部字段解釋如下:Flags:標(biāo)記域,包含TC〔TopologyChange,拓?fù)涓淖儭潮忍匚唬琓CA(TopologyChangeAcknowledgment,拓?fù)涓淖兇_認(rèn))比特位。RootID:包含了根交換機的BID。Costofpath:到根交換機的路徑花費。BridgeID:轉(zhuǎn)發(fā)BPDU的交換機的BID。PortID:轉(zhuǎn)發(fā)BPDU的交換機的PID,PID等于端口優(yōu)先級(默認(rèn)128)加端口號,后面會介紹到。Messageage:BPDU已經(jīng)存在的時間。Maxage:BPDU最大存在時間。Hellotime:根交換機發(fā)送配置信息的間隔時間,默認(rèn)2秒。ForwardDelay:轉(zhuǎn)發(fā)延時,默認(rèn)15秒。*STP端口角色1,根端口(RootPort,RP),每個非根交換機上有且僅有一個根端口,稍后的生成樹選舉中會詳細(xì)介紹根端口的選舉過程。

2,指派端口(DesignatedPort,DP),網(wǎng)絡(luò)上除根端口外,所有允許轉(zhuǎn)發(fā)流量的端口,每個網(wǎng)段都有一個指派端口,根交換機上的端口都是指派端口。

3,非指派端口,既不是根端口也不是指派端口,這種端口雖然是激活的但是會被堵塞(Blocking)用來阻止環(huán)路。根端口和指派端口都處于轉(zhuǎn)發(fā)(Forwarding)狀態(tài)。

4,禁用端口,被管理員使用〞shutdown〞命令關(guān)閉的端口稱作禁用端口,禁用端口不參與生成樹算法。*端口狀態(tài)和BPDU時間互連交換機通過在一個播送域交換BPDU幀構(gòu)建一個邏輯上無環(huán)的路徑,當(dāng)一臺交換機啟動后,如果一個交換機端口直接轉(zhuǎn)換到轉(zhuǎn)發(fā)狀態(tài)可能會造成暫時性的環(huán)路。為了使用這個邏輯生成樹,交換機需要在五種狀態(tài)間轉(zhuǎn)換,轉(zhuǎn)換會歷經(jīng)三種BPDU時間。下面是STP中的五種端口狀態(tài):1,Down(禁用)狀態(tài)??梢允褂猫昻oshutdown〞命令和插入網(wǎng)線來激活。

2,Blocking〔阻塞〕狀態(tài)。鏈路激活后轉(zhuǎn)入阻塞狀態(tài),這個狀態(tài)大約停留20秒,主要用來確定該端口的角色。如果判斷出該端口是非指派端口,那么將保持在這一狀態(tài),即阻塞,如果處在阻塞狀態(tài)的端口接收不到BPDU了,也會轉(zhuǎn)入下一狀態(tài)。如果判斷出是其他端口角色,那么轉(zhuǎn)入下一狀態(tài)。

3,Listening〔偵聽〕狀態(tài)。這個狀態(tài)大約停留15秒,除了接收BPDU外,還向鄰居發(fā)送BPDU,通知鄰居它將參與激活拓?fù)洹?/p>

4,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的時間有三種,HelloTime、MaxAge、ForwardDelay:1,Hello時間控制了發(fā)送配置BPDU的時間間隔,默認(rèn)2秒。這是根交換機生成BPDU并向非根交換機發(fā)送的間隔。

2,非根交換機接收到根交換機發(fā)送來的BPDU,再從除接收端口以外的其他端口轉(zhuǎn)發(fā)出去,如果在2-20秒里面由于網(wǎng)絡(luò)故障沒有新的BPDU從根交換機發(fā)送過來,非根交換機將停止向外發(fā)送從根交換機接收到的BPDU。如果這種情況持續(xù)20秒,也就是最大存活期,非根交換機就使原儲存的BPDU無效,并開始尋找新的根端口。所謂最大存活期就是非根交換機丟棄BPDU前用來備份儲存它的時間。

3,轉(zhuǎn)發(fā)延時是交換機在偵聽狀態(tài)到學(xué)習(xí)狀態(tài)所花的時間,默認(rèn)是15秒。從上面的表達中我們可能會發(fā)現(xiàn),一臺啟動STP的交換機,每個端口從UP到Forwarding所需的時間大約是50秒左右,而普通的二層交換機端口UP到Forwarding瞬間就能完成。這會帶來一個問題,那就是如果這臺啟動STP的交換機的接口連接的是一個終端設(shè)備,比方計算機,那么端口加電啟動后計算機就要等上50秒才能發(fā)送數(shù)據(jù),這很不合理,可以使用下面的命令將支持STP的交換機與終端相連的端口設(shè)置成快速端口,這樣端口從UP到Forwarding也能一瞬間完成了。但需要注意的是,僅在連接計算機的端口上使用快速端口的功能,不要在和其他交換機,集線器網(wǎng)橋相連的端口上使用這個功能,否那么容易造成環(huán)路。1/*假設(shè)這臺交換機的fa0/1到10口都連接的是計算機*/2Switch(config)#intrangefa0/1-103Switch(config-if-range)#spanning-treeportfast[*3*].STP收斂STP的收斂就是整個網(wǎng)絡(luò)到達穩(wěn)定的狀態(tài),選舉出了根交換機,并決定出所有端口的角色,排除所有的潛在環(huán)路。*生成樹的選舉這一小節(jié)是這篇文章最重要的局部,上面的所有理論都會在這一小節(jié)得到解釋和應(yīng)用,STP最終收斂成為一個沒有環(huán)路的網(wǎng)絡(luò)需要通過下面四個步驟:每個播送域只能有一個根交換機。每個非根交換機有且只有一個根端口。每個網(wǎng)段有且只能有一個指派端口。既不是根端口也不是指派端口的端口會被阻塞。下面來看看生成樹的選舉過程,一共分為四步:1,選舉根交換機交換機之間通過發(fā)送BPDU來選舉根交換機,擁有最小BID的交換機將成為根交換機,每個播送域只能有一個根交換機。2,選舉根端口每個非根交換機有且只有一個根端口,選舉根端口依照下面的順序。***首先,最低花費的端口將成為根端口;在花費相同的情況下比擬發(fā)送者的BID,BID小的將成為根端口,請看下面這張拓?fù)鋱D:圖中SW1被選舉成根交換機,交換機之間的鏈路都是100Mb/s,所以SW2的根端口是SW2的fa0/2接口,SW3的根端口是SW3的fa0/1接口,因為他們從這個接口去根交換機的花費都是19,小于通過SW4去根交換機的花費。那么SW4的根端口是哪個呢?不管從自己的哪個接口去往根交換機〔經(jīng)過SW2或SW3〕,花費都是一樣(38),所以在花費相同的情況下比擬發(fā)送者的BID,也就是比擬SW2和SW3的BID,顯然SW2的BID(32768+2222.2222.2222)小于SW3的BID〔〕,所以SW4將自己和SW2相連的接口fa0/4選舉成為根端口。***在發(fā)送者BID相同的情況下,比擬發(fā)送者的PID,請看下面這張圖:圖中,SW1和SW2通過兩條100Mb/s線路相連,SW1擁有較小的BID被選舉成為根交換機,這時SW2要選舉根端口,首先SW2會尋找最低花費的端口,但是去往SW1的兩個端口的花費都是19,然后SW2比擬發(fā)送者的BID,SW2發(fā)現(xiàn),兩個端口都連接的是SW1,發(fā)送者(SW1)的BID相同,這個時候,就會比擬發(fā)送者的PID,也就是端口ID〔端口ID等于優(yōu)先級(默認(rèn)端口優(yōu)先級是128)加上端口號〕,發(fā)送者〔SW1〕端口ID較小的那個端口對應(yīng)的本地〔SW2〕上的那個端口,將成為根端口。我們在SW1上查看生成樹信息:1SW1#showspanning-tree2VLAN00013

Spanningtreeenabledprotocolieee4

RootID

Priority

2457756

Thisbridgeistheroot7

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec8

9

BridgeID

Priority

24577

(priority24576sys-id-ext1)1011

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec12

AgingTime

2013

14/*15

*這一局部信息就是SW1上面的端口信息,其中Prio下面的就是端口ID,16

*可以看到SW1的fa0/1默認(rèn)端口ID是128.1,小于fa0/2的端口ID。17

*/18Interface

RoleStsCost

Prio.NbrType19---------------------------------------------------20Fa0/1

DesgFWD19

128.1

P2p21Fa0/2

DesgFWD19

128.2

P2p22

23SW1#從輸出可以看到,SW1上面的fa0/1擁有較小的端口ID,它對應(yīng)了SW2的fa0/2端口,所以SW2的fa0/2端口被選舉成為根端口。***如果發(fā)送者的PID也相同,那么比擬接收者的PID,看下面這種情況:圖中,SW1的fa0/1連接在一臺集線器上,SW2的fa0/1和fa0/2也連接在這臺集線器上,線路均為100Mb/s,假設(shè)SW1擁有較小的BID被選舉成根交換機,SW2現(xiàn)在要選舉根端口,首先根據(jù)前面說的,比擬花費,SW2從兩個端口到根交換機SW1的花費都相同;然后SW2比擬發(fā)送者BID,發(fā)送者(SW1)的BID也相同;SW2再比擬發(fā)送者PID,發(fā)現(xiàn)PID也相同;這個時候,SW2比擬接收者,也就是自己的PID,將自己PID最小的那個端口選舉成根端口。可以根據(jù)SW2的生成樹信息輸出判斷,fa0/1擁有更小的PID,所以它被選舉成為根端口:1SW2#showspanning-tree2VLAN00013

Spanningtreeenabledprotocolieee4

RootID

Priority

2457756

Cost

197

Port

1(FastEthernet0/1)8

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec9

10

BridgeID

Priority

32769

(priority32768sys-id-ext1)1112

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec13

AgingTime

2014

15/*16

*下面這一局部可以清楚的看到fa0/1擁有更小的PID128.1,17

*RootFWD表示這個端口被選舉成為了根端口,并且狀態(tài)是轉(zhuǎn)發(fā),18

*AltnBLK表示這個端口既不是根端口也不是指派端口,被阻塞。19

*/20Interface

RoleStsCost

Prio.NbrType21-------------------------------------------------22Fa0/1

RootFWD19

128.1

Shr23Fa0/2

AltnBLK19

128.2

Shr24

25/*26

*這里補充一個知識點,端口的優(yōu)先級默認(rèn)為128,27

*而這個端口優(yōu)先級是可以手動修改的,28

*可以將fa0/2的優(yōu)先級通過下面的命令改成100,29

*這樣STP重新收斂,F(xiàn)a0/1將被阻塞,F(xiàn)a0/2將被選舉成為根端口,30

*端口優(yōu)先級的取值范圍是0-255,31

*CiscoPacketTracer中不支持這一條命令,可以在GNS3中測試。32

*/33SW2(config)#intfa0/234SW2(config-if)#spanning-treeport-priority100到這里,選舉根端口的全部可能性都講解完了。下面講解指派端口的選舉。3,選舉指派端口每個網(wǎng)段有且只有一個指派端口。其實,每個網(wǎng)段都有一個指派交換機,指派交換機上如果有多個端口,再從多個端口中選舉出一個成為指派端口,指派端口的選舉依照下面的順序:***比擬花費圖中,假設(shè)SW1被選舉成了根交換機,因為每個網(wǎng)段都有一個指派端口,在SW1和SW3相連的線路上,由于SW1本身是根交換機,SW1的fa0/1端口到自己的花費是0,所以SW1的fa0/1接口被選舉成指派端口〔根交換機上的所有端口都是指派端口〕;同理在SW1和SW2相連的網(wǎng)段上,SW1的fa0/2也被選舉成了指派端口;而在SW2和SW3相連的網(wǎng)段上,由于SW1和SW2之間是1Gb/s鏈路,SW2去往根交換機的花費〔4〕要小于SW3去往根交換的花費〔19〕,所以SW2是這個網(wǎng)段上的指派交換機,SW2的fa0/3將成為這個網(wǎng)段的指派端口。再根據(jù)前面的根端口的選舉可以知道SW2的fa0/2是根端口,SW3的fa0/1是根端口,SW3的fa0/3端口因為不是根端口,也不是指派端口,所以被阻塞。***花費相同那么比擬接收者的BID〔這次不是發(fā)送者了〕圖中,SW1是根交換機,在SW2和SW3相連的網(wǎng)段上,SW2和SW3到根交換機的花費相同,這時就需要比擬接收者的BID,也就是SW2和SW3的BID,BID小的將成為指派交換機,從圖中可以看到SW2的BID小于SW3的BID,所以SW2是指派交換機,SW2的fa0/3端口將成為指派端口。***接收者的BID也相同那么比擬接收者的PID圖中,SW1是根交換機,SW2和SW3相連的網(wǎng)段上有一臺集線器,SW2有兩個端口連接在這臺集線器上,這種情況下,根據(jù)上面一步比擬出了SW2的BID比SW3小,但是SW2上面有多個端口連接在這個網(wǎng)段,這時就要比擬這些端口的PID,擁有最小PID的成為指派端口(fa0/3),PID大的剩余端口全部阻塞〔fa0/4阻塞〕,通過在SW2上查看生成樹信息驗證:1SW2#showspanning-tree2VLAN00013

Spanningtreeenabledprotocolieee4

RootID

Priority

2457756

Cost

197

Port

2(FastEthernet0/2)8

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec9

10

BridgeID

Priority

32769

(priority32768sys-id-ext1)1112

HelloTime

2sec

MaxAge20sec

ForwardDelay15sec13

AgingTime

2014

15Interface

RoleStsCost

Prio.NbrType16-------------------------------------------------17Fa0/2

RootFWD19

128.2

P2p18Fa0/3

DesgFWD19

128.3

Shr19Fa0/4

AltnBLK19

128.4

Shr20/*可以看到默認(rèn)的PIDfa0/3比fa0/4小,所以fa0/4被阻塞,fa0/3是指派端口*/4,阻塞端口既不是根端口也不是指派端口的端口將被阻塞。*STP拓?fù)渥兓?dāng)交換機檢測到端口發(fā)生了變化時,交換機將通知根交換機拓?fù)渥兓闆r,根交換機再將這一情況擴散到整個網(wǎng)絡(luò),有三種特殊的BPDU用來完成這些工作:TCN(TopologyChangeNotification)BPDU-拓?fù)涓淖兺ㄖ狟PDU、TCA〔TopologyChangeAcknowledgement〕BPDU-拓?fù)涓淖兇_認(rèn)BPDU、TC〔TopologyChange〕BPDU,下列圖演示了這一過程:圖中,左邊SW5首先檢測到了拓?fù)渥兓?,它從根端口向SW2發(fā)送TCN,SW2使用TCA向SW5確認(rèn),然后SW2產(chǎn)生一個TCN從自己的根端口發(fā)送給SW1,也就是根交換機,根交換機SW1收到這個TCN后,使用TCA向SW2確認(rèn)。一旦根交換機知道了這一拓?fù)渥兓?,它將向外播送發(fā)送TC位被設(shè)置的BPDU,就是上圖右邊的情況,最后整個播送域都知道了這一變化。[*4*].STP負(fù)載均衡實驗實驗在GNS3中完成。在上面這張拓?fù)鋱D中,SW1的fa0/0連接了SW1的fa0/1,SW1的fa0/1連接了SW2的fa0/0,這兩條鏈路被配置成主干,將SW1設(shè)置成VTPServer,SW2設(shè)置成VTPClient,在SW1上新建VLAN2,讓SW1成為VLAN1的根交換機,SW2成為VLAN2的根交換機,這樣根據(jù)前面的表達,在VLAN1生成樹實例中SW2的fa0/0接口將被阻塞,VLAN1的流量將全部從上面那條線路經(jīng)過,而在VLAN2生成樹實例中SW1的fa0/0將被阻塞,VLAN2的流量將全部從下面這條線路走。1/*首先將SW1和SW2相連的兩條線路配置成主干*/2SW1(config)#intfa0/03SW1(config-if)#swimodtrunk4SW1(config-if)#intfa0/15SW1(config-if)#swimodtrunk6

7SW2(config)#intfa0/08SW2(config-if)#swimodtrunk9SW2(config-if)#intfa0/110SW2(config-if)#swimodtrunk11

12/*將SW2配置成VTPServer*/13SW1#vlandatabase14SW1(vlan)#vtpdomainccna15ChangingVTPdomainnamefromNULLtoccna16SW1(vlan)#vtppasswordccna17SettingdeviceVLANdatabasepasswordtoccna.18SW1(vlan)#vtpserver19DevicemodealreadyVTPSERVER.20SW1(vlan)#vlan2

/*新建了一個VLAN2*/21VLAN2added:22

Name:VLAN000223SW1(vlan)#exit24APPLYcompleted.25Exiting....26SW1#27

28/*將SW2配置成VTPClient*/29SW2#vlandatabase30SW2(vlan)#vtpdomainccna31Domainnamealreadysettoccna.32SW2(vlan)#vtppasswordccna33SettingdeviceVLANdatabasepasswordtoccna.34SW2(vlan)#vtpclient35SettingdevicetoVTPCLIENTmode.36SW2(vlan)#exit37InCLIENTstate,noapplyattempted.38Exiting....39SW2#40

41/*將SW1配置成VLAN1的根交換機*/42SW1(config)#spanning-treevlan1rootprimary43%ThisswitchisalreadytherootofVLAN1spanningtree44

VLAN1bridgeprioritysetto819245

VLAN1bridgemaxagingtimeunchangedat2046

VLAN1bridgehellotimeunchangedat247

VLAN1bridgeforwarddelayunchangedat1548SW1(config)#49

50/*將SW2配置成VLAN2的根交換機*/51SW2(config)#spanning-treevlan2rootprimary52

VLAN2bridgeprioritysetto819253

VLAN2bridgemaxagingtimeunchangedat2054

VL

溫馨提示

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

最新文檔

評論

0/150

提交評論