《PXE》要點(diǎn):
本文介紹了PXE,希望對您有用。如果有疑問,可以聯(lián)系我們。
PXE是 Preboot eXecution Environment 的縮寫 (也有人解讀為 Pre-Execution Environment; 有時候大家都叫它 “pixie”) PXE是一個獨(dú)立于數(shù)據(jù)存儲設(shè)備(象本地硬盤)和安裝好的操作系統(tǒng),通過網(wǎng)卡啟動機(jī)器的環(huán)境.
PXE 是Intel在 Wired for Management (包括了PXE和WOL wake-on-lan)框架規(guī)格說明書中提出來的標(biāo)準(zhǔn) (version 2.1) , Intel and Systemsoft 在 1999年9月20日發(fā)布了這個標(biāo)準(zhǔn). 它用到了幾個網(wǎng)絡(luò)協(xié)議,包括IPv4,UDP,DHCP,TFTP ,還用到了這些概念 全球唯一標(biāo)示(GUID), 統(tǒng)一用戶標(biāo)示(UUID) 和 統(tǒng)一網(wǎng)絡(luò)接口,以及 PXE客戶端擴(kuò)展的固件(通過PXE啟動的電腦設(shè)備等) 還有就是一些預(yù)定義的API.
Chain
在客戶端的固件首先嘗試通過DHCP在網(wǎng)絡(luò)中請求找到PXE重定向服務(wù),以便接受到PXE 啟動服務(wù)器的信息.客戶端固件從PXE重定向服務(wù)中獲取到啟動服務(wù)器上的網(wǎng)絡(luò)啟動輔助程序NBP,并通過TFTP把它下載到機(jī)器的內(nèi)存中,校驗(yàn)通過后最終執(zhí)行程序.如果所有的PXE客戶端都用同一個NBP,它可以通過BOOTP指定位置,就可以把DHCP給省了,不過TFTP啟動服務(wù)器還是要的.
[edit]
Availability
PXE 從設(shè)計(jì)之初就是考慮支持多種系統(tǒng)架構(gòu)的.The 2.1 version 支持包括 IA-64 and DEC Alpha.在內(nèi)的6種系統(tǒng)架構(gòu). 雖然這個標(biāo)準(zhǔn)只是在 IA-32 上達(dá)到完全覆蓋. Intel 已經(jīng)在 IA-64的 EFI 帶上PXE, 變成一個既成事實(shí)的標(biāo)準(zhǔn).
[edit]
Protocol
PXE大體上看是 DHCP and TFTP的整合, 雖然對他們兩個做了一些小小的改動. DHCP是被用來定位啟動服務(wù)器的位置, 而 TFTP 是用來瞎子啊初始化的NBP包括一些附帶的文件.
初始化一個 PXE 啟動會話 the PXE firmware廣播一個附帶由PXE規(guī)格配置的 DHCPDISCOVER 擴(kuò)展包到 67/UDP 端口(DHCP server port). PXE能夠設(shè)置辨識固件,不過它們對標(biāo)準(zhǔn)的DHCP服務(wù)器無效.
[edit]
Proxy DHCP
如果 PXE 重定向服務(wù) (Proxy DHCP) 獲取到一個 DHCPDISCOVER擴(kuò)展包, 就會應(yīng)答一個 DHCPOFFER 擴(kuò)展包給客戶端的 68/UDP端口 (DHCP client port).
An extended DHCPOFFER contains mainly:
? PXE發(fā)現(xiàn)控制的字段包含找到PXE 啟動設(shè)備的推薦使用的方式 multicasting, broadcasting, or unicasting
? 一個當(dāng)前可用的PXE 啟動服務(wù)的IP列表
? 一個PXE 啟動菜單列出對應(yīng)的PXE啟動服務(wù)器類型
? 一個PXE啟動提示告訴用戶選擇指定的啟動項(xiàng)
? 開始第一個啟動菜單如果選擇超時會有一個超時機(jī)制
代理DHCP 服務(wù)也可以和標(biāo)準(zhǔn)的DHCP 服務(wù)運(yùn)行在同一個主機(jī)上. 當(dāng)然這兩個服務(wù)不同同時使用 67/UDP端口, 代理 DHCP 是運(yùn)行在4011/UDP端口上,而且會認(rèn)為從PXE客戶端返回的 DHCPDISCOVER 包是一個 DHCPREQUESTs包. 標(biāo)準(zhǔn)的 DHCP 不會發(fā)一個包含有 PXE 設(shè)置的DHCPOFFER包, 所以它們之間不會沖突.
[edit]
Boot server contact
要連上 PXE Boot Server啟動的系統(tǒng)必須要有一個IP地址(可以是從DHCP 獲取).
它多次廣播 包含有PXE 特定設(shè)置的DHCPREQUEST包 (extended DHCPREQUEST) 到 4011/UDP 端口或者 67/UDP. 這個數(shù)據(jù)包包含有PXE啟動服務(wù)器的類型信息和PXE Boot Layer信息.一個daemon可以運(yùn)行多種啟動服務(wù)器類型.擴(kuò)展的 DHCPREQUEST 包可能是 DHCPINFORM類型的. PXE Boot Server收到一個擴(kuò)展的 DHCPREQUEST 對應(yīng)特定的請求類型包 DHCPACK 包含有以下的信息:
? 一個可以通過TFTP下載到 NBP的全路徑
? PXE Boot Server類型還有應(yīng)答給對方的PXE Boot Layer信息
? 在組播的TFTP 配置中, 如果MTFTP 已經(jīng)在 PXE 的規(guī)格中指定就必須使用.
啟動的服務(wù)器端只接受一個DHCPOFFER包.
2.1 版的 PXE Boot Server支持”Boot Integrity Services” ([2]) 運(yùn)行客戶端通過下載 NBP同級目錄的下校驗(yàn)碼文件來校驗(yàn)下載的 NBPs.
去獲取這個憑證文件必須支持?jǐn)U展DHCPREQUEST到擴(kuò)展 DHCPACK包之間的轉(zhuǎn)換.
[edit]
Network bootstrap program
當(dāng)獲取到一個 DHCPACK的擴(kuò)展包, the Network Bootstrap Program 就會被加載到 RAM 然后被校驗(yàn),校驗(yàn)如果沒有設(shè)置就會略過,然后NBP就會被執(zhí)行. 它就會訪問 PXE固件擴(kuò)展的API(Pre-boot, UDP, TFTP, Universal Network Device Interface (UNDI)). 它的一些功能和任務(wù)在PXE 規(guī)格并沒有被提及.
[edit]
Integration
The PXE Client/Server Protocol was designed so:
? 它可以被用在一個存在DHCP環(huán)境的網(wǎng)絡(luò)而不被干擾
? 它也可以被完全集成到DHCP標(biāo)準(zhǔn)服務(wù)中
? 可以非常容易的擴(kuò)展組合,所有的服務(wù)(DHP, Proxy DHCP, Boot Server)都可以單獨(dú)運(yùn)作,也可以整合在一起運(yùn)行.
另外 PXE 固件擴(kuò)展在IA-32 BIOS 被設(shè)計(jì)成一個可選的 ROM, 所以你可以讓你的PC兼容 PXE 只需要裝一個支持PXE的網(wǎng)卡. 現(xiàn)在在AMD64上一樣支持.設(shè)計(jì)的目的是利用現(xiàn)有的 DHCP and TFTP 無法嚴(yán)格的遵照規(guī)范. 在一些方面PXE協(xié)議要求DHCP/TFTP服務(wù)器做一些通訊方面的修改,其中一個特殊的例子就是使用組播, DHCP 提供組播的組信息 而不是又go額開放的rRFC-2090組播 TFTP 轉(zhuǎn)換. 盡量避免對常用 PXE 客戶端實(shí)現(xiàn)影響操作與隔離DHCP和單播TFTP服務(wù)器.
[edit]
PXE是RPL的升級品,它是Preboot Execution Environment的縮寫.它們的不同之處在于RPL是靜態(tài)路由,而PXE是動態(tài)路由.其通信協(xié)議采用TCP/IP,與Internet連接高效而可靠,PXE無盤工作站的啟動過程分析如下:
¨ 客戶端個人電腦開機(jī)后, 在 TCP/IP Bootrom 獲得控制權(quán)之前先做自我測試.
¨ Bootprom 送出 BOOTP/DHCP 要求以取得 IP.
¨ 如果服務(wù)器收到個人電腦所送出的要求, 就會送回 BOOTP/DHCP 回應(yīng),內(nèi)容包括
客戶端的 IP 地址, 預(yù)設(shè)網(wǎng)關(guān), 及開機(jī)影像文件.否則, 服務(wù)器會忽略這個要求.
¨ Bootprom 由 TFTP 通訊協(xié)議從服務(wù)器下載開機(jī)影像文件.
¨ 個人電腦通過這個開機(jī)影像文件開機(jī), 這個開機(jī)文件可以只是單純的開機(jī)程式也可
以是操作系統(tǒng).
¨ 開機(jī)影像文件將包含 kernel loader 及壓縮過的 kernel, 此 kernel 將支持NTFS root
系統(tǒng).
¨ 遠(yuǎn)程客戶端根據(jù)下載的文件啟動機(jī)器.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/4719.html