Preboot execution environment (PXE) protocol (see PXE Internet Draft) is a mixture of two well-known protocols: the Dynamic Host Configuration Protocol (DHCP) and the Trivial File Transfer Protocol (TFTP). However, to be compliant with the Intel PXE Specification version 2.1 both protocols, DHCP and TFTP, require some modifications to its original specification, as discussed below.
The former protocol, DHCP, is probably the most widely used protocol today for the management and allocation of IP addresses on a local area network (LAN). It is a common client/server protocol and, in general, from the viewpoint of the client, this protocol is implemented by a program that runs after the operating system boots. However, this protocol is used in PXE to assign an IP address to each thin client when it boots. Thus, a thin client can be started without a pre-installed operating system, and for this reason, a thin client includes an implementation of the PXE protocol in the BIOS.
Once the thin client has an IP address, and since it may not have operating system, the client must be able to download an operating system through the network. It has to be noted that a thin client does not have any information about the network during the boot, the IP addresses of servers and other connected devices are unknown to the thin client. Therefore, the PXE protocol should provide that information. To this end, the PXE protocol uses an extension of the DHCP protocol (see below) to provide this information to the thin client. The thin client is then able to locale an appropriate boot server and the corresponding operating system that can be downloading using a file transfer protocol, the Trivial FTP or TFTP.
In the document DHCP Options and BOOTP Vendor Extensions (RFC 2132) are specified those options that should be added in the configuration of the DHCP service in order to make it compliant with PXE. The options to be added are:
Boot file name. The name of the bootable kernel image to be downloaded by the thin client.
Root path (optional).
Next server IP address (optional). DHCP and TFTP servers can be installed on different computers, in this case the DHCP service must provide the IP address of the computer where the TFTP server is located.
Optionally (we do not know the level of importance of it) must be taken into consideration the following proposed extension of the DHCP specification: Dynamic Host Configuration Protocol (DHCP) Options for the Intel Preboot eXecution Environment (PXE) (RFC 4578).
The basic TFTP protocol is defined in RFC 1350. However, the PXE protocol requires some modifications on the original specification of the TFTP protocol. RFC 2348 defines an extension of the basic TFTP protocol for larger block sizes required by PXE.