王曉梅



摘要:本文主要針對于當前高等院校網絡工程課程教學中實驗環境構建的問題提出了一種解決方案,即利用Dynamips軟件構建后臺虛擬路由器和交換機環境,建立Web服務器實現客戶端與后臺的通信,構建在線虛擬網絡實驗平臺。實踐證明,在線虛擬網絡實驗平臺可以將通用機房轉換為專業的網絡實驗室,有效提高學生網絡設備配置操作的實踐技能。
關鍵詞:在線虛擬網絡實驗平臺;網絡工程;實踐
中圖分類號:G642文獻標識碼:A
1引言
目前,各高等院校開設了網絡工程專業,該專業的課程(如計算機網絡,網絡規劃與設計等)均需要進行大量網絡設備配置實驗,但實驗室成本對于各院校來說是一項不小的負擔,建設一個40人左右規模的網絡實驗室,成本大約在80~100萬人民幣左右,這筆費用并不是每個院校都能承擔的。同時,上述的實驗室由于具體的實驗設備還是很少,無法滿足學生人手一套設備的需求,因此必須把學生分成4~5人小組進行實驗。
近年來,出現了模擬軟件來模擬各種實驗器材、設備、實驗過程以及實驗環境。為高校實驗教學減輕了一定的壓力,如實驗和實習費用不足,實驗設備陳舊老化,實驗場地擁擠,學生人均臺、套數少,實物實驗次數下降等等。其中典型的有Boson公司出品的NetSim軟件和由法國人Chris Fillot開發的Dynamips軟件。
Boson NetSim軟件采取的是模擬設備的命令行方式,和真實的設備存在很大的差距,而且很多實驗內容無法進行模擬。
Dynamips軟件通過加載Cisco的IOS軟件,可在一臺PC上模擬多臺Cisco交換機、路由器設備,其最大優勢在于可自行設計網絡拓撲,在PC上構建一個虛擬的網絡環境,但Dynamips是一個命令行程序,在配置實驗文件時需手工設置大量參數,不方便用戶的使用。而且很多學校的實驗室為管理維護的方便,給計算機都安裝了還原保護卡,給需要修改配置參數時帶來了很多不便。
針對以上問題,本文提出了建立在線虛擬網絡實驗平臺的思路。
2系統架構
在線虛擬網絡實驗平臺的軟件體系機構是三層架構(如圖1所示),即包括后臺模擬器運行服務器、應用服務器、客戶端三部分,采用了瀏覽器/服務器(B/S)的網絡計算模式。應用服務器可以在網中的任何位置,運行在任何操作系統上,在處理客戶端實驗網絡拓撲配置,完成客戶端與后臺模擬器運行服務器之間的通信轉接。后臺模擬器運行服務器采用Dynamips軟件模擬實際的設備,通過采用應用服務器生成拓撲所需要的參數,管理和維護需要模擬的設備。客戶端完成與用戶的交互,完成拓撲網絡的設計和虛擬設備的配置交互。
3客戶端
3.1軟件要求
客戶端的軟件要求:
(1) 安裝有IE或Firefox瀏覽器;
(2) 安裝J2RE 1.5版本以上插件。
3.2設計方案
客戶端完成與用戶的交互。由于系統采用的是B/S這種方式,客戶端不需要安裝額外的軟件,只要能夠運行基本的瀏覽器軟件并配置相應的Java運行環境。
用戶在客戶端完成網絡實驗的拓撲結構,并在此基礎上進行實驗,這就帶來了兩個問題:
(1) 如何進行配置;
(2) 如何和后臺模擬器運行環境通信。
針對問題1,通過編寫Java Applet程序(該Applet后簡稱Applet A)來完成圖形化網絡拓撲配置,此外,采用Java Applet的好處還體現在便于和應用服務器實現通信。
針對問題2,通過編寫另一個Java Applet(該Applet后簡稱Applet B)來完成與后臺虛擬設備的交互配置。
為了便于用戶進行相應虛擬設備數據的配置,即通過點擊Applet A網絡拓撲上的相應設備,能夠在Applet B中進行配置窗口的相應切換,完成與不同虛擬設備之間的交互。Applet A與Applet B的配合通過兩個Applet之間的通信來完成。
3.3具體實現
用戶在IE瀏覽器地址欄中輸入實驗環境的URL地址。用戶登錄后選擇進入具體的實驗項目。典型的實驗配置為參見圖2:
當用戶提交用戶配置數據時,由Applet生成網絡的拓撲數據,并提交給應用服務器。應用服務器將用戶轉至Applet B所在的配置界面,同時給出所有虛擬設備的URL地址。
例如:telnet://192.168.1.3:2001
用戶在配置界面可以完成對制定虛擬設備的配置(如圖3),或者通過點擊URL地址鏈接,調用客戶端默認的telnet工具訪問虛擬設備。
4應用服務器
4.1軟件需求
對于應用服務器的要求:
(1) 安裝有J2SDK5.0以上版本;
(2) 安裝有Apache Tomcat 6.0。
應用服務器采用JSP、Java Servlet技術,應用服務器系統根據功能分為用戶管理模塊,實驗環境配置模塊和仿真模塊,后臺環境管理模塊3個子系統(參見圖4)。
4.2用戶管理模塊
用戶管理模塊完成用戶的登錄,注冊,信息修改,注銷功能(參見圖5)。
4.3實驗環境配置模塊
實驗環境配置模塊要完成以下3個功能:
功能1:提供客戶端需要的Web頁面和Java Applet程序。
功能2:對用戶提交的網絡配置數據處理,生成后臺模擬器運行所需的配置文件,并將生成的配置文件提交給后臺模擬器運行環境。
功能3:完成通信的轉接,即實現客戶端Applet與后臺虛擬設備的通信。
上述三個功能分別由客戶端交互模塊,實驗數據配置生成模塊和通信模塊完成(參見圖6)。
(1) 客戶端交互模塊
對于功能1的實現是比較簡單的,編寫JSP代碼實現用戶頁面,編寫Java代碼實現Applet,需要注意兩個Applet之間的通信。
(2) 實驗數據配置生成模塊
對于功能2的實現,通過Servlet實現。對于每個用戶發起的配置請求(Applet A發起),啟動一個新的線程完成對用戶配置數據的處理,實驗數據配置生成模塊生成后臺模擬器運行環境的運行參數并將其提交給后臺模擬器運行服務器,由后臺模擬器運行服務器環境負責虛擬實驗環境的建立。由于存在多個用戶同時進行實驗,這里需要采用多線程處理。
(3) 通信模塊
對于功能3的實現,也通過Servlet實現,當功能2的Servlet完成工作后,創建一個新的線程完成Applet B與后臺虛擬設備之間通信轉接。
通信模塊負責與客戶端的通信,這里由一個線程池來完成,線程負責將Applet B發來的命令轉發到后臺虛擬設備上,同時將后臺虛擬設備的輸出轉發至Applet B。
4.4后臺環境管理模塊
實驗管理模塊完成對正在進行實驗的管理,清理不必要的數據。
4.5具體實現
客戶交互模塊根據用戶提交的配置數據,啟動一個新的線程完成對用戶配置數據的處理,實驗數據配置生成模塊生成后臺模擬器運行環境的運行參數并通過通信模塊將其提交給后臺模擬器運行服務器,由后臺模擬器運行服務器環境負責虛擬實驗環境的建立。由于存在多個用戶同時進行實驗,這里需要采用多線程處理。
生成后臺模擬器運行環境的運行參數舉例如下:
dynamips-wxp.exe -T 2001 -P 7200 -r 128 --disk0 4 -t npe- 400-c 0x2142 -p 0:C7200-IO-FE -p 1:PA-2FE-TX- s0:0:gen_eth:"DeviceNPF_{953246C0-1275-426B-9803-B4C