網(wǎng)絡(luò)系統(tǒng)作為企業(yè)承載各個業(yè)務(wù)部門信息的中樞,對其可靠性的要求是不言而喻的。在企業(yè)網(wǎng)絡(luò)系統(tǒng)中,一般都采用冗余備份鏈路來增加網(wǎng)絡(luò)的可靠性,避免了單鏈路故障,但這樣也形成了二層上的環(huán)路。在這種環(huán)境下STP協(xié)議應(yīng)運而生,它通過有選擇性地阻塞網(wǎng)絡(luò)冗余鏈路來達(dá)到消除網(wǎng)絡(luò)二層環(huán)路。
MSTP是從STP發(fā)展而來,相對于STP和RSTP,優(yōu)勢非常明顯。MSTP引入“域”的概念,把一個交換網(wǎng)絡(luò)劃分成多個域。每個域內(nèi)形成多棵生成樹,生成樹之間彼此獨立。另外,MSTP還引入“實例(Instance)”的概念,可以將不同的VLAN映射到不同實例中,MSTP各個實例拓?fù)涞挠嬎闶仟毩⒌模總€實例對應(yīng)一棵單獨的生成樹),在這些實例上就可以實現(xiàn)VLAN數(shù)據(jù)的負(fù)載分擔(dān)。
圖1 LAN-AB域的 多生成樹
某公司網(wǎng)絡(luò)按照分層原則建設(shè),由核心層、匯聚層及接入層組成。核心交換采用兩臺H3C S9500系列交換機(jī)雙機(jī)方式,匯聚層采用了4臺H3C S9500系列交換機(jī)匯聚個樓層流量,4臺匯聚分別命名為A、B、C、D。各樓層接入采用H3C S5100交換機(jī),分別上聯(lián)至兩臺匯聚核心,以實現(xiàn)鏈路冗余,避免單鏈路故障。
在此公司網(wǎng)絡(luò)中定義了兩個MST域,A、B匯聚交換機(jī)為一個MST域,命名為LANAB;C、D匯聚交換機(jī)為另一個MST域,命名為LAN-CD。文中以域LAN-AB為例說明MSTP的應(yīng)用情況。
在兩臺或者多臺開啟了MSTP特性的設(shè)備上,只有當(dāng)其配置的MST域域名、MST域內(nèi)所有生成樹實例對應(yīng)的VLAN映射表、MST域的修訂級別都分別相同,且這些設(shè)備之間有鏈路相通時,它們才屬于同一個MST域。圖1為LAN-AB域的結(jié)構(gòu)模型。
在LAN-AB域中有兩個生成樹實例,分別為實例1和實例2。通過配置使不同VLAN的報文按照不同的生成 樹轉(zhuǎn) 發(fā):VLAN 100—125的報文沿實例1轉(zhuǎn)發(fā),VLAN 126—150的報文沿實例3轉(zhuǎn)發(fā),實現(xiàn)了流量的負(fù)載均衡。
MSTP協(xié)議在二層網(wǎng)絡(luò)中發(fā)揮了很好的作用, MSTP實現(xiàn)了類似于RSTP的端口快速切換,可以捆綁多個VLAN到一個實例中以降低資源利用率。MSTP還可以向下兼容STP和RSTP協(xié)議。它允許不同VLAN的流量沿各自的實例轉(zhuǎn)發(fā)發(fā),從而為冗余鏈路提供了負(fù)載分擔(dān)機(jī)制。
當(dāng)某個MSTP實例中選定根橋后,開始選擇根端口、指定端口、替代端口以及備份端口。網(wǎng)絡(luò)收斂后,就會生成一個轉(zhuǎn)發(fā)樹,打破環(huán)路。在STP收斂過程中,是根據(jù)各端口到根橋的路徑Cost值來確定端口狀態(tài)的。計算出合適的根路徑Cost值,就可以按需求來阻塞端口。當(dāng)MSTP的域中選定根橋后,在每個非根橋選取一個根端口,在每網(wǎng)段選取一個指定端口。根端口與指定端口在這里都是依據(jù)根路徑Cost值選取的,對于端口角色的選擇過程在這里不做過多闡述。
根路徑Cost值的累加是這樣一個過程:首先,根橋發(fā)送BPDU報文,,BPDU每經(jīng)過一臺交換機(jī),Cost值就會累加一次。需要注意的是,Cost值是在BPDU報文進(jìn)入交換機(jī)端口的時候累加,BPDU報文在端口發(fā)出的時候是不累加的Cost值的。也就是說根橋發(fā)送一個BPDU,在這個BPDU報文中,根路徑Cost值為0。
在某公司網(wǎng)絡(luò)中,根據(jù)各樓層的信息點位數(shù)的不同,每層接入交換機(jī)數(shù)量也是不同的。對于存在兩臺或者兩臺以上的,接入交換機(jī)之間采用了級聯(lián)的方式實現(xiàn)通信。圖2是兩臺接入設(shè)備級聯(lián)時生成樹實例1的模型。
圖2 接入設(shè)備級聯(lián)時生成樹
圖3 實例1中的路徑Cost值
在這種情況下,以MSTP實例1為例,我們需要阻塞的是接入交換機(jī)02與匯聚B之間的鏈路,如圖2所示。如果各個端口的Cost值設(shè)置不當(dāng),就會造成接入交換機(jī)之間的級聯(lián)鏈路被阻塞,這樣會使用交換機(jī)2上的流量經(jīng)由匯聚B,再轉(zhuǎn)發(fā)至匯聚A,無法實現(xiàn)按VLAN實現(xiàn)負(fù)載分擔(dān)的功能,不符合設(shè)計初衷。同樣,在三臺、四臺甚至更多接入交換機(jī)級聯(lián)時,也會存在上述問題。因此如何確定路徑開銷值,也就成了MSPT應(yīng)用的一個重點。
在某公司網(wǎng)絡(luò)中,接入交換機(jī)級聯(lián)不會超過五臺。設(shè)置接口的Cost值是為保證阻塞接入到匯聚之間的冗余鏈路,而不會使接入交換機(jī)之間的鏈路被阻塞。同時由于不同的Cost值導(dǎo)致阻塞的端口也不同,為統(tǒng)一規(guī)范,在每個MSTP實例中將接入層交換機(jī)的上聯(lián)端口阻塞。按以上兩點要求,來確定Cost值的計算方法。
匯聚A和匯聚B互聯(lián)端口的Cost值設(shè)置為40,接入交換機(jī)上聯(lián)端口的Cost值默認(rèn)值20。而接入設(shè)備相級聯(lián)的端口Cost需要根據(jù)接入層設(shè)備級聯(lián)的數(shù)量來確定,這里假設(shè)為X。圖3是兩臺級聯(lián)情況下,實例1中各鏈路路徑Cost值設(shè)置情況。
這里需要將接入交換機(jī)02與接入01相連的端口選取為根端口,此時,這一端口到根橋的路徑Cost值應(yīng)小于及接入02上聯(lián)端口到根橋的路徑Cost值,既 20+X<20+40,得到X<40。而阻塞端口則是接入交換機(jī)02的上聯(lián)端口,為達(dá)到這一結(jié)果, 接入02上聯(lián)端口的根路徑Cost應(yīng)該大于匯聚B下聯(lián)端口的根路徑Cost,既20+X>40,得到X>20。由此可以得出,當(dāng)兩臺接入交換機(jī)級聯(lián)時,級聯(lián)端口間的Cost值X應(yīng)滿足20<X<40。
在三臺或更多接入交換機(jī)級聯(lián)時,根據(jù)同樣的計算方法,即可計算出級聯(lián)端口的Cost。 首先假設(shè)有N(N≥2)臺接入交換機(jī)級聯(lián),級聯(lián)端口的Cost都為X,則X應(yīng)該滿足條件:40<20+(N-1)×X<20+40(N≥2),既,20<(N-1)×X<40(N≥2)。根據(jù)這一條件,就可以設(shè)置接入交換機(jī)級聯(lián)端口的Cost值X,從而達(dá)到預(yù)設(shè)的結(jié)果。
上述方法簡要說明了路徑Cost值選取方式,通過計算合適的Cost值,按需求打破二層環(huán)路。這里只是給出一個簡單的計算思路,在實際組網(wǎng)中,應(yīng)結(jié)合實際應(yīng)用設(shè)置正確的路徑Cost值。
MST P使用靈活,適用于復(fù)雜組網(wǎng),配置相對也比較簡單,還可以通過設(shè)置根橋與備份根橋、域信息以及端口路徑開銷來選擇任意VLAN的任意一條路徑來實現(xiàn)流量轉(zhuǎn)發(fā)。在MSTP的應(yīng)用中,路徑Cost值的設(shè)置也是一個重要環(huán)節(jié),合適的Cost值不但能按需消除二層環(huán)路,而且在遇到的接入交換機(jī)擴(kuò)展的時候,無需重新改動其它鏈路的Cost值。從這方面來講,這也增強(qiáng)了網(wǎng)絡(luò)的可擴(kuò)展性。