Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Preboot Execution Environment
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Overview == Since the beginning of computer networks, there has been a persistent need for [[Client (Computing)|client]] systems which can [[Bootstrapping#Computing|boot]] appropriate software images, with appropriate configuration parameters, both retrieved at boot time from one or more network [[Server (computing)|servers]]. This goal requires a client to use a set of pre-boot services, based on industry standard [[network protocol]]s. Additionally, the Network Bootstrap Program (NBP) which is initially downloaded and run must be built using a client [[firmware]] layer (at the device to be bootstrapped via PXE) providing a hardware independent standardized way to interact with the surrounding network booting environment. In this case the availability and subjection to standards are a key factor required to guarantee the network boot process system interoperability.{{Citation needed|date=August 2023}} One of the first attempts in this regard was bootstrap loading using TFTP standard RFC 906, published in 1984, which established the 1981 published [[Trivial File Transfer Protocol]] (TFTP) standard RFC 783 to be used as the standard file transfer protocol for bootstrap loading. It was followed shortly after by the [[Bootstrap Protocol]] standard RFC 951 (BOOTP), published in 1985, which allowed a [[diskless node|diskless client machine]] to discover its own IP address, the address of a TFTP server, and the name of an NBP to be loaded into memory and executed. BOOTP implementation difficulties, among other reasons, eventually led to the development of the [[Dynamic Host Configuration Protocol]] standard RFC 2131 (DHCP) published in 1997. The pioneering TFTP/BOOTP/DHCP approach fell short, as at the time, it did not define the required standardized client side of the provisioning environment. The Preboot Execution Environment (PXE) was introduced as part of the [[Wired for Management]]<ref name="wfmspec">{{cite web | url = http://download.intel.com/design/archives/wfm/downloads/base20.pdf | title = Wired for Management Baseline - Version 2.0 Release | publisher = Intel Corporation | date = 1998-12-18 | access-date = 2014-02-08 | archive-url = https://web.archive.org/web/20170222225329/http://download.intel.com/design/archives/wfm/downloads/base20.pdf | archive-date = 2017-02-22 }}</ref> framework by [[Intel]] and is described in the specification published by Intel and SystemSoft. PXE version 2.0 was released in December 1998, and the update 2.1 was made public in September 1999.<ref name="pxespec">{{cite web |url = http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf |title = Preboot Execution Environment (PXE) Specification - Version 2.1 |publisher = Intel Corporation |date = 1999-09-20 |access-date = 2014-02-08 |url-status = dead |archive-url = https://web.archive.org/web/20131102003141/http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf |archive-date = 2013-11-02 }}</ref> The PXE environment makes use of several standard client‑server protocols including DHCP and TFTP (now defined by the 1992 published RFC 1350). Within the PXE schema the client side of the provisioning equation is an integral part of the PXE standard and it is implemented either as a [[Network Interface Card]] (NIC) [[BIOS]] extension or current devices in [[UEFI]] code. This distinctive firmware layer makes available at the client the functions of a basic Universal Network Device Interface (UNDI), a minimalistic [[UDP/IP|UDP]]/[[Internet protocol suite|IP]] stack, a Preboot (DHCP) client module and a TFTP client module, together forming the PXE [[API|application programming interface]]s (APIs) used by the NBP when needing to interact with the services offered by the server counterpart of the PXE environment. TFTP's low [[throughput]], especially when used over high-[[Latency (engineering)|latency]] links, has been initially mitigated by the TFTP Blocksize Option RFC 2348 published in May 1998, and later by the TFTP Windowsize Option RFC 7440 published in January 2015, allowing potentially larger payload deliveries and thus improving throughput.{{Citation needed|date=August 2023}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)