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