複製鏈接
請複製以下鏈接發送給好友

預啓動執行環境

鎖定
預啓動執行環境(Preboot eXecution Environment,PXE)也被稱為預執行環境,提供了一種使用網絡接口(Network Interface)啓動計算機的機制。這種機制讓計算機的啓動可以不依賴本地數據存儲設備(如硬盤)或本地已安裝的操作系統 [1] 
中文名
預啓動執行環境
外文名
Preboot eXecution Environment
英語簡稱
PXE
分    類
網路標準
應    用
預執行環境

預啓動執行環境簡介

PXE當初是作為Intel的有線管理體系的一部分,Intel 和 Systemsoft於1999年9月20日公佈其規格(版本2.1) [2]  。通過使用像網際協議(IP)、用户數據報協議(UDP)、動態主機設定協定(DHCP)、小型文件傳輸協議(TFTP)等幾種網絡協議和全局唯一標識符(GUID)、通用網絡驅動接口(UNDI)、通用唯一識別碼(UUID)的概念並通過對客户機(通過PXE自檢的電腦)固件擴展預設的API來實現目的。 [1] 
PXE 客户機(client)這個術語是指機器在PXE啓動過程中的角色。一個PXE 客户機(client)可以是一台服務器、桌面級電腦、筆記本電腦或者其他裝有PXE啓動代碼的機器。

預啓動執行環境通路

客户機的固件為接受到可用的PXE啓動服務器,要在網絡中嘗試找出PXE重定向服務(DHCP代理)。在分析返回的包後,固件會向合適的啓動服務器詢問網絡自檢程序(NBP)的路徑,並且通過TFTP協議下載到電腦的內存中,有可能會去校驗它,最後執行它。當只有全部的PXE 客户機(client)只使用一個NBP時,全部的PXE 客户機可能會被指定是用BOOTP協議,從而不需要DHCP代理,但是仍然需要TFTP啓動服務。

預啓動執行環境優點

PXE被設計成適合各種計算機體系。2.1版的描述中確定了6種系統規格,包括IA-64DEC Alpha。可是隻有IA-32的完全表述.Intel 在IA-64 的 擴展固件接口中包括了PXE,落實了標準。

預啓動執行環境協議

PXE 協議大致上結合了DHCP和TFTP,雖然都有在兩者上面有改進。DHCP用於查找合適的啓動伺服器,TFTP用於下載初始引導程序和附加文件。
為了開始一個PXE自檢會話,PXE固件廣播一個帶有明確的PXE選項DHCPDISCOVER包(擴展DHCPDISCOVER)到67/UDP端口(DHCP伺服器端口)。PXE選項是PXE固件有PXE能力的鑑定,但是會被一般的DHCP服務忽略。當固件受到從這樣的服務受到DHCPOFFER包時,它會通過要求其提供配置信息來自我配置。 [3] 

預啓動執行環境DHCP代理

當 PXE 重定向服務 (DHCP代理) 收到一個 擴展DHCPDISCOVER 包時,它會通過發送一個帶有明確的PXE選項DHCPDISCOVER包到PXE客户機的68/UDP端口 (DHCP 客户機端口)來回答。 一個擴展DHCPDISCOVER包主要包含:
  • 一個PXE發現控制領域,以決定是使用多播,廣播(網路)或單播來聯繫PXE啓動服務器。
  • 一個列出可用的PXE啓動服務器類型的地址表。
  • 一個代表每個一個PXE啓動服務器類型的條目單。
  • 一個帶有帶有提示用户按下哪一個鍵來看到啓動菜單的PXE啓動菜單。
  • 一個超過多長時間就啓動第一啓動菜單的超時數值。
一個DHCP代理服務可能在相同的主機上運行一個標準的DHCP服務器。儘管兩個服務不可以共享67/UDP 端口,DHCP代理服務在4011/UDP 端口上運行,要求從客户端來的DHCPDISCOVER 包變成DHCPREQUEST 包。標準DHCP服務在其發送的DHCPOFFER 包中加入特殊的PXE 選項組合,這樣PXE客户端知道可以在同一個主機的 4011/UDP 端口找到一個DHCP代理服務。

預啓動執行環境聯繫啓動服務

和一個正在啓動系統的啓動服務聯繫必須有一個IP地址(可能來自DHCP服務)。通過多播或單播一個帶有特殊的PXE選項的 DHCPREQUEST 包(擴展DHCPREQUEST包)到 4011/UDP端口,或者廣播(網路)這種包到 67/UDP端口。這種包包含有PXE啓動服務類型和PXE啓動層,一個守護進程允許運行多個啓動服務類型。 一個擴展 DHCPREQUEST包可能是一個DHCPINFORM包。
參考資料
  • 1.    Alpha D. Preboot Execution Environment[J]. 2007.
  • 2.    Intel B. Preboot Execution Environment (PXE) Specification Version 2.1[J]. 1999(2).
  • 3.    Henry M, Johnston M. Preboot Execution Environment (PXE) Specification[J]. 2010(2).