- 相關(guān)推薦
利用虛擬機(jī)技術(shù)構(gòu)建計算機(jī)互聯(lián)網(wǎng)實驗平臺
目前, 虛擬機(jī)技術(shù)在計算機(jī)的各個領(lǐng)域得到了廣泛應(yīng)用。例如, 在安全領(lǐng)域, 可以利用虛擬機(jī)構(gòu)建“蜜罐”系統(tǒng), 對互聯(lián)網(wǎng)上的網(wǎng)絡(luò)攻擊行為進(jìn)行分析研究; 在存儲領(lǐng)域, 可以利用虛擬機(jī)來減少服務(wù)器的數(shù)量, 簡化服務(wù)器的管理, 將多種應(yīng)用整合到單臺服務(wù)器上完成; 在機(jī)房建設(shè)領(lǐng)域, 可以利用虛擬機(jī)技術(shù)實現(xiàn)機(jī)房機(jī)器的多種用途, 而無需擔(dān)心主機(jī)系統(tǒng)與硬件的損壞。虛擬機(jī)在教學(xué)中的應(yīng)用也越來越受到重視, 我們則基于虛擬機(jī)在單機(jī)上構(gòu)建了一個計算機(jī)網(wǎng)絡(luò)實驗平臺, 本文首先分析虛擬機(jī)的工作原理, 隨后闡述了所構(gòu)建計算機(jī)網(wǎng)絡(luò)實驗平臺中網(wǎng)絡(luò)設(shè)備虛擬的實現(xiàn), 最后介紹了該平臺的實際應(yīng)用情況。
一、工作原理
虛擬機(jī)的概念是上個世紀(jì) 70 年代由 IBM 公司提出的, 當(dāng)時的虛擬機(jī)技術(shù)僅僅是在大型機(jī)上運(yùn)行的一個虛擬工具, 通過搶先多任務(wù)方式為用戶提供同時操作多個會話的能力。這里提到的虛擬機(jī)是近年來出現(xiàn)的一種新興計算機(jī)技術(shù), 其工作原理是通過進(jìn)入保護(hù)模式, 在物理機(jī)中運(yùn)行的主機(jī)系統(tǒng)上創(chuàng)建出一個或多個虛擬的客戶系統(tǒng), 使得客戶操作系統(tǒng)如同運(yùn)行在一臺真正的機(jī)器上, 虛擬機(jī)的工作原理是:虛擬層是在保護(hù)模式下建立和維護(hù)的一個管理虛擬機(jī)的框架, 通過利用保護(hù)模式的特權(quán)級機(jī)制、分頁內(nèi)存管理機(jī)制, 任務(wù)切換機(jī)制, 為上一層客戶系統(tǒng)的內(nèi)存管理、中斷處理以及線程調(diào)度提供許多重要的服務(wù)。利用虛擬層提供的服務(wù), 可以在主機(jī)系統(tǒng)上模擬出不同的客戶系統(tǒng)。每個客戶系統(tǒng)中都有一個虛擬機(jī)控制塊, 塊中包含當(dāng)前狀態(tài)方面的信息, 如執(zhí)行狀態(tài), 調(diào)度優(yōu)先級以及復(fù)制的寄存器內(nèi)容等。這些客戶系統(tǒng)擁有獨(dú)立的虛擬硬件設(shè)備, 如 BIOS、內(nèi)存、硬盤、軟盤、顯卡、網(wǎng)卡等。雖然從各個虛擬客戶系統(tǒng)角度看, 它們都是一個完整的系統(tǒng), 但從主機(jī)系統(tǒng)的角度來看, 每個客戶系統(tǒng)都是其上獨(dú)立運(yùn)行的應(yīng)用進(jìn)程, 它們分別采用獨(dú)立的地址空間, 彼此之間沒有任何關(guān)聯(lián)。不同的客戶系統(tǒng)不知道彼此的存在, 其上的設(shè)備及 I/O 端口等都受到保護(hù), 不會受到主機(jī)系統(tǒng)與其他客戶系統(tǒng)的影響。虛擬客戶系統(tǒng)的資源都來自于物理機(jī), 例如每個客戶系統(tǒng)的內(nèi)存來自于物理機(jī)的內(nèi)存, 客戶系統(tǒng)里的硬盤也是虛擬的, 實際對應(yīng)于物理硬盤上的文件。主機(jī)物理硬盤上可以創(chuàng)建不同的文件夾, 在其中存放各客戶系統(tǒng)啟動設(shè)置參數(shù)、日志文件等信息。因此, 只要主機(jī)系統(tǒng)的內(nèi)存足夠大, CPU 性能足夠好, 理論上在主機(jī)系統(tǒng)上可以虛擬出不限數(shù)目的子系統(tǒng)。
虛擬機(jī)技術(shù)可以幫助我們在單機(jī)上建立各種常用操作系統(tǒng)的運(yùn)行支持環(huán)境, 為在單機(jī)上構(gòu)建一個計算機(jī)網(wǎng)絡(luò)實驗平臺提供必要的前提。在我們構(gòu)建的平臺中, 采用了虛擬機(jī)軟件 Vmware作為常用操作系統(tǒng)的運(yùn)行支持環(huán)境的建立。根據(jù)我們的實踐經(jīng)驗, 1G 內(nèi)存的機(jī)器能夠以較好的性能同時運(yùn)行五個虛擬操作系統(tǒng), 完成絕大部分網(wǎng)絡(luò)實驗。如果將每臺虛擬機(jī)的內(nèi)存設(shè)小一些, 或是安裝一些不很占資源的操作系統(tǒng) , 這樣就可以同時運(yùn)行更多的虛擬操作系統(tǒng)來構(gòu)建更復(fù)雜的網(wǎng)絡(luò)環(huán)境。
二、網(wǎng)絡(luò)設(shè)備虛擬的實現(xiàn)
計算機(jī)網(wǎng)絡(luò)指的是利用通信鏈路和網(wǎng)絡(luò)設(shè)備將處于不同地理位置的計算機(jī)連接起來, 在網(wǎng)絡(luò)操作系統(tǒng)的控制下實現(xiàn)資源共享與信息交換的系統(tǒng)。由此可見, 僅僅通過虛擬機(jī)提供各種操作系統(tǒng)的運(yùn)行支持環(huán)境是不夠的, 還需提供對常用網(wǎng)絡(luò)設(shè)備的虛擬, 常用的網(wǎng)絡(luò)設(shè)備主要有路由器與交換機(jī), 下面分別介紹:
1.交換機(jī)的虛擬
虛擬交換機(jī)的實現(xiàn)相對簡單, 當(dāng)在主機(jī)上安裝虛擬機(jī)軟件Vmware 后, 系統(tǒng)會提供 VMnet0、VMnet1、VMnet2 等虛擬網(wǎng)絡(luò)適配器件, 這些設(shè)備可以充當(dāng)交換機(jī), 通過這些設(shè)備和虛擬網(wǎng)絡(luò)操作系統(tǒng)就可以組建交換式局域網(wǎng), 連接到相同 VMnet 上的虛擬操作系統(tǒng)可看成是連接在同一個虛擬交換機(jī)上的主機(jī)。因此, 只要將各虛擬網(wǎng)絡(luò)操作系統(tǒng)的網(wǎng)卡連接到對應(yīng)的虛擬網(wǎng)絡(luò)適配器, 即可實現(xiàn)網(wǎng)絡(luò)適配器連接虛擬交換機(jī)。
2.路由器的虛擬
完成交換機(jī)的虛擬對于完成一般的網(wǎng)絡(luò)實驗已經(jīng)足夠了, 但是不少重要的網(wǎng)絡(luò)實驗都需要路由器的支持才能進(jìn)行。由于路由器支持種類豐富的路由協(xié)議, 如 RIP、OSPF、BGP 等, 因此路由器的虛擬是網(wǎng)絡(luò)設(shè)備虛擬中的一個重點和難點。通過研究和摸索,我們基于 Michigan 大學(xué)和 Merit Network 聯(lián)合開發(fā)的路由環(huán)境支持平臺 MRT 實現(xiàn)了路由器的虛擬,對 BGP4、OSPF、RIP 等路由協(xié)議提供了支持。MRT 是 Merit Network 公司在美國國家科學(xué)基金會資助下開發(fā)的一個開放式路由環(huán)境支撐平臺,提供了許多與路由相關(guān)的庫函數(shù)以支持用戶開發(fā)與路由相關(guān)的應(yīng)用。MRT 提供了兩類庫函數(shù), 一類是底層的支持程序, 用于對各種路由相關(guān)實現(xiàn), 如時間、接口、套接字規(guī)程提供支持。另一類是和路由協(xié)議直接相關(guān)的庫函數(shù), 這些庫函數(shù)提供對 BGP、RIP等路由協(xié)議通信的支持, 可以訪問相關(guān)路由協(xié)議的路由表。在我們對路由器虛擬時, 對于各種路由協(xié)議都需要實現(xiàn)的功能, 如定期發(fā)送 KEEPALIVE 報文、超時后刪除掉路由表中的某項、接收報文、將發(fā)送的報文保存在緩沖區(qū)中以及記錄相關(guān)路由信息等, 均通過 MRT 底層的支持程序完成。而對路由協(xié)議之間的交互操作, 則通過 MRT 路由庫函數(shù)去實現(xiàn), 例如 BGP 對等體連接建立等功能就利用了 Add_ BGP _Peer 函數(shù), 該函數(shù)的參數(shù)是遠(yuǎn)端對等體的 IP 地址和自治系統(tǒng)號。MRT 還提供多種線程服務(wù)支持, 例如多種路由協(xié)議的同時支持是通過選擇服務(wù)來實現(xiàn)的, 選擇服務(wù)在 MRT 模塊上執(zhí)行同步 I/O 多路復(fù)用, 在某個模塊處于阻塞時, 可以用另一種機(jī)制來處理 I/O 模塊。選擇線程還能監(jiān)視對象套接字描述, 一旦檢測到有 I/O 事件, 服務(wù)調(diào)用對象的回叫機(jī)制同時停止監(jiān)視套接字。當(dāng)對象完成套接字處理后, 會通知選擇進(jìn)程重新開始監(jiān)控。至于路由協(xié)議中的一些定時警報可以通過 MRT 中的時間線程來完成,由時間線程維護(hù)基于時間的事件以及相關(guān)的警報和回叫方法。
三、結(jié)論
實踐證明, 該實驗平臺具有與真實網(wǎng)絡(luò)系統(tǒng)一致的操作、命令、功能和響應(yīng), 不僅能對網(wǎng)絡(luò)操作系統(tǒng)進(jìn)行模擬, 還能對各種網(wǎng)絡(luò)設(shè)備( 如路由器、交換機(jī)) 進(jìn)行模擬, 具備真實網(wǎng)絡(luò)環(huán)境下的各種特征。與專門構(gòu)建的網(wǎng)絡(luò)系統(tǒng)相比, 該平臺具有成本低、功能全、效率高、效果好、實用性強(qiáng)的特點。下一步, 我們將為該平臺添加自定義網(wǎng)絡(luò)拓?fù)涔δ埽?如添加所需要的虛擬系統(tǒng)、虛擬網(wǎng)絡(luò)設(shè)備、線纜等, 讓用戶搭建出自己需要的網(wǎng)絡(luò), 完成各種拓?fù)洵h(huán)境下的網(wǎng)絡(luò)實驗, 幫助他們更好地理解網(wǎng)絡(luò)結(jié)構(gòu), 更加深入地掌握網(wǎng)絡(luò)運(yùn)行機(jī)理。
【利用虛擬機(jī)技術(shù)構(gòu)建計算機(jī)互聯(lián)網(wǎng)實驗平臺】相關(guān)文章:
合理利用多媒體上好物理實驗課08-06
高校實驗室管理對提高實驗室利用率探究05-17
數(shù)字化語言實驗室教學(xué)環(huán)境構(gòu)建及應(yīng)用績效研究08-22
談高校計算機(jī)實驗室管理05-11
信息技術(shù)和物理實驗課的整合06-01
淺談Java虛擬機(jī)垃圾收集算法的研究和改進(jìn)論文04-17