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