5.24日音訊,無盤網(wǎng)絡(luò)詳解與要點(diǎn)評析??偟膩碚f,無盤工作站的啟動機(jī)制如下。首先由網(wǎng)卡的啟動芯片(BootROM,有些網(wǎng)卡的啟動程序已嵌入主板的BIOS中,無需啟動芯片)以不同的形式向服務(wù)器發(fā)出啟動請求號,服務(wù)器收到后,根據(jù)不同的機(jī)制,向工作站發(fā)送啟動數(shù)據(jù),工作站下載完啟動數(shù)據(jù)后,系統(tǒng)控制權(quán)由BootROM轉(zhuǎn)到內(nèi)存中的某些特定區(qū)域,并引導(dǎo)操作系統(tǒng)。
根據(jù)不同的啟動機(jī)制,目前比較常用的無盤工作站可分為RPL、PXE和虛擬硬盤等啟動類型。而Windows2000終端從其原理來說,并不屬于無盤工作站,但它也可以用終端卡或硬盤引導(dǎo)系統(tǒng),進(jìn)入工作站操作系統(tǒng)后,再連接Windows2000服務(wù)器,而這個連接程序與一般的應(yīng)用軟件并沒有什么本質(zhì)區(qū)別。
我們把Windows2000終端歸結(jié)到無盤網(wǎng)絡(luò)的原因是:目前大多數(shù)的終端都是先通過RPL或PXE啟動無盤網(wǎng)絡(luò)到DOS或Windows3x,再從無盤站中連接成為終端??傊?,本書所指無盤網(wǎng)絡(luò),泛指工作站中沒有軟驅(qū)和硬盤的網(wǎng)絡(luò),無論它是采取何種方式達(dá)到這一目的。目前臺灣順昱公司研發(fā)的基于ElectronicDiskCommunication電子硬盤(eDisk)系統(tǒng),我們將它稱為偽無盤系統(tǒng),但因它也具備無盤網(wǎng)絡(luò)的特點(diǎn),所以也可以把它歸結(jié)到無盤網(wǎng)絡(luò)中來。
近年來,無盤技術(shù)發(fā)展十分迅速,產(chǎn)生了大量的分支。根據(jù)分類角度的不同,主要有以下幾種分類方式:
?。?)按啟動類型分,主要有:RPL、PXE和BOOTP。
?。?)按工作站的操作系統(tǒng)分有:DOS無盤系統(tǒng)、Windows3.2無盤系統(tǒng)、Windows95無盤系統(tǒng)、Windows98無盤系統(tǒng)、純Windows2000及XP無盤系統(tǒng)、Windows2000終端及WindowsXP遠(yuǎn)程桌面。
?。?)按服務(wù)器操作系統(tǒng)分,有:基于Windows2000的無盤系統(tǒng)、基于WindowsNT4.0的無盤系統(tǒng)、基于WindowsXP的無盤系統(tǒng)、基于NovellNetWare的無盤系統(tǒng)及基于Linux的無盤系統(tǒng),甚至還有基于Windows98的無盤系統(tǒng),也就是說用Windows98作服務(wù)器。
(4)根據(jù)系統(tǒng)是否具有移植能力可以分為:PNP(即插即用)系統(tǒng)、非PNP系統(tǒng)。
?。?)根據(jù)所使用工具的不同進(jìn)行分類:使用IntelPDK+Litenet的無盤系統(tǒng)、使用國產(chǎn)相關(guān)第三方工具的無盤系統(tǒng)、使用Boot-NIC+3COMPXE的無盤系統(tǒng)。
(6)按虛擬磁盤分類:3ComVLD、Boot-NIC、BXP和Edisk等。
以上分類是可以組合的,例如:基于Windows2000Server+3ComDabs+Litenet1.15的PXE無盤Windows98系統(tǒng)。請注意,它們間的組合并不是任意的,例如:基于WindowsNT的RPL純無盤Windows2000就是不存在的。
1.1.1RPL啟動工作原理
RPL為RemoteInitialProgramLoad的縮略語,啟動過程分析如下:
客戶端開機(jī)后,初始化網(wǎng)卡,網(wǎng)卡BootROM上固化的軟件向網(wǎng)絡(luò)廣播一個FIND幀,即引導(dǎo)請求幀,該幀中包含有客戶機(jī)的網(wǎng)卡ID號。
服務(wù)器端的遠(yuǎn)程啟動服務(wù)接收到客戶機(jī)廣播的FIND幀后,根據(jù)幀中所帶的網(wǎng)卡ID號在遠(yuǎn)程啟動數(shù)據(jù)庫中查找相應(yīng)的工作站記錄。如果不存在這樣一個記錄,引導(dǎo)過程不能繼續(xù);如果此工作站記錄已經(jīng)存在,遠(yuǎn)程啟動服務(wù)則發(fā)送一個FOUND幀給客戶機(jī)的RPLROM,F(xiàn)OUND幀中已包含了服務(wù)器的網(wǎng)卡ID。
當(dāng)網(wǎng)絡(luò)上有數(shù)臺服務(wù)器在運(yùn)行遠(yuǎn)程啟動服務(wù)時,RPLROM有可能會接收到多個FOUND幀,但RPLROM只對它收到的第一個FOUND幀有反應(yīng)。它將根據(jù)第一個FOUND幀中所帶的服務(wù)器網(wǎng)卡ID號,返回一個SEND.FILE.REQUEST幀給對應(yīng)的服務(wù)器。SEND.FILE.REQUEST幀是一個要求服務(wù)器發(fā)送文件的請求。
服務(wù)器端的遠(yuǎn)程啟動服務(wù)在收到SEND.FILE.REQUEST幀后,將根據(jù)遠(yuǎn)程啟動數(shù)據(jù)庫中的工作站記錄查找對應(yīng)的啟動塊(BootBlock)——在實(shí)際配置時我們知道,它位于NETBEUI目錄,名為DOSBB.CNF和W95BB.CNF——用FILE.DAT.RESPONSE幀將啟動塊送回客戶機(jī)端的RPLROM。
RPLROM在收齊所有的FILE.DAT.RESPONSE幀后,將執(zhí)行點(diǎn)轉(zhuǎn)向啟動塊的入口,啟動工作站。工作站以Windows95實(shí)模式啟動后,將創(chuàng)建一個RAM盤,并將Windows95實(shí)模式文件從遠(yuǎn)程啟動服務(wù)器復(fù)制到RAM盤,加載Windows95實(shí)模式網(wǎng)絡(luò)設(shè)備啟動并建立一個到SBS服務(wù)器的連接。最后,連接到該客戶機(jī)的計(jì)算機(jī)目錄(MachineDirectory)所在的服務(wù)器上,并根據(jù)計(jì)算機(jī)目錄中的有關(guān)設(shè)置及數(shù)據(jù)完成Windows95啟動過程。
1.1.2PXE啟動原理
PXE遠(yuǎn)程無盤引導(dǎo)技術(shù)是由Intel推出的,配合Qualystem公司的LiteNet,最初選用臺灣DTK公司的E-Terminal,成功地實(shí)現(xiàn)了Windows98的遠(yuǎn)程啟動和運(yùn)行,并使可靠性和穩(wěn)定性都大大提高。Windows98的各種應(yīng)用軟件只需通過簡單的幾個步驟即可加到無盤工作站上,并可隨時升級和擴(kuò)充,其簡便的安裝方式和構(gòu)架,很快得到了業(yè)內(nèi)人士的認(rèn)可,并廣泛流行起來。
PXE是RPL的升級品,它是PrebootExecutionEnvironment的縮寫,意思為預(yù)置啟動環(huán)境。它們的不同之處在于RPL是靜態(tài)路由,而PXE是動態(tài)路由。其通信協(xié)議采用TCP/IP,與Internet連接高效而可靠,PXE無盤工作站的啟動過程分析如下:
?。?)客戶端個人電腦開機(jī)后,在TCP/IPBootROM獲得控制權(quán)之前先做自我測試。
(2)BootPROM送出BOOTP/DHCP要求以取得IP。
(3)如果服務(wù)器收到個人電腦所送出的要求,就會送回BOOTP/DHCP回應(yīng),內(nèi)容包括:客戶端的IP地址、預(yù)設(shè)網(wǎng)關(guān)及開機(jī)影像文件。否則,服務(wù)器會忽略這個要求。
?。?)BootPROM由TFTP通信協(xié)議從服務(wù)器下載開機(jī)影像文件。TFTP協(xié)議為TrivialFileTransferProtocol縮寫,意為:簡單文件傳輸協(xié)議。TFTP可以看成一個簡化了的FTP,主要的區(qū)別是沒有用戶權(quán)限管理的功能。也就是說,TFTP不需要認(rèn)證客戶端的權(quán)限,這樣遠(yuǎn)程啟動的客戶機(jī)在啟動一個完整的操作系統(tǒng)之前就可以通過TFTP下載啟動映像文件,而不需要證明自己是合法的用戶。
?。?)客戶機(jī)通過這個開機(jī)影像文件開機(jī),這個開機(jī)文件可以只是單純的開機(jī)程序也可以是操作系統(tǒng)。
?。?)開機(jī)影像文件將包含kernelloader及壓縮過的kernel,此kernel將支持NTFSroot系統(tǒng)。
?。?)開機(jī)影像文件在工作站內(nèi)存模擬成磁盤,從這個模擬磁盤啟動。
?。?)在實(shí)模式下連接服務(wù)器,將無盤啟動預(yù)置好各種環(huán)境,例如操作系統(tǒng)所在路徑,相關(guān)注冊表的調(diào)整等。
?。?)實(shí)模式向保護(hù)模式下切換((8)、(9)兩項(xiàng)只有無盤Windows98時才存在)。
PXE有以下優(yōu)點(diǎn):
因?yàn)槠淠苤С諻indows98遠(yuǎn)程啟動,所以現(xiàn)有的各種應(yīng)用軟件都能得到非常好的應(yīng)用。由于系統(tǒng)本機(jī)內(nèi)存為64MB,虛擬內(nèi)存大小可在服務(wù)器自由設(shè)定,另具有3D圖形視覺增強(qiáng)和AC97CODEC軟件音頻功能,因此,相對終端或RPLWindows95來說增強(qiáng)了多媒體功能。
PXE還有一個最大的優(yōu)點(diǎn)就是有較強(qiáng)的安全性。不管多少臺工作站,系統(tǒng)和應(yīng)用軟件只需安裝一套,對用戶的權(quán)限是在服務(wù)器上設(shè)定的,用戶可以在自己的目錄下隨便操作,若有了誤操作,重新啟動便可以完全恢復(fù)。
操作維護(hù)簡便。升級軟件只需向服務(wù)器重新傳一遍系統(tǒng),所有工作站便已全部升級了。工作站的IP地址由服務(wù)器自動給予,不用逐臺設(shè)置。
多種操作系統(tǒng)及網(wǎng)絡(luò)產(chǎn)品都支持PXE。作為新一代遠(yuǎn)程啟動技術(shù)的代表,各大公司的軟硬產(chǎn)品都支持PXE系統(tǒng)。例如:Intel公司的PXEPDK、3ComDabs和Linux。很多內(nèi)置網(wǎng)卡的主板都預(yù)置PXE啟動代碼,這給PXE技術(shù)的發(fā)展奠定了良好的基礎(chǔ)。
1.1.3BOOTP協(xié)議原理
BOOTP是BOOTstrapProtocol的縮略語,是一種較早出現(xiàn)的遠(yuǎn)程啟動的協(xié)議,BOOTP最早出在UNIX系統(tǒng)中,負(fù)責(zé)UNIX終端的遠(yuǎn)程啟動,直到目前仍是UNIX及之后的Linux系統(tǒng)中最常用的方式。它在基于Windows的無盤網(wǎng)絡(luò)運(yùn)用較少,但隨著Windows2000不支持RPL遠(yuǎn)程啟動,并且以TCP/IP作為默認(rèn)安裝網(wǎng)絡(luò)協(xié)議,逐步表明今后的Windows也將以TCP/IP協(xié)議作為主要的發(fā)展方向,純TCP/IP的網(wǎng)絡(luò)將是今后發(fā)展的方向。
我們經(jīng)常用到的DHCP服務(wù)就是從BOOTP服務(wù)擴(kuò)展而來的。BOOTP協(xié)議使用TCP/IP網(wǎng)絡(luò)協(xié)議中的UDP67/68兩個通信端口。BOOTP主要是用于無磁盤的客戶機(jī)從服務(wù)器得到自己的IP地址、服務(wù)器的IP地址、啟動映像文件名、網(wǎng)關(guān)IP等。它的簡單啟動過程為:
由BootROM芯片中的BOOTP啟動代碼啟動客戶機(jī)。此時客戶機(jī)還沒有IP地址,它就用廣播形式以IP地址0.0.0.0向網(wǎng)絡(luò)中發(fā)出IP地址查詢的請求,這個請求幀中包含了客戶機(jī)的網(wǎng)卡MAC地址。
網(wǎng)絡(luò)中的運(yùn)行BOOTP服務(wù)的服務(wù)器接收到這個請求幀后,根據(jù)這幀中的MAC地址在BOOTPTAB啟動數(shù)據(jù)庫中查找這個MAC的記錄,如果沒有此MAC的記錄則不響應(yīng)這個請求,如果有就將FOUND幀發(fā)送回客戶機(jī)。FOUND幀中包含的主要信息有客戶機(jī)的IP地址、服務(wù)器的IP地址、硬件類型、網(wǎng)關(guān)IP地址、客戶機(jī)MAC地址和啟動映像文件名。
客戶機(jī)就根據(jù)ROUND幀中的信息通過TFTP服務(wù)器下載啟動映像文件,并將此文件在工作站內(nèi)存模擬成磁盤,從這個模擬磁盤啟動。
在PXE啟動中可以采用動態(tài)分配IP的DHCP方式,也可以采用固定IP方式的BOOTP方式,但它的應(yīng)用場合不同,若為單一的無盤網(wǎng)絡(luò),則可采用DHCP方式簡化管理;若為多個網(wǎng)絡(luò)互連的結(jié)構(gòu),則使用指定IP的BOOTP方式更為合理一些。