• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Web的虛擬網(wǎng)絡(luò)實驗室的設(shè)計

      2015-12-25 11:54任元超吳許俊董奇王巍
      軟件 2015年7期

      任元超++吳許俊++董奇++王巍

      摘要:針對專業(yè)實驗室網(wǎng)絡(luò)設(shè)備的功能不足以及模擬器的使用限制,提出采用面向?qū)ο蟪绦蛟O(shè)計方法設(shè)計一個B/S結(jié)構(gòu)的虛擬網(wǎng)絡(luò)實驗室。本文分析了國內(nèi)外部分虛擬實驗室的典型案例和開發(fā)技術(shù),介紹了虛擬網(wǎng)絡(luò)實驗室的系統(tǒng)組成、體系架構(gòu)和PHP開發(fā)的關(guān)鍵技術(shù),闡述了IOU系統(tǒng)的的組件與工作原理,以及仿真實驗的操作流程。本系統(tǒng)實現(xiàn)了遠(yuǎn)程開展虛擬網(wǎng)絡(luò)實驗的功能,具有一定的實際使用價值。

      關(guān)鍵詞:虛擬化技術(shù);虛擬網(wǎng)絡(luò)實驗室;B/S結(jié)構(gòu);Web編程

      中圖分類號:TP391.9

      文獻(xiàn)標(biāo)識碼:A

      DOI:10.3969/j.issn.1003-6970.2015.07.006

      0 引言

      虛擬化(Virtualization)技術(shù)可以將宿主計算機的實體資源進行抽象、轉(zhuǎn)換后供多個邏輯表示,得到了廣泛應(yīng)用。使用Boson NetSim、Packet Trancer、Dynamips等模擬器已經(jīng)成為學(xué)生自主學(xué)習(xí)計算機網(wǎng)絡(luò)技術(shù)的常用手段,也是實驗室教學(xué)資源的有益補充。但是,模擬器也有很多局限,如不同模擬器的運行環(huán)境和操作方法差別較大,模擬較多虛擬設(shè)備時會導(dǎo)致宿主計算機性能降低,虛擬設(shè)備不支持遠(yuǎn)程操作等。

      虛擬實驗室(Virtual Laboratory)最早于1989年由美國的William Wulf教授提出,用來描述一個計算機網(wǎng)絡(luò)化的虛擬實驗室環(huán)境。虛擬實驗室本質(zhì)是一個在線實驗平臺。使用在線實驗平臺有助于突破傳統(tǒng)實驗教學(xué)模式進行創(chuàng)新,提升實驗教學(xué)水平和學(xué)生的實踐能力。虛擬實驗室的構(gòu)建技術(shù)已經(jīng)受到國內(nèi)外學(xué)者的廣泛關(guān)注和研究。

      通過分析國內(nèi)外虛擬實驗室的典型案例和開發(fā)技術(shù),本文提出采用面向?qū)ο蟪绦蛟O(shè)計方法設(shè)計一個B/S結(jié)構(gòu)的虛擬網(wǎng)絡(luò)實驗系統(tǒng)。

      1 相關(guān)研究

      國外學(xué)者率先采用虛擬化技術(shù)成功構(gòu)建了很多虛擬實驗室。其中代表性的有,美國Gentral Florida大學(xué)的虛擬系統(tǒng)實驗室(Virtual Systems Laboratory,VSL)、UCB的MASH系統(tǒng)、MIT的微電子網(wǎng)絡(luò)實驗室(Microelectronics WebLab)、CMU的虛擬實驗室(Virtual Lab)、UNC的虛擬物理實驗室(Learn AnytimeAnywhere Physics,LAAP)以及德國JHU的虛擬工程與科學(xué)實驗室(Virtual Engineering/Science Laboratory)等。

      近些年,國內(nèi)學(xué)者也對虛擬實驗室技術(shù)進行了大量實踐研究。文獻(xiàn)提出了使用VMware和Dynamips等仿真軟件搭建虛擬網(wǎng)絡(luò)實驗室的建設(shè)方案,方法簡單、成本低,究其本質(zhì)是在兩個不同的模擬器中分別開展各自的虛擬網(wǎng)絡(luò)實驗。文獻(xiàn)闡述了計算機網(wǎng)絡(luò)虛擬實驗室的系統(tǒng)結(jié)構(gòu)和主要模塊設(shè)計,使用C#語言開發(fā)實驗管理系統(tǒng),應(yīng)用Flash技術(shù)、VRML插件在網(wǎng)頁中演示不同的實驗?zāi)_本。文獻(xiàn)提出利用Matlab的數(shù)值分析及圖形處理功能,結(jié)合Web服務(wù)器技術(shù),開發(fā)了B/S結(jié)構(gòu)的遠(yuǎn)程網(wǎng)絡(luò)虛擬實驗室系統(tǒng)。文獻(xiàn)從理論層面探討了B/S結(jié)構(gòu)的網(wǎng)絡(luò)虛擬實驗室的參考模型、網(wǎng)絡(luò)結(jié)構(gòu)、虛擬器件的建模等技術(shù)。文獻(xiàn)提出以LabVIEW為開發(fā)平臺,利用LabVIEW的網(wǎng)絡(luò)通信功能,構(gòu)建B/S或C/S混合模式的遠(yuǎn)程虛擬實驗室,以實現(xiàn)軟件共享和硬件共享。

      研究表明,虛擬實驗室大致可以分為兩類:仿真類虛擬實驗室和遠(yuǎn)程操作類虛擬實驗室。構(gòu)建虛擬實驗室主要采用了虛擬化技術(shù)、自動控制技術(shù)、網(wǎng)絡(luò)通信技術(shù)和編程技術(shù)。

      2 系統(tǒng)設(shè)計

      2.1 設(shè)計方案

      根據(jù)實現(xiàn)原理,虛擬網(wǎng)絡(luò)實驗室屬于仿真類虛擬實驗室。方案采用思科的虛擬化IOU技術(shù)結(jié)合Web編程技術(shù),構(gòu)建一個分布式環(huán)境下共享的虛擬網(wǎng)絡(luò)實驗室。系統(tǒng)體系采用B/S結(jié)構(gòu)的三層架構(gòu)設(shè)計,如圖1所示。

      表示層使用PHP5編寫虛擬實驗室的網(wǎng)站程序和實驗管理,業(yè)務(wù)邏輯層使用IOU仿真服務(wù)器和Apache服務(wù)器分別實現(xiàn)系統(tǒng)的仿真控制功能和響應(yīng)HTTP請求命令,數(shù)據(jù)訪問層使用SQLite數(shù)據(jù)庫實現(xiàn)實驗數(shù)據(jù)的讀取或存儲。

      用戶使用瀏覽器訪問虛擬網(wǎng)絡(luò)實驗室,設(shè)置網(wǎng)絡(luò)實驗的參數(shù)和拓?fù)浣Y(jié)構(gòu)腳本,加載具備IOS特性的IOU軟件,自行啟動或關(guān)閉仿真實驗。用戶使用虛擬終端遠(yuǎn)程操作虛擬網(wǎng)絡(luò)設(shè)備?;赪eb的虛擬網(wǎng)絡(luò)實驗室可以彌補實驗室網(wǎng)絡(luò)設(shè)備的性能不足,可以不受時間和地域的限制供學(xué)生自由使用。

      2.2 系統(tǒng)構(gòu)成

      基于Web的虛擬網(wǎng)絡(luò)實驗室主要有五個組成部分,系統(tǒng)組成結(jié)構(gòu)如圖2所示。

      (1) Apache服務(wù)器:用于響應(yīng)瀏覽器端的命令請求。

      (2)仿真服務(wù)器:用于運行IOU仿真軟件,處理實驗操作數(shù)據(jù)。

      (3) SQLite數(shù)據(jù)庫:用于讀取或存儲實驗數(shù)據(jù)。

      (4)(5)瀏覽器端:用于生成網(wǎng)絡(luò)實驗系統(tǒng)的人機對話界面。

      (5)虛擬終端:用于遠(yuǎn)程登錄虛擬網(wǎng)絡(luò)設(shè)備進行操作。

      2.3 系統(tǒng)功能模塊

      基于B/S結(jié)構(gòu)的虛擬網(wǎng)絡(luò)實驗室網(wǎng)站主要包括系統(tǒng)登錄、實驗管理、賬號管理、系統(tǒng)維護和數(shù)據(jù)備份等功能模塊,如圖3所示。

      3 關(guān)鍵Web技術(shù)

      PHP( Hypertext Preprocessor)是一種簡單、輕便的服務(wù)器端腳本語言。PHP5支持面向?qū)ο蟮某绦蛟O(shè)計方法。虛擬網(wǎng)絡(luò)實驗室網(wǎng)站采用PHP5設(shè)計腳本,應(yīng)用了Aj ax、iQuery、PDO、SQLite和IOU等關(guān)鍵技術(shù)。

      3.1 Aj ax技術(shù)

      Aj ax全稱為Asynchronous Javascript and XML(異步Javascript和XML),是一種支持異步請求、創(chuàng)建交互式網(wǎng)頁應(yīng)用的開發(fā)技術(shù)。Aj ax的核心是Javascript的XmlHttpRequest對象,該對象在IE5中開始支持。XmlHttpRequest對象使用Javascript向服務(wù)器發(fā)送異步請求,從服務(wù)器獲得數(shù)據(jù),然后用Javascript來操作DOM (Document Object Model)更新頁面。通過在后臺與服務(wù)器進行少量數(shù)據(jù)交換,AJAX可以使網(wǎng)頁的局部內(nèi)容實現(xiàn)異步更新。例如本項目中,在PHP網(wǎng)頁中實現(xiàn)異步提交表單信息,通過調(diào)用aj ax.php中腳本實現(xiàn),代碼如下所示:

      3.2 iQuery技術(shù)

      iQuery是一個開源的小型JavaScript庫。iQuery兼容CSS3,兼容多種瀏覽器,使用戶能夠方便地處理HTML、events、制作動畫效果和AJAX交互。iQuery能夠?qū)崿F(xiàn)頁面中JavaScript代碼和html內(nèi)容的分離,通過調(diào)用iQuery庫定義的方法ID或API。頁面中可以本地調(diào)用從官網(wǎng)下載的iQuery庫,也可以遠(yuǎn)程調(diào)用CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))服務(wù)器上的iQuery庫,后者可以提高因特網(wǎng)用戶訪問網(wǎng)站的響應(yīng)速度。使用HTML5重構(gòu)的頁面可省略掉type=”text/javascript”。例如本項目中,使用iQuery庫提示用戶端瀏覽器版本,代碼如下所示:

      3.3 SQLite技術(shù)

      SQLite是一個開源的輕量型、嵌入式、關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它占用較少的系統(tǒng)資源,適合在嵌入式設(shè)備中運行。同時能夠支持Windows、Linux、Unix等操作系統(tǒng),能夠支持Tcl、C#、PHP、Java等編程語言,帶有ODBC接口,處理速度比Mysql和PostgreSQL都快。SQLite最新版本是SQLite 3。例如本項目中,使用devices表存儲所有實驗中的虛擬網(wǎng)絡(luò)設(shè)備的信息,查詢結(jié)果如下所示:

      sqlite> select * from devices;

      3.4 PDO技術(shù)

      PDO全稱是PHP Data Objects(PHP數(shù)據(jù)對象),是PHP擴展的訪問數(shù)據(jù)庫的兼容性接口。PDO擴展提供了一個數(shù)據(jù)訪問抽象層,支持多種數(shù)據(jù)庫,通過調(diào)用一致的函數(shù)執(zhí)行查詢和獲取數(shù)據(jù)。PDO擴展本身不能執(zhí)行數(shù)據(jù)庫操作,需要使用一個針對特定數(shù)據(jù)庫的PDO驅(qū)動(database-specific PDO driver)訪問數(shù)據(jù)庫服務(wù)器。PDO在PHP5.1后續(xù)版本中支持,PDO需要在PHP編譯時與特定數(shù)據(jù)庫驅(qū)動一起構(gòu)建為共享擴展,并讓PHP運行時自動加載。例如本項目中,在PHP網(wǎng)頁中使用PDO初始化SQLite數(shù)據(jù)庫,部分代碼如下所示:

      try{

      $db=new PDO(SQLite:/data/db.sdb);

      $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

      $query=‘CREATE TABLE bin (bin_fa TEXT PRIMARY KEY, bin_name TEXT);';

      $statement= $db->prepare($query);

      $statement->execute();

      } catch (PDOException $e){

      error_log(DB: error "'.$e->getMessage()."' (query was….$query.…,);

      return false; }

      }

      3.5 IOU技術(shù)

      IOU全稱是IOS On Unix,是在Unix環(huán)境下以用戶模式運行Cisco互聯(lián)網(wǎng)操作系統(tǒng)IOS( Internet OperatingSystem)的仿真程序。IOU早期只在Solaris (SPARC)平臺運行,現(xiàn)在可以在Linux環(huán)境運行。根據(jù)功能特性,IOU有多種軟件版本,虛擬設(shè)備可以模擬真實思科網(wǎng)絡(luò)設(shè)備的功能,甚至可以與GNS3、eNSP仿真實驗中的虛擬設(shè)備進行互聯(lián)。相比其它網(wǎng)絡(luò)模擬器,它的優(yōu)勢顯著,一是運行時占用較少的宿主機系統(tǒng)資源,虛擬設(shè)備數(shù)量沒有嚴(yán)格限制,二是支持網(wǎng)卡橋接技術(shù)使得用戶可以使用宿主機的端口號遠(yuǎn)程登錄虛擬設(shè)備。

      在本系統(tǒng)中,使用IOU管理控制程序Wrapper-linux管理IOU程序的啟動或停止。使用Shell腳本可以一次性啟動多個IOU程序,模擬多個虛擬網(wǎng)絡(luò)設(shè)備,并通過指定啟動參數(shù)來設(shè)置虛擬網(wǎng)絡(luò)設(shè)備的具體狀態(tài),如運行內(nèi)存大小、遠(yuǎn)程管理端口號等。例如以用戶模式啟動一個虛擬路由器,設(shè)置Ethernet模塊數(shù)為4,Serial模塊為4,默認(rèn)內(nèi)存為128M,路由器的進程名為1,Telnet端口為2000,代碼如下所示。

      ./wrapper-linux -m ./i86bi_linux-adventerprisek9-ms-p 2000-- -e 4-S 4 1

      4 仿真實驗的基本原理

      4.1 基本服務(wù)組件及其功能

      基本服務(wù)組件主要為Iourc、IOS管理器、Wrapper-linux、NETMAP和SQLite。Iourc程序負(fù)責(zé)錄入系統(tǒng)注冊的License信息,否則系統(tǒng)無法正常運行。IOS管理器負(fù)責(zé)管理IOU程序。Wrapper-linux為IOU管理控制程序。NETMAP文件是根據(jù)用戶實驗設(shè)置生成的網(wǎng)絡(luò)拓?fù)溏R像文件,內(nèi)容具有特殊的格式,臨時存儲實驗運行時的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)信息。SQLite數(shù)據(jù)庫用于存取系統(tǒng)配置信息和用戶設(shè)置的所有實驗數(shù)據(jù)。各服務(wù)組件與仿真實驗之間的關(guān)系如圖4所示。

      4.2 用戶操作流程

      用戶通過Web方式登錄虛擬網(wǎng)絡(luò)實驗室,根據(jù)管理員與非管理員的身份差別被賦予不同的操作權(quán)限。假設(shè)以非管理員身份登錄本系統(tǒng),開展虛擬網(wǎng)絡(luò)實驗,用戶操作流程如圖5所示。

      5 結(jié)束語

      本項目組在對現(xiàn)有虛擬實驗室的典型案例和開發(fā)技術(shù)進行分析、比較的基礎(chǔ)上,詳細(xì)介紹了虛擬網(wǎng)絡(luò)實驗室的組成結(jié)構(gòu)和體系結(jié)構(gòu)以及PHP開發(fā)使用的關(guān)鍵技術(shù)。B/S結(jié)構(gòu)的虛擬網(wǎng)絡(luò)實驗室實現(xiàn)了遠(yuǎn)程開展思科網(wǎng)絡(luò)實驗的功能,具有一定的實際使用價值。

      铁力市| 隆子县| 扶沟县| 大埔区| 治多县| 洛浦县| 博爱县| 奇台县| 岑巩县| 绩溪县| 乐东| 泸西县| 福建省| 乌拉特后旗| 集贤县| 登封市| 延川县| 饶阳县| 延边| 贵南县| 左权县| 德钦县| 正定县| 荣昌县| 绥江县| 东光县| 水城县| 宜兴市| 安仁县| 麻阳| 汉川市| 若尔盖县| 芒康县| 宁强县| 毕节市| 同心县| 香港 | 城市| 遂昌县| 莱阳市| 瑞丽市|