5.24日(rì)音(yīn)訊,無Ω♥盤網絡詳解與要(yào)點評析。總的(de)來(lái)₽∑✘™說(shuō),無盤工(gōng)作(zuò) ≠•站(zhàn)的(de)啓動機(jī)制(zhì)如(rú)下(xi βà)。首先由網卡的(de)啓動芯片(BootRO☆↔M,有(yǒu)些(xiē)網卡的(de)啓動程序已嵌入∑₽主闆的(de)BIOS中,無需啓動芯片)以不(bù)同的(de)形式∞¥∞±向服務器(qì)發出啓動請(qǐng)求号,服務器(qì)收到(dào€'£)後,根據不(bù)同的(de)機(jī)制(zhì),向工(gōng)作↕ε (zuò)站(zhàn)發送啓動數(shù)據,工(gōng)作(zuò•☆)站(zhàn)下(xià)載完啓動數(s™hù)據後,系統控制(zhì)權由BootROM轉到(dào)內(nè±<™↓i)存中的(de)某些(xiē)特定區(qū)域,并引導φ×α✘操作(zuò)系統。
根據不(bù)同的(de)啓動機(jī)制(zhì),目前比較常©×☆用(yòng)的(de)無盤工(gōng)作(zuò)站(zhàn)可(γ€£kě)分(fēn)為(wèi)RPL、PXE和(hé)虛拟硬盤βΩ等啓動類型。而Windows2000終端從(cóng)其原理(lǐ)來(lái$±∞)說(shuō),并不(bù)屬于無盤工(gōngπ&δ)作(zuò)站(zhàn),但(dàn)它也(yě)可↑≤<★(kě)以用(yòng)終端卡或硬盤引導系統,進入工(gōng)作(zuò)站✔<∞'(zhàn)操作(zuò)系統後,再連接Windows20±÷00服務器(qì),而這(zhè)個(gè)連接程序與一(y₹✔≥ī)般的(de)應用(yòng)軟件(jiàn)并沒有( ✘ ™yǒu)什(shén)麽本質區(qū)别。
我們把Windows2000終端歸結到(dào π)無盤網絡的(de)原因是(shì):目前≈¶> 大(dà)多(duō)數(shù)的(de)終端都∏←Ω(dōu)是(shì)先通(tōng)過RPL或PXE啓動無盤網絡到(d✔§§&ào)DOS或Windows3x,再從(c'₽§ óng)無盤站(zhàn)中連接成為(w±↑σλèi)終端。總之,本書(shū)所指無盤網絡,泛指工(gōng)作(πλγzuò)站(zhàn)中沒有(yǒu)軟↔±€驅和(hé)硬盤的(de)網絡,無論它是(sh♠∑♦ì)采取何種方式達到(dào)這(zhè)一(yī)目的("♥de)。目前台灣順昱公司研發的(de)基于Elec€•tronicDiskCommunication電(di÷≈←àn)子(zǐ)硬盤(eDisk)系統,我們将它稱為(wèi)↔✘"僞無盤系統,但(dàn)因它也(yě)具♥✔備無盤網絡的(de)特點,所以也(yě)可(kě)以γ↔₩把它歸結到(dào)無盤網絡中來(lái)。
近(jìn)年(nián)來(lái),無盤技(jì×★♣)術(shù)發展十分(fēn)迅速,産生(shēng)了(leπ±≠)大(dà)量的(de)分(fēn)支。根據分(fēn)類角度的"¥¶(de)不(bù)同,主要(yào)有(δβ₹yǒu)以下(xià)幾種分(fēn)類方式:
(1)按啓動類型分(fēn),主要(yào)有(yǒu≤§β≈):RPL、PXE和(hé)BOOTP。
(2)按工(gōng)作(zuò)站(zhàn)的(de★'•)操作(zuò)系統分(fēn)有(yǒu↓♥α):DOS無盤系統、Windows3.2無盤系統、Windows95無盤系ε∑₽統、Windows98無盤系統、純Windows2000及XP無&€βφ盤系統、Windows2000終端及WindowsXP遠(yuǎn ≠)程桌面。
(3)按服務器(qì)操作(zuò)系統分(fēn),有(yǒu):基±÷>于Windows2000的(de)無盤系統、基于WindowsNT4.0的(∞€×♦de)無盤系統、基于WindowsXP的(de↑•)無盤系統、基于NovellNetWare的(de)無盤系統及基于Li₩♠nux的(de)無盤系統,甚至還(hái)∞★¥α有(yǒu)基于Windows98的(de)無δ®α盤系統,也(yě)就(jiù)是(shì)說(shuō)用(yò™₽ ≈ng)Windows98作(zuò)服務器(qì)。
(4)根據系統是(shì)否具有(yǒu)移植能(nén'&'g)力可(kě)以分(fēn)為(wèi):Pφ ©↓NP(即插即用(yòng))系統、非PNP系統。
(5)根據所使用(yòng)工(gōng≥$♥₩)具的(de)不(bù)同進行(xíng)分(fēn)類:使€™用(yòng)IntelPDK+Litene δ₹t的(de)無盤系統、使用(yòng)國(guó)産相 ♥£(xiàng)關第三方工(gōng)具的(de)無盤系統、使用(yòng<♠÷)Boot-NIC+3COMPXE的(de)無盤系統。
(6)按虛拟磁盤分(fēn)類:3ComVLD、Boo♣α©₹t-NIC、BXP和(hé)Edisk等。
以上(shàng)分(fēn)類是(shì)可(kě)以組合的(de÷¶),例如(rú):基于Windows20₩$±×00Server+3ComDabs+LiteΩ₽±×net1.15的(de)PXE無盤Windows9↕←π♥8系統。請(qǐng)注意,它們間(jiān)>♠的(de)組合并不(bù)是(shì)任意的(de),例如(rú):基于÷•₩WindowsNT的(de)RPL純無盤Windows2000就(jiù)Ω€☆是(shì)不(bù)存在的(de)。
1.1.1RPL啓動工(gōng)作(z✔>uò)原理(lǐ)
RPL為(wèi)RemoteInitialProgramLoad的( ←$®de)縮略語,啓動過程分(fēn)析如(rú)下(xiàσ₽ε§):
客戶端開(kāi)機(jī)後,初始化(huà)網卡,網卡BootRO®'M上(shàng)固化(huà)的(de)軟件(jiàn)向網絡廣播一(yφ" ī)個(gè)FIND幀,即引導請(qǐng)求幀,該幀中包含有(yǒ∞©≥u)客戶機(jī)的(de)網卡ID号。
服務器(qì)端的(de)遠(yuǎn)程啓動服務接收到(dγδ∑ào)客戶機(jī)廣播的(de)FIND幀後,π€≈根據幀中所帶的(de)網卡ID号在遠(yuǎn)程啓動數(≠∑shù)據庫中查找相(xiàng)應的(de)工(gōng™♠)作(zuò)站(zhàn)記錄。如(rú)果不(bù)α®×"存在這(zhè)樣一(yī)個(gè)記錄,引✘↓導過程不(bù)能(néng)繼續;如(rú)果此工(gδ&ōng)作(zuò)站(zhàn)記錄已經存在,遠(yuǎn)程啓動服務則§>發送一(yī)個(gè)FOUND幀給客¥ασ戶機(jī)的(de)RPLROM,FOUND幀中已£¥λλ包含了(le)服務器(qì)的(de)網卡ID。
當網絡上(shàng)有(yǒu)數(shù)台服務器(qì)在×→↕運行(xíng)遠(yuǎn)程啓動服務時(shí),RPLROM有(y∏☆↕∞ǒu)可(kě)能(néng)會(huì)接收到(dàoα₹)多(duō)個(gè)FOUND幀,但(dàn)÷• ₽RPLROM隻對(duì)它收到(dào)的(de)第一γ∏(yī)個(gè)FOUND幀有(yǒu)反應。它将根據第一(yī)₩¥'α個(gè)FOUND幀中所帶的(de)服務器(qì)網卡₩✔εID号,返回一(yī)個(gè)SEND.FILE.REQUE€'ST幀給對(duì)應的(de)服務器(qì)。SEND.F®£φILE.REQUEST幀是(shì)一(yī)個(gè)要(yào)求服務器®☆×(qì)發送文(wén)件(jiàn)的(de)請(qǐng)求←∑'₹。
服務器(qì)端的(de)遠(yuǎn)程啓動服務在收到(dà♣✘o)SEND.FILE.REQUEST幀後,将根據遠φ♦(yuǎn)程啓動數(shù)據庫中的(de☆φ)工(gōng)作(zuò)站(zhàn)記錄查找對(duì)應←™®α的(de)啓動塊(BootBlock)——在實際配γ✘置時(shí)我們知(zhī)道(dào),它位于NETBEUI目π÷✘錄,名為(wèi)DOSBB.CNF和(hé)W95BB.πε$≠CNF——用(yòng)®£••FILE.DAT.RESPONSE幀将啓動塊送回客戶₹↕機(jī)端的(de)RPLROM。
RPLROM在收齊所有(yǒu)的(de)FILE€γ.DAT.RESPONSE幀後,将執行(≈✔ 'xíng)點轉向啓動塊的(de)入口,啓動工(gōng)作(zuò)站(£→'✘zhàn)。工(gōng)作(zuò)站(zhàn)•€$以Windows95實模式啓動後,将創建一(yī)個(gè)RA₩✔≠M盤,并将Windows95實模式文(wén)件(jiàn)從(cón≤∞<£g)遠(yuǎn)程啓動服務器(qì)複制(zh★≥§¶ì)到(dào)RAM盤,加載Windows95實模式網$★絡設備啓動并建立一(yī)個(gè)到(dà₹<δo)SBS服務器(qì)的(de)連接。最後,連接到(dào)該客戶♦機(jī)的(de)計(jì)算(suàn)機(jī)目錄(Machine¥≤Directory)所在的(de)服務器(qì)上(shàng),并根據☆Ω∞♦計(jì)算(suàn)機(jī)目錄中的(de)有(yǒu)↓>÷關設置及數(shù)據完成Windows95啓動過程。
1.1.2PXE啓動原理(lǐ)
PXE遠(yuǎn)程無盤引導技(jì)術(shù)是(shìγ¶♣)由Intel推出的(de),配合Qualy₩≈stem公司的(de)LiteNet,最初選用(yòng)台灣DTK公司的(Ωβde)E-Terminal,成功地(dì ∞™•)實現(xiàn)了(le)Windows98的(de)遠(yuǎn)程'→啓動和(hé)運行(xíng),并使可(kě)靠✔>性和(hé)穩定性都(dōu)大(dà)大(dà)提高(gāo)。W×£☆indows98的(de)各種應用(yòng)軟件(ji>∞àn)隻需通(tōng)過簡單的(de)幾個(gè)步驟即可(♠>€®kě)加到(dào)無盤工(gōng)作(zuò)站☆&σ♥(zhàn)上(shàng),并可(kě)随時(shí)升級和(hé©★)擴充,其簡便的(de)安裝方式和(hé)構架,很•↑☆≥(hěn)快(kuài)得(de)到(dào)了(le)業(yè)內(nè®i)人(rén)士的(de)認可(kě),并廣泛流行(xíng)起來(l∑©ái)。
PXE是(shì)RPL的(de)升級品,它是(sh↕γ ì)PrebootExecutionEnvi β↑ronment的(de)縮寫,意思為(wèi)預置>'啓動環境。它們的(de)不(bù)同之處在于RPL是(shì)靜(jìng)态£×↑路(lù)由,而PXE是(shì)動态路(lù)由。其通(tōn₩↑g)信協議(yì)采用(yòng)TCPφ♠>/IP,與Internet連接高(gāo)效而可(kσ∞¥ě)靠,PXE無盤工(gōng)作(zuò)站(zhàn)的(de)啓動過程分±£β(fēn)析如(rú)下(xià):
(1)客戶端個(gè)人(rén)電(dià★ ≥n)腦(nǎo)開(kāi)機(jī)後₹,在TCP/IPBootROM獲得(de)控制(zhì)權之前先做÷σ(zuò)自(zì)我測試。
(2)BootPROM送出BOOTP/DHCP要(yào↓ε£)求以取得(de)IP。
(3)如(rú)果服務器(qì)收到(dào)個(g₽ ÷δè)人(rén)電(diàn)腦(nǎo)所送出的(de)要(yào≤<)求,就(jiù)會(huì)送回BOOTP/DHCP回應,內(nèi)容包括÷£®≠:客戶端的(de)IP地(dì)址、預設網關及開(kā±π★δi)機(jī)影(yǐng)像文(wén)件(jiàn)。否則,服務器(q$£γì)會(huì)忽略這(zhè)個(gè)要(yào)求。
(4)BootPROM由TFTP通(tōng)信協ε∏£♥議(yì)從(cóng)服務器(qì)下(xià)載開(kāi)機(j≠"ελī)影(yǐng)像文(wén)件(jiàn)。TFε£↕£TP協議(yì)為(wèi)TrivialFileTransferProtoc©ol縮寫,意為(wèi):簡單文(wén)件(jiàn)傳輸協議(yì)。∞βTFTP可(kě)以看(kàn)成一(yī★©<ε)個(gè)簡化(huà)了(le)的(de)FTP,主要(yào₽₹≈)的(de)區(qū)别是(shì)沒有(yǒu)用(yòng♦)戶權限管理(lǐ)的(de)功能(né÷♥♥ng)。也(yě)就(jiù)是(shì)說(shuō),T♣£↑FTP不(bù)需要(yào)認證客戶端的(de)權✘ π限,這(zhè)樣遠(yuǎn)程啓動的(de)客戶機(jī)在啓♠↕動一(yī)個(gè)完整的(de)操作(zδ∑ ®uò)系統之前就(jiù)可(kě)以通(t♥≈ōng)過TFTP下(xià)載啓動映像文(wén)件(jiàn),而不(©♦bù)需要(yào)證明(míng)自(zì)己是(shì)合法的(de)©$γ∞用(yòng)戶。
(5)客戶機(jī)通(tōng)過這(zhè)個(gè)開(kāi)機γ™₹™(jī)影(yǐng)像文(wén)件(jiàn)開(∏πkāi)機(jī),這(zhè)個(gè)開(kāi)機(j$§ī)文(wén)件(jiàn)可(kě)以隻是(sh★β✔₽ì)單純的(de)開(kāi)機(jī)程序也(yě)可(kě)以✔₽÷ 是(shì)操作(zuò)系統。
(6)開(kāi)機(jī)影(yα£€ǐng)像文(wén)件(jiàn)将包含kernel ♠<±loader及壓縮過的(de)kernel,此kernel将支持NTFSrγ©₩↕oot系統。
(7)開(kāi)機(jī)影(yǐng)像文(wén)件(jiàn)在Ω≥φ 工(gōng)作(zuò)站(zhàn)內(nèi)存模拟成磁™•♥✔盤,從(cóng)這(zhè)個(gè)模拟磁盤啓動•∑¥↓。
(8)在實模式下(xià)連接服務器(qì),将無λ÷盤啓動預置好(hǎo)各種環境,例如(rú)操作(zuò)系統所在路(lù)徑Ω÷Ω,相(xiàng)關注冊表的(de)調整等。
(9)實模式向保護模式下(xià)切換((8)、(9)兩項隻∏•'有(yǒu)無盤Windows98時(shí)才存在)。
PXE有(yǒu)以下(xià)優點:
因為(wèi)其能(néng)支持Windows98遠(yuǎ↕≤λn)程啓動,所以現(xiàn)有(yǒu)的(de)各種應↔ 用(yòng)軟件(jiàn)都(dōu)ε↕₽₩能(néng)得(de)到(dào)非常好(hǎo)的( • de)應用(yòng)。由于系統本機(jī)內(nè§♥βγi)存為(wèi)64MB,虛拟內(nèi)存大(dà)小(xiǎo)可(kě∏₩↕)在服務器(qì)自(zì)由設定,另具有(yǒδΩu)3D圖形視(shì)覺增強和(hé)AC97CODEC軟件(jiàn)£↓↕≥音(yīn)頻(pín)功能(néng),因此,相(xiàng)對(d€§α¶uì)終端或RPLWindows95來(lái)說(shu§"ō)增強了(le)多(duō)媒體(tǐ)功能(néng)。
PXE還(hái)有(yǒu)一(yī)個(gè)最大(dà)的(d©πe)優點就(jiù)是(shì)有(yǒu)較強的(dλ>≈σe)安全性。不(bù)管多(duō)少(s₹÷∑☆hǎo)台工(gōng)作(zuò)站(zhàn),系統和(h≠¶∏é)應用(yòng)軟件(jiàn)隻需安裝一(yī)套,≥¶πφ對(duì)用(yòng)戶的(de)權≈¶×限是(shì)在服務器(qì)上(shàng)設定的(£☆↔"de),用(yòng)戶可(kě)以在自(zì)己的(de)∑→目錄下(xià)随便操作(zuò),若有(yǒβ♠♣↔u)了(le)誤操作(zuò),重新啓動便可☆δ(kě)以完全恢複。
操作(zuò)維護簡便。升級軟件(jiàn)隻需向服務器(qì)重新₩←∞傳一(yī)遍系統,所有(yǒu)工(gōng)作(zuò)站(✔δ÷zhàn)便已全部升級了(le)。工(g→×→®ōng)作(zuò)站(zhàn)的(de)IP地(dì)址由服務≈<器(qì)自(zì)動給予,不(bù)用(yòn♥♥g)逐台設置。
多(duō)種操作(zuò)系統及網絡産品¶★¥∏都(dōu)支持PXE。作(zuò)為(wèi)新一(y÷₽♣$ī)代遠(yuǎn)程啓動技(jì)術(sh♥₹πù)的(de)代表,各大(dà)公司的(de<©)軟硬産品都(dōu)支持PXE系統。例如(rú):Int∑≠♥el公司的(de)PXEPDK、3ComDabs和(hé±£©)Linux。很(hěn)多(duō)內(nèi)置網卡的(de₽↕αΩ)主闆都(dōu)預置PXE啓動代碼,這(zφ♦hè)給PXE技(jì)術(shù)的(de)€™發展奠定了(le)良好(hǎo)的(de)Ωλ基礎。
1.1.3BOOTP協議(yì)原理(αδ≥←lǐ)
BOOTP是(shì)BOOTstrapProt↕£ocol的(de)縮略語,是(shì)一(yīΩ↕)種較早出現(xiàn)的(de)遠(yuǎn)程啓動↕的(de)協議(yì),BOOTP最早出在UNIX系統中,負責UNIX終端的(εδde)遠(yuǎn)程啓動,直到(dào)目前仍是§±§(shì)UNIX及之後的(de)Linux系統中最常用(yòng)的(↓∑≈de)方式。它在基于Windows的(de)無盤網絡運用(y↕>↓¶òng)較少(shǎo),但(dàn)随著(δ∏zhe)Windows2000不(bù)支持RPL遠(yu™↓εǎn)程啓動,并且以TCP/IP作(zuò•φσ¥)為(wèi)默認安裝網絡協議(yì),逐步表₹¶明(míng)今後的(de)Windows也(yěσ<λ)将以TCP/IP協議(yì)作(zuò)為(wèi)主要(yào✔♦€)的(de)發展方向,純TCP/IP的(de)網絡将是∑≥(shì)今後發展的(de)方向。
我們經常用(yòng)到(dào)的(de)DHCP服λ↕務就(jiù)是(shì)從(cóng)≠'BOOTP服務擴展而來(lái)的(de)。BOO₩↓β↑TP協議(yì)使用(yòng)TCP/IP網絡協議(yì)₩ε♣中的(de)UDP67/68兩個(gè)通(×∑tōng)信端口。BOOTP主要(yào)是(shì)用(yòng←₩)于無磁盤的(de)客戶機(jī)從(cóng)服務器(qì)得(α↑←de)到(dào)自(zì)己的(de)IP地(dìφ<↓)址、服務器(qì)的(de)IP地(dì)址、啓動映像文(w♦π÷én)件(jiàn)名、網關IP等。它的(de)簡單啓動過程₹<為(wèi):
由BootROM芯片中的(de)BOOTPβ♣£啓動代碼啓動客戶機(jī)。此時(shí)客戶機(jī)還(há""←i)沒有(yǒu)IP地(dì)址,它就(₽εφjiù)用(yòng)廣播形式以IP地(dì)址0.0.0.0向 λ¥網絡中發出IP地(dì)址查詢的(de)請(q≠♣φ₩ǐng)求,這(zhè)個(gè)請(qǐng)求幀中包含了(le)客戶機(δ☆±jī)的(de)網卡MAC地(dì)址。
網絡中的(de)運行(xíng)BO§¶βγOTP服務的(de)服務器(qì)接收到(dào)☆≈λ₽這(zhè)個(gè)請(qǐng)求幀後,根據這(zhè)幀♣ ♥σ中的(de)MAC地(dì)址在BOOTPTAB啓動數(shù)據庫中查找這∏↕↓×(zhè)個(gè)MAC的(de)記錄™♣↔>,如(rú)果沒有(yǒu)此MAC的(de)記錄•π則不(bù)響應這(zhè)個(gè)請(qǐng)求,如→↔★(rú)果有(yǒu)就(jiù)将FOUND幀發送回客戶機(jī)。Fσ±↔&OUND幀中包含的(de)主要(yào)信Ω×β息有(yǒu)客戶機(jī)的(de)IP地(dì)址♦≥α₩、服務器(qì)的(de)IP地(dì)址、§♣→€硬件(jiàn)類型、網關IP地(dì)址、客戶機( ↑ δjī)MAC地(dì)址和(hé)啓動映像文(wén)件(→jiàn)名。
客戶機(jī)就(jiù)根據ROUε♦×ND幀中的(de)信息通(tōng)過TFTP服務器(qì)下(xià)載啓≈♣動映像文(wén)件(jiàn),并将此文(wén)件(jiàn)¶↓©在工(gōng)作(zuò)站(zhàn)☆≤♣內(nèi)存模拟成磁盤,從(cóng)這(zh≈≥÷è)個(gè)模拟磁盤啓動。
在PXE啓動中可(kě)以采用(yòng)動态分(fēn)配IP的£§©(de)DHCP方式,也(yě)可(kě)★←以采用(yòng)固定IP方式的(de)BOOTP方式,但(dàn)它的(d™ e)應用(yòng)場(chǎng)合不(bù)¥σ¥同,若為(wèi)單一(yī)的(de)無盤網絡≠∏↔₩,則可(kě)采用(yòng)DHCP方式簡化(huà)管理(lǐ);λ♣Ω若為(wèi)多(duō)個(gè)網絡互連的(d≤'®δe)結構,則使用(yòng)指定IP的(de)BOOTP方式更為(wèi)合✔∏¥理(lǐ)一(yī)些(xiē)。