When a Pre-boot Execution Environment (PXE) client boots, it must perform two actions: it must obtain an IP address from a Dynamic Host Configuration Protocol (DHCP) server, and it must locate a PXE boot server that will send it the appropriate files from which to boot.
NOTE: In this article, a PXE boot server refers to a Windows 2000-based Remote Installation Service (RIS) server.
RIS and DHCP on the Different Server
The client, the RIS server, and the DHCP server are on the same subnet in this example. The interaction is as follows:
DHCP DISCOVER from client (asking for IP address and PXE boot server) DHCP OFFER from DHCP server (offers IP address) DHCP OFFER from RIS server (offers PXE boot server) DHCP REQUEST from client to DHCP server (requesting IP address) DHCP ACK from DHCP server (offering an IP address)
Note in the above interaction that the RIS server also responds with an offer, but the client never replies with a DHCP REQUEST to that server. This behavior is by design in the case of the PXE client. The client prefers a DHCP OFFER that contains both an IP address and a PXE boot server, but will take a DHCP OFFER with the IP address only. Because the DHCP OFFER from the RIS server contains only a PXE boot server (no IP address), the client never responds.
After the client has an IP address, it must obtain a PXE boot server. The client sends out another DHCP DISCOVER to locate one:
DHCP DISCOVER from client (client now has an IP address, but is still looking for a PXE boot server) DHCP OFFER from DHCP server (will re-offer the same IP address) DHCP OFFER from RIS server (will offer a boot server) DHCP REQUEST from client to RIS server (requesting the boot server) DHCP ACK from RIS server (this ACK contains the address of the RIS server, then the name of the RIS server, and the first file the client should send a TFTP request for to start the boot process [Startrom.com])
At this point, the PXE client has an IP address, has located a boot server, and has downloaded the file that is needed to boot. It is at this point that you receive a prompt to press F12 for a network boot. Note that the above interaction shows the DHCP server responding again with a DHCP OFFER with the same IP address. Remember, this process uses DHCP packets, so the servers will respond.
RIS and DHCP on the Same Server
When DHCP and RIS are installed on the same server, the conversation is shorter because DHCP queries RIS (actually, the Boot Information Negotiation Layer [BINL] service that RIS uses to interact with clients) and asks if it wants to add its information to the DHCP OFFER it is sending to the client. This gives the client a DHCP OFFER packet that contains both an IP address and a PXE boot server. This way, the client has to initiate only one DHCP DISCOVER. The interaction is as follows:
DHCP DISCOVER from client (asking for an IP address and a PXE boot server) DHCP OFFER from DHCP/RIS server (offers IP address and boot server) DHCP REQUEST from client to DHCP server (requesting IP address, and boot server) DHCP ACK from DHCP server (contains the IP address and the RIS server IP address, the name of RIS server, and the first file to download)