梁崢,刁偉孟
近年來,以虛擬化技術(shù)為核心的“云計(jì)算”已經(jīng)成為繼個(gè)人計(jì)算機(jī)、互聯(lián)網(wǎng)之后新的熱點(diǎn)技術(shù),各種商業(yè)軟件和開源軟件層出不窮。商業(yè)軟件主要有Citrix XenDesktop、VMware ESXi、Microsoft Hyper-V和Redhat Hypervisor等,在開源技術(shù)方面,基于Xen[1]和KVM[2]等Linux下的虛擬化引擎,有OpenStack[3]、CloudStack[4]、Ovirt[5]等多種虛擬桌面和服務(wù)器管理項(xiàng)目。
從相關(guān)文獻(xiàn)和項(xiàng)目可以看到,對(duì)于各種虛擬化技術(shù)的獨(dú)立研究已經(jīng)比較深入,但是綜合上述技術(shù)的產(chǎn)品和應(yīng)用相對(duì)還少。我們?cè)贚inux下利用KVM[6]和QEMU[7]的模塊部署了一個(gè)虛擬化平臺(tái),KVM作為虛擬化引擎,QEMU則提供PC環(huán)境仿真能力。然后再基于該虛擬化平臺(tái)搭建一個(gè)語音教室,并在這個(gè)語音教室中進(jìn)行了實(shí)際應(yīng)用的各種測(cè)試,總體來說效果還不錯(cuò),但這個(gè)過程中,也需要解決一些具體的問題,采取一些相應(yīng)的措施。
本文整理了基于虛擬化平臺(tái)在搭建語音教室應(yīng)用中的一些關(guān)鍵技術(shù)問題及其解決方法,組織如下:第1節(jié)介紹虛擬化平臺(tái)中可以采用的不同設(shè)備重定向技術(shù);第2節(jié)和第3節(jié)分別闡述視頻和音頻消息在桌面與客戶端之間的傳輸方法,以及合適的協(xié)議;第4節(jié)說明如何對(duì)無盤啟動(dòng)技術(shù)簡化客戶端部署的過程進(jìn)行了闡述;第5節(jié)說明使用用戶認(rèn)證方式的虛擬化平臺(tái),如何通過用戶/客戶端映射模塊,實(shí)現(xiàn)客戶端自動(dòng)登錄連接相應(yīng)的桌面;最后進(jìn)行總結(jié)。
基于虛擬化平臺(tái)構(gòu)建語音教學(xué)環(huán)境首先要解決的問題就是設(shè)備重定向。在很多場合下需要用到設(shè)備重定向:例如教師將存有課件的 U盤插到教師機(jī)上,其內(nèi)容需要呈現(xiàn)在教師機(jī)所連接的運(yùn)行在虛擬化服務(wù)器上的教師桌面中。更重要的是,同很多商業(yè)軟件一樣,語音軟件也通過加密狗作為許可證保護(hù)機(jī)制。在傳統(tǒng)網(wǎng)絡(luò)環(huán)境中部署時(shí),加密狗硬件設(shè)備插在裝有語音軟件教師端的教師機(jī)上,允許一定數(shù)目的學(xué)生端來連接。在虛擬化平臺(tái)下教師桌面,要使語音軟件能夠繼續(xù)工作,需要使得加密狗硬件設(shè)備被“重定向”教師桌面中。有兩種方式實(shí)現(xiàn)加密狗重定向:
第一種是將加密狗還是插在教師機(jī)上,實(shí)際上它作為一個(gè)硬件設(shè)備出現(xiàn)在教師機(jī)本地的操作系統(tǒng)??梢允褂?USB over IP的機(jī)制將它實(shí)現(xiàn)重定向。
a) 在教師機(jī)本地安裝USB重定向服務(wù)器軟件,教師機(jī)將作為USB服務(wù)器;
b) 在USB服務(wù)器上共享加密狗硬件設(shè)備(在USB設(shè)備被共享后,它就無法在教師機(jī)本地使用);
c) 在教師桌面上安裝USB重定向客戶端軟件,教師桌面將作為USB客戶端;
d) 在USB客戶端和USB服務(wù)器之間建立通信,這將在USB客戶端列出從USB服務(wù)器共享的所有USB設(shè)備;
e) 在USB客戶端上選擇要重定向的USB設(shè)備,并執(zhí)行連接,這時(shí)USB設(shè)備會(huì)出現(xiàn)在教師桌面的設(shè)備列表中,現(xiàn)在就可以在教師桌面上使用這個(gè)USB設(shè)備了。
2.第二種是將加密狗插在教師桌面所運(yùn)行的虛擬化服務(wù)器上,這種情況下,可以使用qemu本身的設(shè)備重定向機(jī)制。
這種方式需要將教師桌面“固定”在某臺(tái)特定的虛擬化服務(wù)器上運(yùn)行,一般的虛擬化平臺(tái)都提供此項(xiàng)功能。這種方案實(shí)際上是將宿主機(jī)上的本地USB設(shè)備“分配”給虛擬機(jī),例如,如果虛擬化平臺(tái)采用QEMU來仿真,qemu命令的-usb參數(shù)允許添加宿主機(jī)的主機(jī)控制器,添加-device usb-host,hostbus=2,hostaddr=3將添加宿主機(jī)在總線2設(shè)備3的USB設(shè)備。
a) 將USB設(shè)備插到虛擬化服務(wù)器上;
b) 虛擬化服務(wù)器上添加主機(jī)鉤子,這個(gè)鉤子的目的就是在啟動(dòng)運(yùn)行在其上的虛擬機(jī)時(shí),修改虛擬機(jī)的啟動(dòng)參數(shù);
c) 在宿主機(jī)鉤子中,根據(jù)UUID或名字檢查要處理的虛擬機(jī)是否就是教師桌面;
d) 若是教師桌面,則讀取USB重定向配置文件,其中包含要重定向到教師桌面的USB設(shè)備的廠商ID和產(chǎn)品ID;
e)修改qemu參數(shù),添加-device usb-host,vendorid=#,productid=#參數(shù)。
這樣,在教師桌面啟動(dòng)起來后,插在虛擬化服務(wù)器上的USB設(shè)備就將會(huì)出現(xiàn)在教師桌面的設(shè)備列表中。
在虛擬化平臺(tái)上使用設(shè)備重定向允許某些傳統(tǒng)軟件能夠繼續(xù)在虛擬化平臺(tái)中使用,并且讓用戶在享用新技術(shù)的同時(shí),保持與傳統(tǒng)桌面相同的體驗(yàn)。
在虛擬化平臺(tái)中,所有虛擬桌面都運(yùn)行在服務(wù)器上,而用戶從客戶端連接這些虛擬桌面,其中的關(guān)鍵是桌面協(xié)議。桌面協(xié)議是一組用來在虛擬桌面和客戶端之間進(jìn)行通信的協(xié)議,主要完成虛擬桌面到客戶端的圖形、圖像、音頻的傳輸以及客戶端到虛擬桌面輸入信息的傳輸,包括鼠標(biāo)、鍵盤、外設(shè)等,如圖1所示:
圖1 虛擬化平臺(tái)中的傳輸協(xié)議原理
桌面協(xié)議為用戶提供一個(gè)從客戶端到虛擬桌面的鏈接。連接在客戶端的鍵盤和鼠標(biāo)的輸入通過網(wǎng)絡(luò)被發(fā)送到虛擬桌面,虛擬桌面解釋這些指令,然后以圖像的形式發(fā)回結(jié)果到客戶端。這樣,用戶在客戶端訪問虛擬桌面時(shí),就如同使用本地系統(tǒng)一樣。
桌面協(xié)議的效率決定了虛擬化平臺(tái)的用戶體驗(yàn)。當(dāng)前,虛擬化平臺(tái)中使用的桌面協(xié)議主要分為兩種類型。第一種稱為基于像素的桌面協(xié)議,在送回圖像時(shí)使用原始像素?cái)?shù)據(jù);而另一種稱為基于對(duì)象的桌面協(xié)議,使用的是畫圖原語。
(1)基于像素的桌面協(xié)議:使用遠(yuǎn)程像素?cái)?shù)據(jù)具有很大的靈活性,但這是以性能為代價(jià)的。這種類型的桌面協(xié)議的工作原理是:發(fā)送幀緩沖區(qū)的一個(gè)拷貝到客戶端,而幀緩沖區(qū)保存了所有顯示在屏幕上的像素的記錄。這允許基于像素的桌面協(xié)議可以在任何類型的窗口系統(tǒng)、操作系統(tǒng)和應(yīng)用程序中工作。
(2)基于對(duì)象的桌面協(xié)議:桌面協(xié)議可以在本地主機(jī)上畫圖像,通過使用應(yīng)用程序級(jí)的顯示命令,從虛擬桌面發(fā)送過來的,例如畫方框和寫文本。這些命令由客戶端解釋,然后在屏幕上畫出來。正因?yàn)槿绱?,和使用原始像素?cái)?shù)據(jù)的桌面協(xié)議相比,這種桌面協(xié)議要求客戶端主機(jī)具有更高的計(jì)算能力。
基于像素和基于對(duì)象的桌面協(xié)議各有優(yōu)缺點(diǎn),與客戶端計(jì)算能力、虛擬桌面中應(yīng)用類型等密切相關(guān)。在基于虛擬化平臺(tái)搭建語音教室時(shí),測(cè)試了多種桌面協(xié)議,包括:
RDP[8]:RDP(遠(yuǎn)程桌面協(xié)議)是微軟開發(fā)的協(xié)議,允許用戶通過圖形界面連接到遠(yuǎn)程計(jì)算機(jī)。RDP是一種多通道協(xié)議,允許單獨(dú)的虛擬通道攜帶演示文稿數(shù)據(jù)、串行設(shè)備通信、授權(quán)信息、加密的鍵盤和鼠標(biāo)活動(dòng)等。RDP還支持驅(qū)動(dòng)器重定向、剪貼板映射、遠(yuǎn)程應(yīng)用等高級(jí)功能。
SPICE[9]:SPICE(獨(dú)立計(jì)算環(huán)境的簡單協(xié)議)是一個(gè)開放到遠(yuǎn)程計(jì)算解決方案。其工作原理是創(chuàng)建幾個(gè)通用接口或“通道”,每樣都會(huì)獲得不同的用戶體驗(yàn),它們都高度抽象,所以能在各種平臺(tái)上使用。SPICE是的一個(gè)主要特點(diǎn)是自適用性,能夠根據(jù)客戶端的計(jì)算能力確定是否是將畫圖命令發(fā)送給客戶端,或者是將渲染的結(jié)果發(fā)送過去。
Splashtop[10]:Splashtop是一款商業(yè)版本的高性能、跨平臺(tái)遠(yuǎn)程桌面控制協(xié)議,它具有廣泛的個(gè)人用戶。其技術(shù)原理是將遠(yuǎn)程主機(jī)的屏幕像素進(jìn)行“編碼”,通過 Internet、Wi-Fi或其他網(wǎng)絡(luò)協(xié)議傳輸?shù)娇蛻舳嗽O(shè)備,由它進(jìn)行解碼并顯示在屏幕上。Splashtop有很多的技術(shù)獨(dú)特性,其中一個(gè)主要的就是采用了P2P技術(shù)穿透防火墻或NAT內(nèi)部,實(shí)現(xiàn)客戶端和虛擬桌面的連接。
語音教室的另一個(gè)重要方面是語音傳輸:教師在話筒中的聲音需要被傳送到學(xué)生的耳機(jī),學(xué)生在話筒中的聲音也要被傳送到教師以及其他學(xué)生的耳機(jī)。如果是在傳統(tǒng)網(wǎng)絡(luò)架構(gòu)下,這個(gè)過程非常簡單,只需要語音軟件通過特定的協(xié)議在教師機(jī)與學(xué)生機(jī)之間進(jìn)行傳輸即可。
在虛擬化平臺(tái)下,這個(gè)過程就要復(fù)雜的多。如圖2所示:
圖2 基于虛擬化平臺(tái)的語音教室應(yīng)用中音頻傳輸?shù)倪^程
教師(學(xué)生)聲音先通過RECORD通道從教師(學(xué)生)機(jī)傳輸?shù)浇處煟▽W(xué)生)桌面,然后由語音軟件協(xié)議傳送到學(xué)生(教師)桌面,進(jìn)而通過PLAYBACK通道傳輸?shù)綄W(xué)生(教師)機(jī)。這里的關(guān)鍵就在于聲音在桌面和客戶端之間的傳輸。大多數(shù)桌面媒體流傳輸技術(shù)只支持將視頻和音頻從桌面?zhèn)鬏數(shù)娇蛻舳?。要?shí)現(xiàn)聲音從客戶端傳輸?shù)阶烂?,必須借助于其他的協(xié)議。
基于QEMU和KVM的虛擬化平臺(tái)可以采用SPICE協(xié)議。
SPICE通信會(huì)話被分成多個(gè)通信通道以便可以按照通道類型控制消息的通信和執(zhí)行。當(dāng)前 SPICE協(xié)議定義了下列通信通道:
主通道是 SPICE會(huì)話控制通道,復(fù)雜處理通信初始化(通道列表)、遷移和代理通信等。
顯示通道用于接受遠(yuǎn)程顯示更新。
輸入通道用于發(fā)送鼠標(biāo)和鍵盤事件。
光標(biāo)通道用于接受指針形狀和位置。
回放通道用于接受音頻流。
記錄通道用于發(fā)送音頻捕獲。
而 SPICEC客戶端包含一些參數(shù)用于啟用(--enable-channels)或禁用(--disable-channels)通道。
綜上所述,為了實(shí)現(xiàn)語音教學(xué)過程中的音頻傳輸,可以同時(shí)使用兩種協(xié)議,桌面媒體流傳輸協(xié)議用于傳輸音頻回放消息,而SPICE協(xié)議只用于傳輸音頻記錄消息。
在現(xiàn)有大多數(shù)虛擬化平臺(tái)中,都引入了模板和虛擬機(jī)池。模板從已經(jīng)安裝了完整環(huán)境的桌面制作而成,可以很方便地克隆出具有相同初始配置的虛擬桌面?;谝阎谱骱玫哪0宀渴鹛摂M桌面省去了操作系統(tǒng)和軟件安裝的過程,基本上只是在虛擬機(jī)服務(wù)器上的映像文件拷貝,因?yàn)榉浅?焖?。桌面池表示從同一個(gè)模板創(chuàng)建的一批桌面,引入的目的是為了方便為一組用戶創(chuàng)建多個(gè)具有相同初始配置的桌面。
在教學(xué)環(huán)境中使用虛擬化平臺(tái)時(shí)的操作流程是:教師連接到在管理員創(chuàng)建好并分配給他的虛擬桌面中安裝操作系統(tǒng)以及所需要的應(yīng)用程序,然后從已準(zhǔn)備好的虛擬桌面制作模板,然后再基于這個(gè)模塊創(chuàng)建一個(gè)虛擬機(jī)池,確保每個(gè)學(xué)生在虛擬機(jī)池中分配一個(gè)虛擬桌面。當(dāng)需要更改教學(xué)環(huán)境時(shí),教師必須修改原始虛擬桌面,再次制作模板和創(chuàng)建虛擬機(jī)池,因此,過程稍顯復(fù)雜。
實(shí)際上,無盤啟動(dòng)技術(shù)在教學(xué)中有很長的應(yīng)用歷史,并且非常成熟。當(dāng)前網(wǎng)絡(luò)環(huán)境下的無盤啟動(dòng)技術(shù)是物理機(jī)通過網(wǎng)絡(luò)啟動(dòng),從無盤啟動(dòng)服務(wù)器上抓起一個(gè)系統(tǒng)映像,然后從這個(gè)系統(tǒng)映像引導(dǎo)進(jìn)入操作系統(tǒng)。每次物理機(jī)啟動(dòng)時(shí),學(xué)生選擇是否還原到系統(tǒng)的最初狀態(tài)。
實(shí)際上,無盤啟動(dòng)技術(shù)也可以結(jié)合到虛擬化平臺(tái)中,從而簡化教學(xué)環(huán)境的制作和修改過程。虛擬化平臺(tái)中的無盤啟動(dòng)部署方案如圖3所示:
圖3 通過無盤技術(shù)簡化基于虛擬化平臺(tái)的語言教室部署
圖3中包含無盤啟動(dòng)服務(wù)器、Windows共享服務(wù)器、教師機(jī)和學(xué)生機(jī)等,它們實(shí)際上都是虛擬化平臺(tái)中的虛擬機(jī)(虛擬服務(wù)器和虛擬桌面)。
無盤啟動(dòng)服務(wù)器是基于無盤啟動(dòng)技術(shù)的核心。其中包含有DHCP、TFTP、HTTP以及iSCSI目標(biāo)器(或AOE目標(biāo)器)等各種服務(wù),并且存儲(chǔ)有客戶端所希望進(jìn)入的各種操作系統(tǒng),在客戶端通過網(wǎng)絡(luò)啟動(dòng)時(shí),為其分配IP地址,并且向客戶端提供啟動(dòng)進(jìn)入操作系統(tǒng)所需的文件。
Windows共享服務(wù)器為教師在安裝基于Windows的操作系統(tǒng)時(shí)使用。Windows操作系統(tǒng)的安裝過程是,首先,無盤啟動(dòng)進(jìn)入 Window預(yù)裝環(huán)境,然后連接到包含 Windows安裝文件的文件服務(wù)器運(yùn)行安裝程序。
教師機(jī)實(shí)際上是無盤啟動(dòng)的管理端,它通過網(wǎng)絡(luò)啟動(dòng)后,將請(qǐng)求無盤啟動(dòng)服務(wù)器生成動(dòng)態(tài)管理菜單,每個(gè)菜單對(duì)應(yīng)無盤啟動(dòng)服務(wù)器上代表教學(xué)環(huán)境的一個(gè)映像文件,管理員可以更新映像文件、刪除映像文件,或者創(chuàng)建新的映像文件。
學(xué)生機(jī)實(shí)際上是無盤啟動(dòng)的普通客戶端,它們通過網(wǎng)絡(luò)啟動(dòng)后,將從無盤啟動(dòng)服務(wù)器下載生成的映像菜單,供用戶選擇任何一個(gè)映像文件并進(jìn)入對(duì)應(yīng)的教學(xué)環(huán)境。
無盤啟動(dòng)技術(shù)讓教師制作和修改教學(xué)環(huán)境非常方便。教師只需要運(yùn)行并連接到教師機(jī),通過網(wǎng)絡(luò)啟動(dòng),即可創(chuàng)建新的映像文件,如果是Windows的教學(xué)環(huán)境,利用WINPE啟動(dòng),然后從Windows服務(wù)器上映射Windows操作系統(tǒng)的安裝文件,直接運(yùn)行安裝文件進(jìn)行安裝。如果要修改教學(xué)環(huán)境,只需要進(jìn)入該映像文件的操作系統(tǒng),在其上直接安裝新的應(yīng)用程序即可。
而學(xué)生可以運(yùn)行并連接到各自的學(xué)生機(jī)即可,可以同時(shí)訪問同一個(gè)教學(xué)環(huán)境,進(jìn)入對(duì)應(yīng)操作系統(tǒng),并使用其中的應(yīng)用程序。并且學(xué)生所作的任何修改都是無狀態(tài)的,即一旦關(guān)機(jī)或重啟,這些改動(dòng)將丟失,操作系統(tǒng)和應(yīng)用程序自動(dòng)還原到上次管理員更新的狀態(tài)。
在實(shí)際的語音教室搭建時(shí),無盤啟動(dòng)采用iPXE[11]技術(shù),映像文件掛接到物理客戶端采用的是iSCSI[12]協(xié)議。學(xué)生桌面運(yùn)行時(shí),后臺(tái)基于相應(yīng)映像文件創(chuàng)建一個(gè)快照,同樣將這些快照掛載到物理客戶端,這個(gè)每個(gè)學(xué)生進(jìn)入系統(tǒng)之后,實(shí)際上看到的環(huán)境和教師在教師機(jī)上制作的環(huán)境完全一致。在學(xué)生客戶端重啟時(shí),后天刪除現(xiàn)有快照,創(chuàng)建新的快照,從而達(dá)到還原的效果。
虛擬化平臺(tái)可以和基于LDAP和Windows活動(dòng)目錄的現(xiàn)有用戶認(rèn)證系統(tǒng)相集成,還支持使用獨(dú)立的用戶認(rèn)證系統(tǒng)。用戶認(rèn)證模塊作為一個(gè)虛擬實(shí)例部署,允許在管理引擎中管理外部認(rèn)證域,并通過瀏覽器很方便地添加、刪除、鎖定和激活用戶。
虛擬化平臺(tái)將虛擬桌面分配給不同的用戶,憑自己的帳號(hào)和密碼,用戶幾乎在任何時(shí)間、從任何地點(diǎn)、用任何設(shè)備來訪問。
但是當(dāng)應(yīng)用虛擬化平臺(tái)技術(shù)來搭建語音教室時(shí),使用用戶帳號(hào)登錄就顯得“多此一舉”了,最好的方式是每個(gè)客戶端(學(xué)生機(jī)或教師機(jī))對(duì)應(yīng)一個(gè)固定的桌面(學(xué)生桌面或教師桌面)。當(dāng)學(xué)生在任意一臺(tái)主機(jī)前坐下,運(yùn)行虛擬化客戶端軟件,將自動(dòng)連接到和這臺(tái)主機(jī)對(duì)應(yīng)的桌面。這里面的關(guān)鍵就是實(shí)現(xiàn)“客戶端和用戶之間的映射”,有兩種方法來做:
第一種是,每個(gè)客戶端都有一個(gè)配置文件,其中記錄映射到該客戶端的用戶帳號(hào)和(加過密的)密碼,虛擬化客戶端軟件運(yùn)行時(shí),將讀取該配置文件,解析出帳號(hào)和密碼然后自動(dòng)連接分配給該用戶的桌面。這種方法的缺點(diǎn)在于客戶端的部署和維護(hù)比較困難。
第二種方法是將這些映射信息保存在某個(gè)服務(wù)器上,例如創(chuàng)建一個(gè)虛擬服務(wù)器,并安裝用于用戶/客戶端映射的模塊。管理員通過瀏覽器查看虛擬化平臺(tái)中已經(jīng)建好的用戶信息,以及語音教室每個(gè)客戶端的信息,然后為每組用戶和客戶端之間建立映射。客戶端本地則安裝完全相同的虛擬化客戶端軟件,或者使用無盤啟動(dòng)技術(shù)抓起包含相同虛擬化客戶端軟件的映像。在客戶端軟件運(yùn)行起來后,首先發(fā)送請(qǐng)求到映射服務(wù)器,獲取對(duì)應(yīng)的用戶信息,解析出帳號(hào)和密碼然后自動(dòng)連接分配給該用戶的桌面。
基于虛擬化平臺(tái)搭建語音教學(xué)環(huán)境,和在傳統(tǒng)網(wǎng)絡(luò)架構(gòu)下搭建語音教學(xué)環(huán)境,具有充分利用當(dāng)前基礎(chǔ)設(shè)施,方便管理和訪問,方便教學(xué)環(huán)境的制作和修改等很多優(yōu)勢(shì)。但是,在這個(gè)過程中,也發(fā)現(xiàn)了虛擬化技術(shù)在與日常辦公環(huán)境下部署面臨的不同問題。通過解決這些問題,確實(shí)證明虛擬化平臺(tái)是可以實(shí)際應(yīng)用在各種教學(xué)環(huán)境下的。
[1]Barham P, Dragovic B, Fraser K, et al.Xen and the Art of Virtualization [C]//Proceedings of the 19th ACM Symposium on Operating Systems Principles.New York:Bolton Landing, 2003:164-177.
[2]Kivity A, Kamay Y, Laor D, et al.KVM: the Linux virtual machine monitor [C]//Proceedings of the 2007 Ottawa Linux Symposium.Ottawa, Canada: Ottawa Linux Symposium, 2007: 225-230.
[3]Sefraoui O, Aissaoui M, Eleuldj M.OpenStack: Toward an Open-source Solution for Cloud Computing [J].International Journal of Computer Applications.2012,55(3):38-42.
[4]CloudStack.Open Source Cloud Computing [EB/OL].[2013-12].http://cloudstack.apache.org.
[5]oVirt.Quick Start Guide [EB/OL].[2013-12].http://www.ovirt.org/Quick_Start_Guide.
[6]KVM.Kernel Based Virtual Machine [EB/OL].[2013-12].http://www.linux-kvm.org/.
[7]QEMU.Open Source Processor Emulator [EB/OL],http://www.qemu.org/
[8]FreeRDP.A Remote Desktop Protocol Implementation[EB/OL].[2013-12].http://www.freerdp.com/.
[9]SPICE.Spice User Manual [EB/OL].[2013-12].http://www.spice-space.org/docs/spice_user_manual.pdf.
[10]Splashtop.Top-performing Remote Desktop and Remote Support [EB/OL].[2013-12].http://www.splashtop.com/.
[11]iPXE.Open Source Boot Firmware [EB/OL].[2013-12].http://www.ipxe.org/.
[12]Satran J, Meth K, Sapuntzakis C, et al.RFC 3720-2004,Internet Small Computer System Interface (iSCSI) [S].USA: IETF, 2004-4.