STP的主要作用是防止網(wǎng)橋網(wǎng)絡(luò)中的冗余鏈路形成環(huán)路,工作在OSI模型 的第2層。但某些特定因素會(huì)導(dǎo)致STP失敗,要排除故障可能非常困難,這取決于網(wǎng)絡(luò)設(shè)計(jì)。所以要先做好周密準(zhǔn)備和規(guī)劃,以免發(fā)生故障后束手無策。
圖1 網(wǎng)絡(luò)拓?fù)鋱D
許多時(shí)候,人們?cè)谥峙懦收蠒r(shí)才發(fā)現(xiàn)自己不知道根橋的位罝在哪里,如圖1所示,不要將根橋交由STP來決定。對(duì)于每個(gè)VLAN,通常都可以確定哪臺(tái)交換機(jī)最適合作為根橋。一般情況下,選擇位于網(wǎng)絡(luò)中央位置、而且功能較強(qiáng)的網(wǎng)橋,如果將位于網(wǎng)絡(luò)中央、直接連接到服務(wù)器和路由器的設(shè)備定為根橋,便可縮短從客戶端到服務(wù)器和路由器的平均距離。
由圖1可知:如果交換機(jī)SW2是根橋,則會(huì)在SW1或SW3上阻塞從SW1到SW3的鏈路,此時(shí)連接到交換機(jī)SW2的主機(jī)PC1能夠通過2跳訪問服務(wù)器和路由器,連接到網(wǎng)橋SW3的主機(jī)PC2能夠通過3跳訪問服務(wù)器和 路由器,因此平均距離是兩跳半。
如果交換機(jī)SW1是根橋,那么連接到SW2和SW3的主機(jī)PC1、PC2都能通過兩跳到達(dá)路由器和服務(wù)器,現(xiàn)在的平均距離為兩跳。
圖1所描述的只是一個(gè)非常簡單的網(wǎng)絡(luò)拓?fù)?,如果在更?fù)雜的網(wǎng)絡(luò)拓樸結(jié)構(gòu)中以上的邏輯同樣使用,所以根橋的選擇在現(xiàn)實(shí)環(huán)境中顯得尤為重要,并不是隨便配置一下,讓網(wǎng)絡(luò)自主選擇根橋,能夠連通就OK了。而且當(dāng)出現(xiàn)一些不是很明顯的網(wǎng)絡(luò)故障時(shí),會(huì)讓我們不知所措。
措施:可以通過配置網(wǎng)橋優(yōu)先級(jí)來指定根橋,默認(rèn)32768,數(shù)值越小優(yōu)先級(jí)越高(但必須是4096的倍數(shù)),現(xiàn)在改為4096,最好配另一臺(tái)為備用根橋,優(yōu)先級(jí)可以配為8192。
STP之所以能夠成功阻止環(huán)路,采取的惟一一項(xiàng)重要舉措就是阻塞端口。只要有一個(gè)阻塞端口錯(cuò)誤轉(zhuǎn)換到轉(zhuǎn)發(fā)狀態(tài),就可能對(duì)大面積的網(wǎng)絡(luò)造成負(fù)面影響。這就是使用STP可能帶來的風(fēng)險(xiǎn),但是,我們可對(duì)此風(fēng)險(xiǎn)加以限制,盡量減少阻塞端口數(shù)目。
要想在將來發(fā)生STP故障的時(shí)候更容易加以解決,就要在一開始的時(shí)候規(guī)劃好冗余鏈路。
在非分層式網(wǎng)絡(luò)中,可能需要微調(diào)STP開銷參數(shù)來決定要阻塞的端口。然而,如果采用的是分層設(shè)計(jì)而且根橋所在的位置恰當(dāng),那么一般不需要調(diào)整該參數(shù)。
注意:為了得到穩(wěn)定網(wǎng)絡(luò),務(wù)必了解每個(gè)VLAN中應(yīng)阻塞哪些端口,應(yīng)具備一張網(wǎng)絡(luò)圖,其中應(yīng)清晰顯示網(wǎng)絡(luò)中的每個(gè)物理環(huán)路以及斷開這些環(huán)路的阻塞端口。
圖2 網(wǎng)絡(luò)拓?fù)鋱D
圖3 網(wǎng)絡(luò)拓?fù)鋱D
此外,了解冗余鏈路的位罝有助于找出偶然的橋接環(huán)路以及原因。了解阻塞端口的位置也有助于確定錯(cuò)誤的位置。
在交換網(wǎng)絡(luò)中,兩個(gè)節(jié)點(diǎn)之間可能需要兩條以上的冗余鏈路。然而,圖2所示的配置相當(dāng)常見。每臺(tái)到匯聚層交換機(jī)分別連接到兩臺(tái)核心層交換機(jī),即交換機(jī)LSW1和 LSW2。
接入交換機(jī)LSW5和LSW6連接到匯聚層交換機(jī)LSW3和LSW4, LSW5和LSW6上的用戶都只位于網(wǎng)絡(luò)中可用VLAN的子集中。在該圖中,交換機(jī)LSW3連接的用戶都位于VLAN 20中;交換機(jī)LSW4只連接VLAN 30中的用戶。
默認(rèn)情況下,中繼承載 VTP域中定義的所有VLAN。使用VTP修剪,交換機(jī)LSW3轉(zhuǎn)發(fā)VLAN 20的流量,但阻塞不必要的VLAN 30的流最。核心層交換機(jī)LSW1和LSW2之間。
一共有3條冗余路徑。這種冗余設(shè)置會(huì)導(dǎo)致更多的端口被阻塞,形成環(huán)路的機(jī)率也更高。
所有不必要的VLAN流都應(yīng)該從適當(dāng)?shù)闹欣^鏈路中剪除掉。VTP修剪可以起到一定的作用,但是在網(wǎng)絡(luò)的核心層則沒有必要使用此功能。
建議:只使用接入VLAN將匯聚層交換機(jī)連接到核心層(圖 3),在此設(shè)計(jì)中,每個(gè)VLAN只阻塞了一個(gè)端口。此外,如果關(guān)閉LSW1或LSW2,那么只需一個(gè)步驟 即可刪除所有冗余鏈路。
注意:VTP是思科專有的協(xié)議,在IEEE標(biāo)準(zhǔn)中有GVRP 協(xié)議,允許對(duì)802.1Q VLAN 進(jìn)行控制。GVRP交換機(jī)之間能夠相互交換VLAN配置信息,裁剪不必要的廣播和未知單播流量以及在通過 802.1Q干線連接的交換機(jī)上動(dòng)態(tài)創(chuàng)建和管理VLAN。
第3層交換意味著以第2層交換的速度執(zhí)行路由。路由器執(zhí)行的兩種主要功能如下。
1.構(gòu)建路由表,路由器一般通過路由協(xié)議與對(duì)等點(diǎn)交換信息;
2.接收數(shù)據(jù)包,并根據(jù)目的地址將它們轉(zhuǎn)發(fā)到正確的接口。
第3層交換機(jī)現(xiàn)在能夠使用與第2層交換功能一樣快的速度來有效地執(zhí)行第2層功能,如圖3所示(虛線框),路由的跳轉(zhuǎn)以及LSW1與LSW2之間的額外網(wǎng)段上沒有任何對(duì)速度的不利影響。
核心層交換機(jī)LSW1和LSW2是第3層交換機(jī)。VLAN 20與VLAN 30現(xiàn)在在LSW1與LSW2之間路由, 因此不可能形成環(huán)路。第三層設(shè)備限制了VLAN 20與VLAN 30的廣播域邊界,而依賴第3層路由協(xié)議,冗余功能仍然存在,此設(shè)計(jì)保證收斂速度比802.1DSTP的收斂速度更快。STP不再阻塞任何單個(gè)端口,因此不可能形成橋接環(huán)路。
在交換機(jī)初始啟動(dòng)之后,交換機(jī)的所有端口即加入到默認(rèn)VLAN中。讓所有這些交換機(jī)端口參與默認(rèn)VLAN會(huì)使這些端口全部位于同一個(gè)廣播域中。這樣一來,連接到交換機(jī)任何端口的任何設(shè)備都能與連接到其它端口的其它設(shè)備通信。交換機(jī)的默認(rèn)VLAN是VLAN 1。VLAN 1具有VLAN的所有功能,但是不能對(duì)它進(jìn)行重命名,也不能刪除。第2層的控制流量(例如CDP流量和生成樹協(xié)議流量)始終從屬于 VLAN 1——這一點(diǎn)無法改變。
本 征VLAN分 配 給802.1Q中繼端口。802.1Q中繼端口支持來自多個(gè)VLAN 的流量(有標(biāo)記流量),也支持來自VLAN以外的流量(無 標(biāo) 記 流 量)。802.1Q中繼端口會(huì)將無標(biāo)記流量發(fā)送到本征VLAN。
默認(rèn)情況下TRUNK會(huì)把默認(rèn)VLAN1作為本征VLAN,這樣一來,所有無標(biāo)記流量都通過VLAN1,大量的廣播或組播流量太高會(huì)對(duì)CPU造成不利影響,削弱其處理重要的BPDU的能力。因此,用戶流量不應(yīng)在VLAN1上傳輸。
最佳做法是使用VLAN 1以外的VLAN作為本征VLAN。這樣VLAN1就可以保證二層的控制流量(例如CDP流量和生成樹協(xié)議流量)暢通。