呂永華
摘要:計(jì)算機(jī)網(wǎng)絡(luò)工程相關(guān)專業(yè)學(xué)生動(dòng)手能力提升最重要途徑就是工程實(shí)踐,將虛擬實(shí)驗(yàn)平臺(tái)引入計(jì)算機(jī)網(wǎng)絡(luò)的實(shí)驗(yàn)教學(xué)中,可以彌補(bǔ)網(wǎng)絡(luò)實(shí)驗(yàn)室由于資金、設(shè)備數(shù)量等方面的不足,大大提高實(shí)驗(yàn)開出率和實(shí)驗(yàn)的效果。為此,介紹了基于GNS3 的網(wǎng)絡(luò)虛擬實(shí)驗(yàn)平臺(tái)環(huán)境,然后以一個(gè)較大規(guī)模的OSPF 網(wǎng)絡(luò)為例展示了GNS3 的強(qiáng)大功能。通過在教學(xué)中將GNS3 虛擬實(shí)驗(yàn)平臺(tái)與真實(shí)設(shè)備實(shí)驗(yàn)相結(jié)合的實(shí)踐表明,可以達(dá)到較理想的教學(xué)效果。
關(guān)鍵詞:GNS3;OSPF;路由協(xié)議;仿真
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)23-0069-02
網(wǎng)絡(luò)工程實(shí)踐對(duì)于計(jì)算機(jī)網(wǎng)絡(luò)工程相關(guān)專業(yè)學(xué)生來說,是一個(gè)重要環(huán)節(jié),對(duì)于培養(yǎng)學(xué)生的動(dòng)手能力和工程實(shí)踐能力以及提高學(xué)生的就業(yè)競(jìng)爭(zhēng)力具有非常重要的意義。然而,網(wǎng)絡(luò)工程實(shí)驗(yàn)室需要大量的硬件設(shè)置,路由、交換、防火墻、服務(wù)器等這些設(shè)備價(jià)格不菲,不可能配備充分。實(shí)驗(yàn)往往分小組進(jìn)行,實(shí)驗(yàn)效果往往差強(qiáng)人意。另外,硬件廠家更新設(shè)備的速度非???,學(xué)校不可能跟得上廠家更新的步伐。再有就是學(xué)生直接在硬件上進(jìn)行操作,各種連線的制作,連接的錯(cuò)誤,驅(qū)動(dòng)的問題,會(huì)使得學(xué)生并不能全身心關(guān)注當(dāng)前實(shí)驗(yàn)的內(nèi)容,從而導(dǎo)致實(shí)驗(yàn)效率低下而不容易獲得實(shí)驗(yàn)的效果。因此,構(gòu)建一個(gè)虛擬化實(shí)驗(yàn)實(shí)踐環(huán)境,讓學(xué)生能有更好的實(shí)驗(yàn)效果,是搞好計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教學(xué)的重要課題。
1 GNS3軟件介紹
GNS3是一款免費(fèi)的開源軟件,用于幫助網(wǎng)絡(luò)工程師進(jìn)行網(wǎng)絡(luò)模擬、配置、測(cè)試和排錯(cuò)。它界面簡(jiǎn)潔,簡(jiǎn)單易用,且功能強(qiáng)大。目前,GNS3已經(jīng)發(fā)展到了2.1.0版本,通過Dynamips、IOU、VMWare、Docker、VPCS、QEMU等軟件,可以支持模擬來自不同供應(yīng)商的多種網(wǎng)絡(luò)設(shè)備(如Cisco N9K、ASA、F5 BIG-IP等)。GNS3具有非常高的仿真度,只要安裝在計(jì)算機(jī)上就可以完成實(shí)驗(yàn),因此不受時(shí)間、地點(diǎn)和數(shù)量的限制,具有非常好的實(shí)驗(yàn)效果。在計(jì)算機(jī)網(wǎng)絡(luò)課程的教學(xué)中引入該模擬軟件,可以達(dá)到很好的教學(xué)效果。本文首先介紹了GNS3 的基本配置和基本使用方法,然后在該模擬平臺(tái)下實(shí)現(xiàn)了一個(gè)較大型的OSPF 網(wǎng)絡(luò)的實(shí)驗(yàn)。
2 GNS3的基本使用
2.1 加載IOS鏡像文件
GNS3需要使用Cisco IOS鏡像文件來模擬路由器和交換機(jī)。目前支持的 IOS 平臺(tái)包括 CISCO 7200、3600 系列、3700 系列、2600 系列IOS。通過Edit菜單,選擇 IOS image and hypervisors。在彈出對(duì)話框中選定此IOS 文件選擇打開。該 IOS 文件就會(huì)出現(xiàn)在上面的鏡像文件信息框中。
2.2設(shè)置設(shè)備的Idle PC值
GNS3優(yōu)點(diǎn)是模擬了真實(shí)設(shè)備,缺點(diǎn)同樣顯而易見就是會(huì)消耗大量資源,一量網(wǎng)絡(luò)拓?fù)漭^大,同時(shí)開啟多臺(tái)網(wǎng)絡(luò)設(shè)備時(shí),計(jì)算機(jī)會(huì)變得比較卡,甚至有時(shí)CPU 利用率會(huì)達(dá)到100%。但是,我們可以通過調(diào)整設(shè)備的Idle PC 值來優(yōu)化GNS3對(duì)CPU 資源的占用,從而減小對(duì)計(jì)算機(jī)運(yùn)行速度的影響。具體方法是:選擇設(shè)備-右鍵-開始, 然后再右鍵-Idle PC,系統(tǒng)會(huì)為該型號(hào)的設(shè)備計(jì)算出若干個(gè)IDLE PC 值,選擇帶* 號(hào)的值,或最大的一個(gè)值作為IDLE PC值,保存即可。
2.3 GNS3中模擬交換機(jī)
GNS3對(duì)于思科交換機(jī)的模擬,可以通過在路由器上插入交換模塊來實(shí)現(xiàn),一般采用NM-16ESW的16口快速以太網(wǎng)交換機(jī)模塊來實(shí)現(xiàn)。這樣可以模擬一臺(tái)三層交換機(jī)。如果要用它模擬二層交換機(jī),只需要關(guān)閉它的路由功能即可(no iprouting)。
3 OSPF路由協(xié)議仿真實(shí)驗(yàn)
3.1 OSPF基本概念
開放式最短路徑優(yōu)先OSPF(Open Shortest Path First)是IETF組織開發(fā)的一個(gè)基于鏈路狀態(tài)的內(nèi)部網(wǎng)關(guān)協(xié)議(Interior Gateway Protocol)。OSPF是基于IP的,協(xié)議號(hào)為89。所以它只能支持IP網(wǎng)絡(luò),ip層是不可靠的,所以ospf開發(fā)了很多確認(rèn)機(jī)制(hello包的鄰居列表,DD報(bào)文使用seq做隱式確認(rèn),LSR/LSU/LSACK之間的相互確認(rèn))。基于ip的話可以使用組播發(fā)送協(xié)議報(bào)文,所以ospf可以自己發(fā)現(xiàn)鄰居,并且建立鄰居關(guān)系;工作在IP及以上的協(xié)議較易于受到安全威脅,如DoS攻擊等。OSPF屬于鏈路狀態(tài)路由協(xié)議,在路由器和路由器之間傳輸?shù)牟⒉皇锹酚蓷l目,而是LSA鏈路狀態(tài)通告,當(dāng)路由器收到對(duì)方傳來的LSA之后,通過Dijkstra算法計(jì)算出路由,并將有效路由放進(jìn)路由表中。OSPF區(qū)域內(nèi)的各設(shè)備是通過DB Description報(bào)文來進(jìn)行LSDB同步,同步完成后,通過Dijkstra算法計(jì)算出路由,所以各設(shè)備達(dá)到路由信息統(tǒng)一是依靠OSPF報(bào)文的交互。OSPF鏈路狀態(tài)協(xié)議共維護(hù)了三張表,即:鄰居狀態(tài)表、鏈路狀態(tài)表、路由信息表。
3.2 利用GNS3仿真OSPF實(shí)驗(yàn)
OSPF實(shí)驗(yàn)驗(yàn)拓?fù)淙鐖D1所示:路由器之間以串口線進(jìn)行連接,路由器的以太網(wǎng)接口都連接在一臺(tái)交換機(jī)上,彼此可以互相訪問。
3.2.1接口基本配置
按下圖要求對(duì)R1、R2、R3進(jìn)行配置,實(shí)驗(yàn)測(cè)試的需要,路由器均需要配置環(huán)回測(cè)試接口loopback。
3.2.2測(cè)試接口的連通性
接口基本配置完成后,首先要做的就是測(cè)試接口的連通性,這是進(jìn)行下一步操作的基礎(chǔ)。首先可以使用show ip interface brief,查看接口狀態(tài):
保證端口和狀態(tài)都為UP時(shí),進(jìn)行下一步。使用ping命令來測(cè)試直連接口的連通性,如下圖:
“!?。。?!”表示可達(dá),如果出現(xiàn)“.”或者“U”,代表的是不可達(dá)。
3.2.3 OSPF協(xié)議配置
在保證設(shè)備間連通性沒有問題后,就可以進(jìn)行OSPF協(xié)議的基本配置了,我們要做的就是將路由器中需要啟用OSPF協(xié)議的網(wǎng)段通告到OSPF中來。要注意的是,OSPF是無(wú)類路由協(xié)議,不支持路由自動(dòng)匯總,支持VLSM。
(1)R1OSPF協(xié)議基本配置
R1(config)#router ospf 100 進(jìn)入OSPF進(jìn)程,進(jìn)程號(hào)100
R1(config-router)#net 1.1.1.0 0.0.0.255 area 0通告1.1.1.0/24的網(wǎng)段,進(jìn)入到骨干區(qū)域“0”中。
R1(config-router)#net 199.99.1.0 0.0.0.255 area 0
(2)R2OSPF協(xié)議基本配置
參照R1配置,將R2連接的網(wǎng)絡(luò)2.2.2.0/24、199.99.1.0/24、199.99.2.0/24三個(gè)網(wǎng)絡(luò)通告進(jìn)骨干區(qū)域“0”中。
(3)R3OSPF協(xié)議基本配置
參照R1配置,將R3連接的網(wǎng)絡(luò)3.3.3.0/24、199.99.2.0/24兩個(gè)網(wǎng)絡(luò)通告進(jìn)骨干區(qū)域“0”中。
OSPF基礎(chǔ)配置完成后,系統(tǒng)會(huì)提示出現(xiàn)了一個(gè)OSPF鄰居建立完整的信息如下圖:
具體信息為OSPF的進(jìn)程ID為100,鄰居路由器的路由ID為2.2.2.2,從F0/1獲取到信息,鄰居狀態(tài)信息是完整的。
此時(shí)我們可以在R1上測(cè)試是否通過OSPF協(xié)議正確的學(xué)習(xí)到了其他路由器上通告的直接路由網(wǎng)段。從R1環(huán)回接口地址1.1.1.1 ping R3環(huán)回接口地址3.3.3.3即可。
由上可能看出連通沒有問題,OSPF協(xié)議已經(jīng)起作用了。
3.2.4 OSPF鄰居表查詢
OSPF鄰居表查詢命令:showipospf neighbor。
上圖表示鄰居路由器的路由ID為2.2.2.2,路由器優(yōu)先級(jí)為1,路由器的狀態(tài)為FULL,學(xué)習(xí)到路由信息的時(shí)間為00:00:39,鄰居路由對(duì)端接口IP為199.99.1.2,連接鄰居路由器的本地接口為F0/1。
3.2.5 OSPF的鏈路狀態(tài)數(shù)據(jù)庫(kù)查詢
OSPF鏈路狀態(tài)數(shù)據(jù)庫(kù)查詢命令:showipospfdatabase。
上圖:Link ID表示鏈路ID,ADV Router表示路由鏈路狀態(tài),Age表示老化更新時(shí)間,Seq#表示進(jìn)程序列號(hào),Checksum Link count表示鏈路狀態(tài)校驗(yàn),Link count表示鏈路計(jì)算的次數(shù)。
3.2.6 路由表查詢
路由表的查詢命令為:show ip route。這個(gè)命令也是一個(gè)很重要的命令,要注意的是在動(dòng)態(tài)路由協(xié)議OSPF在三臺(tái)路由上運(yùn)行成功后,三臺(tái)路由器的路由表應(yīng)該是相同的,如果出現(xiàn)不同的條目,要學(xué)會(huì)去分析。
4 小結(jié)
計(jì)算機(jī)網(wǎng)絡(luò)工程相關(guān)專業(yè)實(shí)驗(yàn)教學(xué)中,學(xué)生首先通過GNS3 模擬環(huán)境進(jìn)行相關(guān)實(shí)驗(yàn),掌握基本原理和技能,加深對(duì)實(shí)驗(yàn)要求的理解具有非常大的作用。在此基礎(chǔ)上,如果能再進(jìn)行一些真實(shí)環(huán)境下的工程實(shí)踐,將能極大地促進(jìn)學(xué)生對(duì)相關(guān)知識(shí)能力技能的掌握,提高教學(xué)效果。另外,讓所有學(xué)生同時(shí)使用多臺(tái)交換、路由做實(shí)驗(yàn)在一般學(xué)校幾乎是不可能的,利用GNS3這個(gè)平臺(tái)可以有效解決這個(gè)問題。實(shí)踐表明,在網(wǎng)絡(luò)教學(xué)中將GNS3虛擬仿真平臺(tái)與真實(shí)的路由、交換環(huán)境有機(jī)結(jié)合,收到了很好的教學(xué)效果,值得進(jìn)一步推廣。
參考文獻(xiàn):
[1] 馬素剛. 路由協(xié)議OSPF的研究與仿真[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用, 2016(5).
[2] 王文龍. 仿真環(huán)境下的OSPF路由設(shè)計(jì)與分析[J]. 實(shí)驗(yàn)室研究與探索,2017(12).
【通聯(lián)編輯:光文玲】