楊 彬
基于ENSP的生成樹協(xié)議原理仿真實(shí)驗(yàn)
楊 彬
(上海市公用事業(yè)學(xué)校,上海 200030)
生成樹協(xié)議是二層網(wǎng)絡(luò)設(shè)備重要的協(xié)議之一,但其工作過程較為抽象,在學(xué)習(xí)中很難領(lǐng)會(huì)其核心。文章從生成樹的工作原理出發(fā),用工程案例為引導(dǎo),設(shè)計(jì)實(shí)驗(yàn)步驟,給出實(shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)。利用ENSP軟件仿真搭建實(shí)驗(yàn)環(huán)境,給出配置過程、配置命令,并進(jìn)行數(shù)據(jù)流抓包分析驗(yàn)證。實(shí)踐證明,學(xué)生通過該實(shí)驗(yàn)的學(xué)習(xí),可以更好的理解二層交換網(wǎng)絡(luò)生成樹協(xié)議的功能,并高效地完成數(shù)據(jù)冗余鏈路配置及流量負(fù)載均衡。該仿真實(shí)驗(yàn)方法在通信網(wǎng)絡(luò)實(shí)踐課程教學(xué)中取得了較好的效果。
eNSP; 生成樹;冗余鏈路;負(fù)載均衡;通信網(wǎng)絡(luò)
在互聯(lián)網(wǎng)高速發(fā)展的今天,越來越多的終端用戶需要連入網(wǎng)絡(luò)進(jìn)行信息交互與溝通,這使得接入層的設(shè)備越來越多,為了能保證數(shù)據(jù)通信的準(zhǔn)確性和及時(shí)性,往往使用多臺(tái)交換機(jī)互聯(lián),從而提供數(shù)據(jù)冗余[1],但是帶來這些好處的同時(shí),也會(huì)形成二層環(huán)路,使用生成樹協(xié)議可以很好的避免環(huán)路的出現(xiàn),然而該協(xié)議的防環(huán)機(jī)制較為抽象,同時(shí)要與現(xiàn)實(shí)很好的匹配,需要較多的設(shè)備進(jìn)行冗余備份及負(fù)載均衡。筆者設(shè)計(jì)的實(shí)驗(yàn)案例可以很好的與現(xiàn)實(shí)相結(jié)合,在配置的過程中理解協(xié)議原理[2]。
在以太網(wǎng)交換網(wǎng)絡(luò)中為了進(jìn)行鏈路備份,提高網(wǎng)絡(luò)可靠性,通常會(huì)在一些關(guān)鍵設(shè)備間使用冗余鏈路,但是使用了冗余鏈路會(huì)在交換網(wǎng)絡(luò)上產(chǎn)生環(huán)路,并導(dǎo)致廣播風(fēng)暴以及MAC地址表不穩(wěn)定等故障現(xiàn)象[4],從而導(dǎo)致用戶通信質(zhì)量較差,甚至通信中斷。解決問題的方案可以使用生成樹協(xié)議STP(Spanning Tree Protocol)。
運(yùn)行STP協(xié)議的設(shè)備通過彼此交互信息發(fā)現(xiàn)網(wǎng)絡(luò)中的環(huán)路,并有選擇地對(duì)某些端口進(jìn)行阻塞,以最終實(shí)現(xiàn)將環(huán)路網(wǎng)絡(luò)結(jié)構(gòu)修剪成無環(huán)路的樹型網(wǎng)絡(luò)結(jié)構(gòu),從而防止報(bào)文在環(huán)路網(wǎng)絡(luò)中不斷增生和無限循環(huán),避免設(shè)備由于重復(fù)接收相同的報(bào)文所造成的報(bào)文處理能力下降的問題發(fā)生。
STP是最原始的生成樹協(xié)議,它的主要不足是網(wǎng)絡(luò)拓?fù)涫諗克俣嚷?,在之后產(chǎn)生了RSTP(快速生成樹協(xié)議)和MSTP(多生成樹協(xié)議),相比較STP而言,RSTP收斂速度明顯提高,但是兩者都是單生成樹,即一個(gè)網(wǎng)絡(luò)中只生成一樹生成樹。而目前使用較多的MSTP[5][6],其最大的優(yōu)勢就在于可以在一個(gè)網(wǎng)絡(luò)中劃分多個(gè)MST域,在一個(gè)MST域中又可劃分多個(gè)生成樹實(shí)例。
eNSP(Enterprise Network Simulation Platform)是一款由華為提供的免費(fèi)的、可擴(kuò)展的、圖形化操作的網(wǎng)絡(luò)仿真工具平臺(tái),主要對(duì)企業(yè)網(wǎng)絡(luò)路由器、交換機(jī)進(jìn)行軟件仿真,完美呈現(xiàn)真實(shí)設(shè)備實(shí)景,支持大型網(wǎng)絡(luò)模擬[6][7],讓用戶可以在沒有真實(shí)設(shè)備的情況下進(jìn)行網(wǎng)絡(luò)模擬搭建,快速學(xué)習(xí)網(wǎng)絡(luò)設(shè)備的配置與管理。同時(shí),該模擬器還可以通過真實(shí)網(wǎng)卡實(shí)現(xiàn)與真實(shí)網(wǎng)絡(luò)設(shè)備的對(duì)接,模擬接口的抓包,直觀展示協(xié)議之間的交互過程。
3.1實(shí)驗(yàn)?zāi)康?/p>
該實(shí)驗(yàn)?zāi)康氖橇私饨粨Q機(jī)環(huán)路生成過程;STP生成樹協(xié)議工作原理;MSTP多生成樹工作原理及配置過程;MSTP負(fù)載均衡配置過程。
3.2項(xiàng)目需求
實(shí)驗(yàn)?zāi)M了某公司多個(gè)不同部門之間由接入層至核心層的通信過程。由于接入層設(shè)備眾多,需要使用兩臺(tái)S3700模擬將多臺(tái)設(shè)備接入。但這些設(shè)備分處不同的部門,為了避免如ARP在MAC地址尋址過程中產(chǎn)生的大量廣播幀,所以將接入層不同部門的設(shè)備劃分入不同的VLAN。而在匯聚層為了實(shí)現(xiàn)高效的外連,使用兩臺(tái)S5700三層交換,并進(jìn)行冗余配置,同時(shí),再將兩臺(tái)匯聚層設(shè)備同時(shí)連接至核心層設(shè)備。為了進(jìn)行對(duì)生成樹原理進(jìn)行更有效的理解,此處使用一臺(tái)S5700設(shè)備進(jìn)行核心配置。當(dāng)然也可以更換為路由器設(shè)備進(jìn)行外網(wǎng)聯(lián)通性模擬測試。
這樣實(shí)現(xiàn)的益處在于當(dāng)匯聚層兩臺(tái)設(shè)備中的任何設(shè)備出現(xiàn)故障時(shí),都不會(huì)影響到整個(gè)網(wǎng)絡(luò)的互通性,即使核心層設(shè)備的某個(gè)接口出現(xiàn)故障時(shí),企業(yè)內(nèi)網(wǎng)的外訪仍然不受影響。
依據(jù)需求,在ENSP仿真環(huán)境中搭建實(shí)驗(yàn)拓?fù)?,如下圖1所示。
3.3實(shí)驗(yàn)過程
3.3.1 設(shè)備端口配置
接入層設(shè)計(jì)了四臺(tái)PC機(jī),分別模擬四個(gè)不同的部門,分別劃入VLAN 10—VLAN 40,端口連接如圖1所示。這四臺(tái)PC機(jī)用于抓包查看數(shù)據(jù)流時(shí)進(jìn)行測試使用。其IP地址配置如表1所示。
圖1 網(wǎng)絡(luò)拓?fù)鋱DFig.1 Network topology
3.3.2 STP實(shí)現(xiàn)單環(huán)端口阻斷
首先,將設(shè)備SW1SW2SW4啟動(dòng),由于ENSP隨機(jī)產(chǎn)生的這三臺(tái)交換設(shè)備MAC地址如圖1所示,根據(jù)生成樹原理可知,SW1的MAC地址最小,因而,在三臺(tái)交換設(shè)備形成環(huán)路的前提下,SW1首先通過BPDU的交換成為根橋。即其現(xiàn)有所有可用端口都是指定端口。驗(yàn)證如下:
而SW2與SW4設(shè)備對(duì)應(yīng)端口角色如下:
表1 設(shè)備地址分配表Tab.1 Device address allocation table
由此可見,SW4設(shè)備的E0/0/12端口此時(shí)為阻塞端口。如此一來,SW4下連的所有接入層設(shè)備進(jìn)行向上通信時(shí),所經(jīng)由的路徑均為:SW4—SW1;備用SW2設(shè)備在正常情況下都不會(huì)工作,除非SW4設(shè)備的E0/0/11端口故障,E0/0/12端口才會(huì)啟用成為根端口進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),此時(shí),SW2才會(huì)開始進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
然而,由于公司接入層設(shè)備眾多,需要兩臺(tái)交換機(jī)同時(shí)工作,當(dāng)SW5交換機(jī)啟動(dòng)后,由于其MAC地址最小,所以BPDU報(bào)文重新進(jìn)行協(xié)商,最終SW5成為該環(huán)網(wǎng)中的根橋設(shè)備。如下所示。
而原來的SW1設(shè)備上各端口情況變化如下:
顯然,由SW5這樣一個(gè)二層設(shè)備作為整個(gè)環(huán)路中的根橋設(shè)備是不合理的。
3.3.3 MSTP實(shí)現(xiàn)雙環(huán)冗余
最優(yōu)的狀態(tài)就是可以將接入層的設(shè)備一半使用SW1為根橋進(jìn)行外網(wǎng)通信;而另一半設(shè)備則使用SW2作為根橋。在這樣的前提下,就可以使用現(xiàn)在較為流行的MSTP進(jìn)行匯聚層網(wǎng)絡(luò)的冗余配置,同時(shí)還可以實(shí)現(xiàn)負(fù)載均衡[8][9]。
根據(jù)現(xiàn)有的拓?fù)淝闆r,將VLAN 10 與VLAN 30 的主根設(shè)置為SW1;將VLAN 20 與VLAN 40的主根設(shè)置為SW2。這樣,當(dāng)所有的設(shè)備均正常工作時(shí),PC1與PC3的數(shù)據(jù)流從左側(cè)經(jīng)由SW1進(jìn)行外網(wǎng)通信,而PC2與PC4數(shù)據(jù)流經(jīng)由右側(cè)的SW2與外網(wǎng)通信。若設(shè)備中的某個(gè)接口出現(xiàn)故障,可以自動(dòng)切換為另一側(cè)的設(shè)備進(jìn)行通信。
使用MSTP在設(shè)備上配置如下:
SW4設(shè)備配置如下(SW5設(shè)備配置相似,其中域名及修改級(jí)別必須一致才可以實(shí)現(xiàn)在同一個(gè)域中進(jìn)行數(shù)據(jù)傳輸。)
[SW4]stp mode mstp
//設(shè)置STP模式為MSTP
[SW4]stp region-configuration
//進(jìn)入MST域視圖
[SW4-mst-region]region-name GW
//設(shè)置MST域名為GW
[SW4-mst-region]revision-level 1
//配置MST域的修訂級(jí)別為1
[SW4-mst-region]instance 1 vlan 10 30
//配置SW4設(shè)備的MSTI 1中傳輸VLAN 10 及VLAN 30數(shù)據(jù)流
[SW4-mst-region]instance 2 vlan 20 40
//配置SW4設(shè)備的MSTI 2中傳輸VLAN 20 及VLAN 40 數(shù)據(jù)流
[SW4-mst-region]active region-configuration
//激活MST域的配置
由于SW1與SW2作入?yún)R聚層,承擔(dān)數(shù)據(jù)流的冗余備份功能,因此,這兩臺(tái)三層設(shè)備除了需要與SW4及SW5在同一個(gè)MST域中之外,還需要按照項(xiàng)目的需求,將SW1需要作為MSTI 1的根橋以及MSTI 2的備份根橋;SW2作為MSTI 2的主根橋以及MSTI 1的備份根橋。所以,SW1設(shè)備配置除了與上述SW4的MST域配置相同之外,還需要在系統(tǒng)視圖下進(jìn)行主根及備根的備置[10]-[12],如下所示:
[SW1]stp instance 1 root primary
//設(shè)置SW1為MSTI 1的主根
[SW1]stp instance 2 root secondary
//設(shè)置SW1為MSTI 2的備根
Sw2設(shè)備配置如下:
[SW2]stp instance 2 root primary
//設(shè)置SW2為MSTI 2的主根
[SW2]stp instance 1 root secondary
//設(shè)置SW2為MSTI 1的備根
完成配置后可以通過查看SW1與SW2的端口STP信息,查詢當(dāng)前設(shè)備的主備分配。由下圖可見,SW1為MSTI 1的主根設(shè)備,即在MSTI 1中,所有的端口均為指定端口;而SW2為MSTI 2的主根設(shè)備,即在MSTI 2中,所有的端口均為指定端口。
而此時(shí),在SW4與SW5設(shè)備上,可以看到不同的MSTI所對(duì)應(yīng)的根端口不一樣。在SW4設(shè)備上,PC1屬于VLAN10,即在MSTI 1實(shí)例中,因此,其數(shù)據(jù)流從e0/0/11上行至SW1;而PC2屬于VLAN 20,即在MSTI 2實(shí)例中,其數(shù)據(jù)流從e0/0/12這個(gè)根端口上行至SW2。
3.3.4 外聯(lián)配置與測試
在實(shí)現(xiàn)了上述配置之后,需要利用ENSP的抓包功能進(jìn)行外聯(lián)測試。將SW3啟動(dòng),并加入至相同的MST域內(nèi)。同時(shí),為了測試方便,啟用三層路由功能,在此設(shè)備上為每個(gè)VLAN創(chuàng)建VLANIF端口地址。配置命令如下:
[sw3]int vlanif 10
[sw3-Vlanif10]ip add 10.1.1.1 8
[sw3-Vlanif10]int vlanif 20
[sw3-Vlanif20]ip add 20.1.1.1 8
[sw3-Vlanif20]int vlanif 30
[sw3-Vlanif30]ip add 30.1.1.1 8
[sw3-Vlanif30]int vlanif 40
[sw3-Vlanif40]ip add 40.1.1.1 8
在四臺(tái)PC機(jī)上分別進(jìn)行不間斷發(fā)包測試,同時(shí),在SW1與SW2兩臺(tái)設(shè)備的g0/0/21端口上進(jìn)行抓包測試,得到如下圖所示結(jié)果,驗(yàn)證了VLAN 10與VLAN 30數(shù)據(jù)流從SW1端口上行,而VLAN 20與VLAN 40數(shù)據(jù)流從SW2端口上行。
而當(dāng)將SW2的G0/0/21端口斷開后,抓取SW1設(shè)備的G0/0/21端口發(fā)現(xiàn),所有四臺(tái)PC設(shè)備的數(shù)據(jù)流量均從此端口上行連接。
圖2 SW1交換機(jī)G0/0/21端口抓包結(jié)果Fig.2 The result of SW1 switch’s G0/0/21 port
借助于ENSP的仿真環(huán)境,筆者設(shè)計(jì)的交換機(jī)防環(huán)仿真實(shí)驗(yàn),以工程案例為背景,逼真的模擬了現(xiàn)實(shí)環(huán)境,使得學(xué)生將枯燥的理論知識(shí)得以可見可得,在完成案例的過程中,既能更好的理解理論知識(shí),同時(shí)也積累了真實(shí)的經(jīng)驗(yàn),在達(dá)到教學(xué)目的的同時(shí),降低了設(shè)備財(cái)力投入。
圖3 SW2交換機(jī)G0/0/21端口抓包結(jié)果Fig.3 The result of SW2 switch’s G0/0/21 port
圖4 SW1交換機(jī)G0/0/21端口第二次抓包結(jié)果Fig.4 The 2ndresult of SW1 switch’s G0/0/21 port
[1] 王達(dá). 華為交換機(jī)學(xué)習(xí)指南[M]. 北京: 人民郵電出版社, 2016. 07.
[2] 孟祥成. 基于ENSP的防火墻仿真實(shí)驗(yàn)[J]. 實(shí)驗(yàn)室研究與探索. 2016(4): 95-100.
[3] 劉靜, 樊建席. 基于獨(dú)立生成樹的網(wǎng)絡(luò)多路徑傳輸方法研究[J]. 軟件, 2016, 37(4): 25-28.
[4] 張棟梁, 譚永杰. 云計(jì)算中負(fù)載均衡優(yōu)化模型及算法研究[J]. 軟件, 2013, 34(8): 52-55.
[5] 朱壯普. 多生成樹協(xié)議MSTP在交換網(wǎng)絡(luò)中的應(yīng)用[J]. 太原城市職業(yè)技術(shù)學(xué)院學(xué)報(bào). 2012(11): 148-149.
[6] 王崇, 陳燕. 基于ENSP 的NAPT 和NAT Server 的實(shí)現(xiàn)[J]. 軟件, 2016, 37(6): 87-90.
[7] 何杏, 楊桂松, 周亦敏. 基于ENSP 的NAPT 和NAT Server 的實(shí)現(xiàn)[J]. 軟件, 2015, 36(10): 26-29.
[8] 李衛(wèi)東. 生成樹協(xié)議在系統(tǒng)網(wǎng)絡(luò)故障分析定位中的作用[J].中國新通信. 2016(5): 83-83.
[9] 郭獻(xiàn)彬. 關(guān)于多實(shí)例生成樹協(xié)議的實(shí)用問題分析[J]. 信息通信. 2016(1): 18-19.
[10] 龍著乾. 流媒體服務(wù)器集群的負(fù)載均衡研究[J]. 軟件, 2013, 34(4): 62-64.
[11] 李兵, 吳偉明. 基于消息隊(duì)列模型和數(shù)據(jù)冗余技術(shù)避免電商平臺(tái)分布式事務(wù)的研究[J]. 軟件, 2015, 36(11): 66-68.
[12] 賴國鴻. 多生成樹協(xié)議在智慧校園中的應(yīng)用[J]. 數(shù)字技術(shù)與應(yīng)用. 2015(12): 93-93.
Spanning Tree Protocol Principle Simulation Experiment Based on eNSP
YANG Bin
(Shanghai Public Utility School, Shanghai, 200030)
Spanning Tree Protocol is one of the most important protocols in the second layer of the equipment in the network. But, the principle is too logical to understand for the students in learning. The article introduce the principle by using the case of engineering as the guide, design the emulational experiment and give the topology of the experiment. The ENSP is used as simulation software to build experimental environment and complete configuration process. By giving the configuration commands and analyzing the data which catching from the interfaces, it’s easier to understand the protocol for the students. As the same time, they can build a robust network with redundancy and load balanced technologies by using the STP. At last the method has gained favorable effect in the experimental teaching of communication network practice course.
eNSP; Spanning tree protocol; Redundancy link; Load balancing; Communication network
TP393
: A
10.3969/j.issn.1003-6970.2017.02.026
楊彬(1977-),女,講師,主要研究方向:通信網(wǎng)絡(luò);職業(yè)技術(shù)教育。
本文著錄格式:楊彬. 基于ENSP的生成樹協(xié)議原理仿真實(shí)驗(yàn)[J]. 軟件,2017,38(2):125-129