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