呂書(shū)波,葛洪芳
(河南機(jī)電高等專(zhuān)科學(xué)校 計(jì)算機(jī)科學(xué)與技術(shù)系,河南 新鄉(xiāng) 453000)
計(jì)算機(jī)網(wǎng)絡(luò)的實(shí)驗(yàn)大致以?xún)煞N形式開(kāi)展,一種是用模擬器完成虛擬的網(wǎng)絡(luò)實(shí)驗(yàn),另一種是在實(shí)驗(yàn)室使用真實(shí)設(shè)備完成。
用模擬器來(lái)完成網(wǎng)絡(luò)實(shí)驗(yàn)可以節(jié)省大量網(wǎng)絡(luò)設(shè)備的購(gòu)置費(fèi)用和實(shí)驗(yàn)的準(zhǔn)備,學(xué)生也可以隨時(shí)進(jìn)行實(shí)驗(yàn)。但是模擬器的功能和真實(shí)的網(wǎng)絡(luò)設(shè)備有一定的出入。同時(shí),學(xué)生缺乏對(duì)真實(shí)設(shè)備操作的感受。所以在有條件的情況下,學(xué)生最好能使用真實(shí)設(shè)備完成實(shí)驗(yàn)內(nèi)容,模擬器可以作為輔助手段幫助學(xué)生理解相關(guān)命令的使用。
由于課程設(shè)置、實(shí)驗(yàn)室管理和實(shí)驗(yàn)準(zhǔn)備的原因,造成了學(xué)生感覺(jué)實(shí)驗(yàn)時(shí)間不夠,而實(shí)驗(yàn)室又長(zhǎng)時(shí)間空置的矛盾。將實(shí)驗(yàn)室改造為24小時(shí)運(yùn)轉(zhuǎn)的自動(dòng)實(shí)驗(yàn)平臺(tái),學(xué)生通過(guò)互聯(lián)網(wǎng)使用實(shí)驗(yàn)室資源,可以很好地化解這種矛盾,使學(xué)生和教師都可以通過(guò)遠(yuǎn)程實(shí)驗(yàn)的手段利用真實(shí)設(shè)備完成學(xué)習(xí)或教學(xué)內(nèi)容。
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和現(xiàn)代科學(xué)研究的需要,突破傳統(tǒng)的實(shí)驗(yàn)和科研模式,創(chuàng)建分布式網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)是必然趨勢(shì)。國(guó)內(nèi)外的研究人員已經(jīng)對(duì)網(wǎng)絡(luò)實(shí)驗(yàn)室進(jìn)行了大量的研究,比較著名的是麻省理工學(xué)院(MIT)的iLab[1]項(xiàng)目和歐盟有法國(guó)、西班牙、德國(guó)、挪威、希臘等8個(gè)國(guó)家的9所高校參加的eMerge[2]項(xiàng)目。這些項(xiàng)目旨在建立一個(gè)通用的實(shí)驗(yàn)平臺(tái),以此為相關(guān)研究人員提供相應(yīng)的實(shí)驗(yàn)服務(wù),并且實(shí)現(xiàn)資源和數(shù)據(jù)的共享和交互。
同時(shí),對(duì)虛擬技術(shù)在實(shí)驗(yàn)中的應(yīng)用,也進(jìn)行了大量的研究。文章3中就提出了使用NS實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)虛擬環(huán)境架構(gòu)的方法。文章4和文章5中對(duì)借助Web實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)實(shí)驗(yàn)的遠(yuǎn)程監(jiān)控的方法進(jìn)行了解釋。
計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)有自身的特點(diǎn),同時(shí)要考慮實(shí)驗(yàn)室網(wǎng)絡(luò)設(shè)備的公用屬性。所以計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)有以下特性:
1)獨(dú)占性。為了避免混亂,通常的網(wǎng)絡(luò)設(shè)備配置是不允許兩個(gè)人同時(shí)進(jìn)行的。因此在任何情況下進(jìn)行的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn),一個(gè)設(shè)備只能由一個(gè)用戶(hù)在特定時(shí)間進(jìn)行配置。
2)關(guān)聯(lián)性。通常的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)都需要使用多個(gè)網(wǎng)絡(luò)設(shè)備搭建模擬的網(wǎng)絡(luò)環(huán)境,因此,在實(shí)驗(yàn)中需要對(duì)多個(gè)網(wǎng)絡(luò)設(shè)備進(jìn)行相關(guān)聯(lián)的特定配置,才可以使計(jì)算機(jī)網(wǎng)絡(luò)按照要求運(yùn)轉(zhuǎn)。
3)限制性。由于實(shí)驗(yàn)設(shè)備公用的性質(zhì),通常一個(gè)實(shí)驗(yàn)需要在一定的時(shí)間內(nèi)完成,這樣才不會(huì)影響其他人的實(shí)驗(yàn)需求。
在將實(shí)驗(yàn)延伸到互聯(lián)網(wǎng)的過(guò)程中,首先要將原有實(shí)驗(yàn)室改造為適合互聯(lián)網(wǎng)使用的平臺(tái),設(shè)計(jì)合適的拓?fù)溥B接,滿足日常實(shí)驗(yàn)所需,如圖1所示。同時(shí)設(shè)計(jì)能夠滿足自動(dòng)管理的實(shí)驗(yàn)管理平臺(tái),該平臺(tái)必須考慮上文所述計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)的三個(gè)特性。遠(yuǎn)程計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)管理平臺(tái)需要實(shí)現(xiàn)以下功能,以滿足上述計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)特性的要求。
圖1 改造后的計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)室結(jié)構(gòu)
1)實(shí)驗(yàn)預(yù)約功能:該功能是針對(duì)獨(dú)占性和關(guān)聯(lián)性設(shè)置的。用戶(hù)在實(shí)驗(yàn)前需要在網(wǎng)站上進(jìn)行預(yù)約。預(yù)約包括實(shí)驗(yàn)時(shí)間、實(shí)驗(yàn)項(xiàng)目和實(shí)驗(yàn)人員。
2)定時(shí)功能:為了保證大量用戶(hù)都有機(jī)會(huì)進(jìn)行實(shí)驗(yàn),需要對(duì)每次實(shí)驗(yàn)的時(shí)間進(jìn)行限定,這項(xiàng)功能滿足的是限制性要求。
3)配置文件存取功能:在存在預(yù)約和定時(shí)的情況下,可能存在用戶(hù)的實(shí)驗(yàn)沒(méi)有完成,但時(shí)間已經(jīng)用完的情況,這時(shí)用戶(hù)可以將自己所做的配置保存起來(lái)??紤]到用戶(hù)數(shù)量比較大,而網(wǎng)絡(luò)設(shè)備的存儲(chǔ)器容量較小的情況,用戶(hù)的配置文件不宜保存在設(shè)備上,而是要將其從設(shè)備上下載到服務(wù)器上。當(dāng)用戶(hù)再次登錄進(jìn)行配置時(shí),可以將該配置文件上傳到網(wǎng)絡(luò)設(shè)備上,并設(shè)置網(wǎng)絡(luò)設(shè)備按照該配置文件啟動(dòng),從而使用戶(hù)可以分多次完成一個(gè)實(shí)驗(yàn)。
4)遠(yuǎn)程配置功能:遠(yuǎn)程配置是遠(yuǎn)程網(wǎng)絡(luò)實(shí)驗(yàn)管理平臺(tái)的核心功能,該功能主要完成命令和反饋的轉(zhuǎn)送。首先對(duì)客戶(hù)端發(fā)出的命令進(jìn)行解析,然后將該命令轉(zhuǎn)送到對(duì)應(yīng)的設(shè)備;對(duì)于從設(shè)備發(fā)送來(lái)的響應(yīng),則要轉(zhuǎn)送到相應(yīng)的客戶(hù)。
5)日志功能:出于安全的考慮,需要將用戶(hù)的實(shí)驗(yàn)情況用日志的方式記錄下來(lái),便于日后的管理。
6)管理實(shí)驗(yàn)內(nèi)容:提供靈活的實(shí)驗(yàn)內(nèi)容定制功能,包括定義每個(gè)網(wǎng)絡(luò)實(shí)驗(yàn)所使用的實(shí)驗(yàn)設(shè)備,每個(gè)實(shí)驗(yàn)設(shè)備在實(shí)驗(yàn)開(kāi)始時(shí)的初始配置,在實(shí)驗(yàn)完成后應(yīng)有的正確配置,并可以對(duì)這些已定義的網(wǎng)絡(luò)實(shí)驗(yàn)進(jìn)行分類(lèi),組成不同的實(shí)驗(yàn)集,便于管理。
7)管理實(shí)驗(yàn)課程:提供管理學(xué)員信息和實(shí)驗(yàn)課程的功能,包括錄入學(xué)員信息,定義實(shí)驗(yàn)課程,為學(xué)員指定應(yīng)完成的所有實(shí)驗(yàn),查看和管理學(xué)員的實(shí)驗(yàn)結(jié)果和成績(jī)等。
為完成上述的相關(guān)功能,計(jì)算機(jī)網(wǎng)絡(luò)遠(yuǎn)程實(shí)驗(yàn)管理平臺(tái)由客戶(hù)端的瀏覽器、服務(wù)端的Web Server和應(yīng)用程序服務(wù)器三個(gè)部分組成。其構(gòu)成如圖2所示。各部分的功能如下:
圖2 管理平臺(tái)體系結(jié)構(gòu)
Web Server:Web Server負(fù)責(zé)客戶(hù)端的預(yù)約、登錄和JAVA Applet程序的下載。
Client:客戶(hù)端的瀏覽器負(fù)責(zé)登錄 Web Server服務(wù)器,并從該服務(wù)器下載JAVA Applet程序,客戶(hù)端通過(guò)該程序與應(yīng)用程序服務(wù)器進(jìn)行通信。
Application Server:應(yīng)用程序服務(wù)器在接到客戶(hù)端的請(qǐng)求之后,負(fù)責(zé)完成用戶(hù)的登錄,以及從數(shù)據(jù)庫(kù)中提取該用戶(hù)的配置文件,并導(dǎo)入對(duì)應(yīng)的網(wǎng)絡(luò)設(shè)備。然后從客戶(hù)端接收配置命令,再用Telnet的方式與網(wǎng)絡(luò)設(shè)備進(jìn)行通信,并將反饋的結(jié)果轉(zhuǎn)發(fā)給客戶(hù)端。當(dāng)客戶(hù)端退出或?qū)嶒?yàn)時(shí)間用完時(shí),將用戶(hù)配置文件存入服務(wù)器,并將設(shè)備恢復(fù)到出廠設(shè)置,為下一用戶(hù)的使用做好準(zhǔn)備。
以上功能用C/S模式可以很容易實(shí)現(xiàn),但是在管理方面比較困難,比如客戶(hù)端的更新。為此,本文使用B/S與C/S結(jié)合的混合通信模式,簡(jiǎn)化客戶(hù)端的軟件,使客戶(hù)端只要有瀏覽器即可,所有的應(yīng)用邏輯都在服務(wù)端。
服務(wù)端的程序分為兩個(gè)部分,一個(gè)部分是面向用戶(hù)的Web Server程序,另一部分是面向設(shè)備的JAVA Application程序,主要利用Telnet進(jìn)行配置。
用戶(hù)和服務(wù)器之間使用JAVA Applet和Application進(jìn)行通信。Application和網(wǎng)絡(luò)設(shè)備之間使用Telnet進(jìn)行通信。整個(gè)系統(tǒng)應(yīng)該明確的是Application雖然起到了配置代理的作用,但是它的功能不僅僅是代理,還要負(fù)責(zé)完成客戶(hù)登錄、計(jì)時(shí)、配置文件存取和日志記錄等相關(guān)的管理工作。
客戶(hù)端要完成實(shí)驗(yàn),首先需要獲取能夠與Application通信的Applet,因此首先要登錄 Web Server,獲取需要的Applet,然后通過(guò)Applet登錄Application服務(wù)器,實(shí)現(xiàn)遠(yuǎn)程配置網(wǎng)絡(luò)設(shè)備的目的。其流程如圖3所示。下載后的Applet包括三個(gè)主要部分,如圖4所示,分別是拓?fù)鋱D區(qū)域,實(shí)驗(yàn)實(shí)況區(qū)域和按鈕控制區(qū)域。
圖3 客戶(hù)端登錄流程
圖4 客戶(hù)端界面布局
拓?fù)鋱D的用途有兩個(gè),一個(gè)是顯示實(shí)驗(yàn)的拓?fù)?,另一個(gè)是作為實(shí)驗(yàn)設(shè)備切換的途徑,用戶(hù)可以通過(guò)點(diǎn)擊不同的設(shè)備,從而切換不同的設(shè)備,相當(dāng)于將配置線在各設(shè)備之間進(jìn)行切換。
實(shí)驗(yàn)實(shí)況區(qū)域同樣有兩個(gè)作用,一個(gè)是顯示網(wǎng)絡(luò)設(shè)備對(duì)命令的響應(yīng),另一個(gè)是將用戶(hù)的命令傳遞到服務(wù)端的Application。
按鈕控制區(qū)域布置有相應(yīng)的按鈕,主要完成配置文件的存儲(chǔ)和提取。
這三個(gè)部分所實(shí)現(xiàn)的功能都需要和服務(wù)端的Application程序進(jìn)行通信,由Application對(duì)相應(yīng)的設(shè)備進(jìn)行操作。
在接受客戶(hù)端請(qǐng)求之后,Application需要與網(wǎng)絡(luò)設(shè)備進(jìn)行通信,完成用戶(hù)的配置,并將配置情況反饋到客戶(hù)端??紤]到服務(wù)端需要與多個(gè)網(wǎng)絡(luò)設(shè)備進(jìn)行通信,同時(shí)要面對(duì)多個(gè)用戶(hù),因此,Application采用多線程的方式分別完成與設(shè)備和用戶(hù)的通信。
受客戶(hù)端影響,與網(wǎng)絡(luò)設(shè)備通信存在三種情況:
1)客戶(hù)端初次登錄后。服務(wù)端應(yīng)該按照預(yù)約情況,與主網(wǎng)絡(luò)設(shè)備進(jìn)行通信,將其反饋發(fā)送給客戶(hù)端,同時(shí)賦予客戶(hù)端完全的權(quán)限。
2)客戶(hù)端在拓?fù)鋱D上進(jìn)行設(shè)備切換。切換時(shí)客戶(hù)端會(huì)將所選擇的網(wǎng)絡(luò)設(shè)備的地址信息發(fā)送到服務(wù)端,服務(wù)端則根據(jù)預(yù)約情況來(lái)決定是否提供給客戶(hù)端完全的權(quán)限。如果在預(yù)約中沒(méi)有說(shuō)明要配置該設(shè)備,則只有查看的權(quán)限。
3)客戶(hù)端點(diǎn)擊保存或提取按鈕后。這種情況的處理與上一種情況類(lèi)似,要看預(yù)約情況來(lái)決定是否完成客戶(hù)要求。如果沒(méi)有相應(yīng)權(quán)限,則向客戶(hù)發(fā)出提示,不能進(jìn)行相應(yīng)操作。
由于網(wǎng)絡(luò)設(shè)備的公用性質(zhì),每個(gè)用戶(hù)在使用這些網(wǎng)絡(luò)設(shè)備時(shí),都應(yīng)該獲得一個(gè)與出廠配置完全相同的設(shè)備狀態(tài)。為此,需要將每個(gè)用戶(hù)在自己所獲得的時(shí)間段內(nèi)完成的配置保存起來(lái)。這樣做可以達(dá)到兩個(gè)目的,一個(gè)是為剛開(kāi)始配置的用戶(hù)提供一個(gè)純凈的配置環(huán)境,另一個(gè)是,用戶(hù)可以在另一個(gè)時(shí)間接著完成自己上次沒(méi)有完成的實(shí)驗(yàn)。而不用擔(dān)心在未完成配置的情況下,由于時(shí)間不足而造成已配置內(nèi)容的丟失。
由上述情況可知,每個(gè)用戶(hù)的配置都需要保存起來(lái),當(dāng)該用戶(hù)再次登錄,要完成上次未完成的配置時(shí),服務(wù)端需要將該用戶(hù)上次所做的配置環(huán)境恢復(fù)。為此,需要服務(wù)端完成網(wǎng)絡(luò)設(shè)備配置文件的保存和裝入。這個(gè)保存和裝入是與用戶(hù)相聯(lián)系的。
保存功能要求服務(wù)端完成Save,Download,Save to disk,Delete saved cfg file,網(wǎng)絡(luò)設(shè)備重啟等五個(gè)過(guò)程。
裝入功能要求服務(wù)端將配置文件從計(jì)算機(jī)上傳到網(wǎng)絡(luò)設(shè)備,配置網(wǎng)絡(luò)設(shè)備按照該配置文件啟動(dòng),重啟網(wǎng)絡(luò)設(shè)備等三個(gè)過(guò)程。這些過(guò)程中要使用兩個(gè)協(xié)議,一個(gè)是用來(lái)向網(wǎng)絡(luò)設(shè)備發(fā)布命令的Telnet,另一個(gè)是設(shè)備從數(shù)據(jù)庫(kù)下載配置文件所用的TFTP協(xié)議。
通過(guò)以上功能的配合,可以實(shí)現(xiàn)遠(yuǎn)程網(wǎng)絡(luò)實(shí)驗(yàn)的自動(dòng)管理。
更加有效的實(shí)驗(yàn)平臺(tái)建設(shè)應(yīng)該是以真實(shí)設(shè)備為基礎(chǔ),同時(shí)結(jié)合大量的虛擬設(shè)備來(lái)構(gòu)成。隨著云計(jì)算技術(shù)的成熟,很多主流廠商提出了云實(shí)驗(yàn)平臺(tái)的概念,借助于云計(jì)算虛擬化及資源集中管理的能力,可以為大量用戶(hù)提供虛擬化實(shí)驗(yàn)環(huán)境,這是計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)發(fā)展的一個(gè)新方向。但是計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)的目的是讓學(xué)生掌握實(shí)際設(shè)備的連接、配置和管理,因此適當(dāng)?shù)恼鎸?shí)環(huán)境使用在學(xué)習(xí)中是必需的。
[1]王毅,張文科,程書(shū)紅.網(wǎng)絡(luò)互聯(lián)實(shí)驗(yàn)室的建設(shè)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2009,(8):77-80.
[2]何超,俞立,張丹.遠(yuǎn)程控制實(shí)驗(yàn) Web系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)[J].浙江工業(yè)大學(xué)學(xué)報(bào),2009,(10)473-476.
[3]陸煒妮,龐竣.基于Internet的計(jì)算機(jī)網(wǎng)絡(luò)虛擬實(shí)驗(yàn)環(huán)境架構(gòu)[J].計(jì)算機(jī)工程,2007,(13):283-285.
[4]馬林,霍大勇,薛丁簘.基于 Web的網(wǎng)絡(luò)實(shí)驗(yàn)遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程,2007,(9):246-247.
[5]姜坤,孫德輝,史運(yùn)濤.基于.NET的遠(yuǎn)程實(shí)驗(yàn)室客戶(hù)端的設(shè)計(jì)與實(shí)現(xiàn)[J].系統(tǒng)仿真學(xué)報(bào),2009,(10):262-264.