張家華+吳盈盈
摘 要:針對網(wǎng)絡(luò)技術(shù)基礎(chǔ)課程的實驗教學(xué)需求,結(jié)合軟件工程的開發(fā)思路,文章設(shè)計了一個簡單易用的虛擬實驗系統(tǒng)。使用Flash軟件作為主要編程開發(fā)工具,實現(xiàn)了虛擬配置的代碼自動判斷和自動糾錯功能,較好地仿真了實驗環(huán)境和操作過程。經(jīng)師生的初步試用,能夠有效地解決原有的教學(xué)問題,在一定程度上改進(jìn)了實驗教學(xué)效果。
關(guān)鍵詞:網(wǎng)絡(luò)技術(shù);虛擬實驗;Flash;虛擬現(xiàn)實;模擬配置
中圖分類號:G434文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2014)10-0078-03
一、引言
計算機網(wǎng)絡(luò)技術(shù)是高校計算機及相關(guān)專業(yè)的一門實踐性很強的課程。然而由于一些實驗項目受到場地、設(shè)備和時間多方面因素的限制,目前網(wǎng)絡(luò)技術(shù)實驗過程中還存在一些問題。不少學(xué)生反映實驗時間不足,在規(guī)定時間內(nèi)難以完成預(yù)期的實驗任務(wù);學(xué)生對一些實踐操作掌握情況不佳,一旦離開實驗室則會缺乏特定設(shè)備或?qū)嶒灜h(huán)境而無法自行練習(xí)。因此,不少高校使用某些網(wǎng)絡(luò)模擬軟件來輔助實驗教學(xué),[1][2]但這些軟件通常僅適用于特定品牌的硬件設(shè)備,與學(xué)校實際購置的實驗設(shè)備可能并不一致,學(xué)生在進(jìn)行配置操作時會存在一些差異。此外,對于非計算機專業(yè)的學(xué)生而言,這些軟件也顯得有些復(fù)雜。
為了創(chuàng)建簡單實用的實驗環(huán)境,可以嘗試借助某些模擬配置軟件或第三方編程工具,對網(wǎng)絡(luò)技術(shù)常見實驗項目進(jìn)行仿真,在計算機桌面上實現(xiàn)可自由練習(xí)操作的虛擬實驗配置,以促進(jìn)實驗教學(xué)的有效開展,克服因客觀原因?qū)嶋H教學(xué)造成的不利影響。
二、虛擬實驗的實現(xiàn)手段
網(wǎng)絡(luò)技術(shù)虛擬實驗實現(xiàn)手段大體上可分為兩種,一種是基于已有的模擬軟件設(shè)計虛擬實驗,另一種是開發(fā)者利用第三方編程工具自行設(shè)計開發(fā)虛擬實驗。目前國外一些培訓(xùn)機構(gòu)和網(wǎng)絡(luò)設(shè)備提供商提供了各種模擬配置軟件,可支持全仿真的命令,能較好地模擬常見網(wǎng)絡(luò)設(shè)備的配置操作。其中典型的模擬軟件包括Boson Netsim、Network Simulator、Packet Tracer和Dynamips。Boson Netsim模擬軟件自帶多個實驗拓?fù)?,其界面為用戶提供了一種操作真實路由器的體驗,此外還附帶了一個Network Designer,為用戶提供可視化的實驗環(huán)境。Network Simulator 是一款開源、免費且廣泛使用的軟件模擬平臺,使用它可以很容易進(jìn)行網(wǎng)絡(luò)技術(shù)的開發(fā),但它對初學(xué)者來說比較難于掌握,需要較長時間的學(xué)習(xí)。Packet Tracer是思科公司針對CCNA認(rèn)證開發(fā)的一款可用于設(shè)計、配置和排除故障網(wǎng)絡(luò)的模擬軟件,具有逼真的操作界面,用戶可以自由選擇路由器、交換機、計算機和各種線纜并對其進(jìn)行配置,適用于學(xué)習(xí)網(wǎng)絡(luò)基礎(chǔ)知識的新手。Dynamips也是思科公司一款用于模擬路由器的仿真軟件,可以測試和實驗Cisco IOS操作系統(tǒng)中的許多功能和特性,它適于作為思科網(wǎng)絡(luò)實驗室管理人員的輔助工具,同時也廣泛用于CCNA/CCNP/CCIE考試的輔助工具。
除了以上常見網(wǎng)絡(luò)實驗?zāi)M軟件以外,開發(fā)者也可使用第三方編程工具設(shè)計虛擬實驗。這類工具主要包括Flash、ActiveX、Java以及VRML等軟件或技術(shù)。[3]國內(nèi)一些高校針對計算機網(wǎng)絡(luò)課程的基礎(chǔ)實驗開發(fā)了若干虛擬實驗系統(tǒng)。例如,孫燕蓮和文福安(2009)利用Java開發(fā)了在線計算機網(wǎng)絡(luò)虛擬實驗系統(tǒng),能提供與真實實驗相同的虛擬設(shè)備和操作環(huán)境,并支持對網(wǎng)上實驗的管理,方便高校在網(wǎng)上構(gòu)建虛擬實驗平臺。[4]項慨(2006)結(jié)合各種虛擬現(xiàn)實技術(shù),使用VRML、Java和JavaScript技術(shù)設(shè)計了一種基于B/S模式的網(wǎng)絡(luò)虛擬實驗系統(tǒng),實現(xiàn)了網(wǎng)絡(luò)技術(shù)課程中的典型實驗“路由器配置”。[5]陳小紅(2010)在教育技術(shù)學(xué)本科專業(yè)課程《網(wǎng)絡(luò)基礎(chǔ)》實驗教學(xué)需求的基礎(chǔ)上,設(shè)計開發(fā)了基于Packet Tracer的虛擬實驗系統(tǒng),實現(xiàn)了簡單組網(wǎng)實驗、路由器和交換機的基本配置實驗等虛擬實踐項目。[6]
三、虛擬實驗系統(tǒng)的設(shè)計
在我校教育技術(shù)專業(yè)開設(shè)的《網(wǎng)絡(luò)技術(shù)基礎(chǔ)》課程的以往實驗中,由于學(xué)生操作不夠熟練,容易導(dǎo)致設(shè)備受損或不能按時完成實驗任務(wù),而學(xué)生一旦離開實驗室就難以自行練習(xí)鞏固,從而影響了實驗教學(xué)效果。因此,開發(fā)一個簡單易用的虛擬實驗系統(tǒng)具有必要性和迫切性。本虛擬實驗系統(tǒng)選取了該課程中的幾個常見實驗項目。
實驗室及其拓?fù)浣Y(jié)構(gòu):主要用于展示網(wǎng)絡(luò)實驗室的硬件設(shè)備及連接方式,便于學(xué)生熟悉和理解網(wǎng)絡(luò)實驗室的設(shè)備特性及其拓?fù)浣Y(jié)構(gòu),為后續(xù)實驗項目打下基礎(chǔ)。
操作系統(tǒng)安裝與備份:由于該實驗具有一定的風(fēng)險,學(xué)生若誤操作會導(dǎo)致系統(tǒng)數(shù)據(jù)丟失,因此可以預(yù)先通過虛擬實驗?zāi)M操作,以熟悉和掌握正確的操作步驟和技巧。
小型局域網(wǎng)的組建:包括網(wǎng)線制作、設(shè)備互聯(lián)、局域網(wǎng)資源共享及無線局域網(wǎng)配置。
交換機的基本配置:包括VLAN創(chuàng)建與路由、端口聚合和安全配置等常用操作。
路由器的基本配置:包括靜態(tài)路由、動態(tài)路由、ACL和NAT配置等常用操作。
在以上各個實驗項目中,除“操作系統(tǒng)安裝與備份”項目以外,均對實驗設(shè)備和場地有特定的要求。而虛擬實驗則有助于緩解和克服相應(yīng)的局限,并能有效降低設(shè)備的損毀率。
四、虛擬實驗系統(tǒng)的開發(fā)
1.選擇開發(fā)工具
考慮到開發(fā)技術(shù)難度及實際教學(xué)需求,選取Flash作為主要編程開發(fā)工具,并借鑒軟件工程的方法來開發(fā)虛擬實驗系統(tǒng)。該軟件對于師生而言較為熟悉且容易掌握,產(chǎn)品開發(fā)的周期也相對較短。一方面,可以借助Flash的一些優(yōu)勢如生動形象的動畫效果來逼真演示某些實驗設(shè)備特性及其連接方式,以便于學(xué)生仔細(xì)觀察和模仿操作;另一方面,也可以借助Flash強大的交互功能,設(shè)計支持學(xué)生與計算機通過交互模擬設(shè)備的配置過程,在一定程度上提高實驗效率和效果。
2.快速原型化開發(fā)
在正式開發(fā)虛擬實驗系統(tǒng)之前,需要選取部分實驗項目進(jìn)行原型化開發(fā),以期更早地發(fā)現(xiàn)開發(fā)過程中可能出現(xiàn)的問題,并有助于整體上縮短軟件系統(tǒng)的開發(fā)周期。針對交換機基本配置實驗,選取了“配置SVI實現(xiàn)VLAN間路由”這一子實驗,使用Flash編程初步實現(xiàn)該子實驗的虛擬配置,經(jīng)測試修改能較好地模擬實際操作過程,并具備一定的錯誤識別功能。此外,結(jié)合實際教學(xué)需要對已有的實驗手冊進(jìn)行修訂,并以此作為虛擬實驗的開發(fā)藍(lán)本。針對歷年實驗教學(xué)中遇到的常見問題和解決方法,也將在虛擬實驗系統(tǒng)中加以體現(xiàn)。
3.系統(tǒng)開發(fā)關(guān)鍵問題
(1)代碼自動判斷
以“交換機基本配置”為例,將設(shè)備配置過程中的關(guān)鍵代碼按順序存儲到規(guī)則庫中,并將用戶輸入的命令內(nèi)容轉(zhuǎn)化成字符串并進(jìn)入驗證函數(shù)。通過比對規(guī)則庫中的關(guān)鍵代碼,判斷用戶輸入代碼的合理性。通過縮寫詞自動判斷函數(shù),支持配置命令中系統(tǒng)關(guān)鍵字的簡寫識別,例如configure terminal命令只需用戶正確輸入以上兩個單詞的前三位字母即可識別并能自動補全命令代碼。此外,利用空格函數(shù)實現(xiàn)對用戶輸入代碼過程中多余空格的自動處理,當(dāng)用戶輸入的代碼經(jīng)過判斷正確無誤后,自動顯示下一行命令模式以及等待輸入的光標(biāo)。
(2)代碼自動糾錯
在用戶配置設(shè)備的過程中,若輸入的命令包含不正確代碼,將由錯誤驗證函數(shù)進(jìn)行處理,并提示代碼出錯的可能位置。若用戶針對同一行代碼連續(xù)三次輸入錯誤,系統(tǒng)將給出正確命令提示。若用戶第四次輸入仍然出錯,則會終止本實驗子項目的配置過程,要求用戶仔細(xì)閱讀實驗手冊后再次嘗試配置。此外,在用戶配置本地連接的IP地址、子網(wǎng)掩碼和網(wǎng)關(guān)信息的過程中,若用戶輸入的參數(shù)超出范圍,也會實現(xiàn)自動報錯。
4.操作界面仿真
本實驗系統(tǒng)在細(xì)節(jié)方面對實驗環(huán)境和操作步驟進(jìn)行了模擬和仿真,力求和真實實驗過程相似或一致,如圖1所示。在“交換機基本配置”實驗項目中,通過模擬Web管理界面和Telnet命令窗口為學(xué)生提供全仿真的實驗環(huán)境;在“實驗室及其拓?fù)浣Y(jié)構(gòu)”項目中,不僅有實驗設(shè)備的靜態(tài)照片,還借鑒了Flash 3D技術(shù)對實驗設(shè)備進(jìn)行三維展示,[7]以方便學(xué)生對其進(jìn)行全方位的細(xì)致觀察。在配置設(shè)備的過程中,通過實時獲取用戶當(dāng)前系統(tǒng)環(huán)境的相關(guān)參數(shù)(如系統(tǒng)時間、IP地址),并在虛擬環(huán)境中得以一致的體現(xiàn),以增強虛擬實驗環(huán)境的逼真性。
五、系統(tǒng)試用效果
一些研究表明,虛擬實驗?zāi)軌蛴行浹a真實實驗的不足。[8][9]本虛擬實驗系統(tǒng)經(jīng)過一個學(xué)期的開發(fā),并進(jìn)行了多次測試和修改,最終用于《網(wǎng)絡(luò)技術(shù)基礎(chǔ)》課程的實驗教學(xué)。該系統(tǒng)除了包含各個功能模塊相應(yīng)的swf文件以外,還提供了較為詳細(xì)的軟件說明和使用幫助。經(jīng)過師生的初步試用,總體上效果良好。尤其是針對那些耗時較長、易損設(shè)備、過程復(fù)雜的實驗項目,該系統(tǒng)成為學(xué)生課前預(yù)習(xí)和課后鞏固的有益工具,有效地緩解和克服了原有實驗教學(xué)中存在的場地、設(shè)備和時間等方面的局限,保障了各個實驗項目預(yù)期目標(biāo)的順利達(dá)成。
參考文獻(xiàn):
[1]李海龍,徐東輝,李卉.基于Boson Netsim 的網(wǎng)絡(luò)工程虛擬實驗[J].高校實驗室工作研究,2012,111(1):40-41.
[2]農(nóng)堅.基于Packet Tracer搭建網(wǎng)絡(luò)工程虛擬實驗環(huán)境[J].教育教學(xué)論壇,2010(33):128-129.
[3]楊章偉,江峰,張婉婉.計算機網(wǎng)絡(luò)虛擬實驗環(huán)境的研究與實現(xiàn)[J].萍鄉(xiāng)高等??茖W(xué)校學(xué)報,2011,28(3):46-50.
[4]孫燕蓮,文福安.虛擬實驗教學(xué)的探索與實踐[J].現(xiàn)代教育技術(shù),2009,13(4):131-132.
[5]項慨.基于網(wǎng)絡(luò)的虛擬實驗系統(tǒng)的研究[D].武漢:華中師范大學(xué),2006.
[6]陳小紅.基于仿真軟件的虛擬實驗設(shè)計與應(yīng)用[D].上海:上海師范大學(xué),2010.
[7]徐妲,鐘紹春,馬相春.基于Flash 3D技術(shù)的小學(xué)立體幾何教學(xué)平臺的設(shè)計與實現(xiàn)[J].現(xiàn)代教育技術(shù),2013,23(4):119-124.
[8]丁美榮.虛擬實驗與真實實驗整合的計算機網(wǎng)絡(luò)研究性實驗教學(xué)探究[J].實驗技術(shù)與管理,2011,28(5):163-166.
[9]王姣,張學(xué)軍.虛擬實驗與真實實驗的比較研究——以“網(wǎng)絡(luò)基礎(chǔ)及應(yīng)用”實驗教學(xué)為例[J].中國遠(yuǎn)程教育,2013(9):78-82.
(編輯:魯利瑞)