The Pre-boot Execution Environment enables computers on a network to request an address and a start-up file automatically over a network when they power up. The scenario is initiated by the chip on the network card on each computer, which sends out a broadcast message hoping that a PXE server will pick it up and reply with the required set-up details. Multiple PXE servers may cause problems. However, there are work-arounds.
PXE relies on two other technologies to provide the computers on the network with their start-up procedures. The PXE server's task is to direct request towards a DHCP server and a Network Bootstrap Program, or NBP, server. The delivery of the NBP requires that the network computer has an IP address and the first phase of the PXE system grants the use of an IP address using the Dynamic Host Configuration Protocol. The IP address is specified by the Internet Protocol. Many networks use IP addresses for their internal addressing system.
PXE is an adaptation of DHCP, which grants an IP address to a computer on a lease that will expire. The DHCP specification allows for the existence of more than one DHCP server. The PXE procedures are carried out by modified DHCP request messages, so why couldn't there be more than one PXE server?
Multiple Server Detractions
The main reason multiple PXE servers are not recommended is because the process starts with a broadcast message from the applying computer, which is received by all computers on the network. If more than one PXE server is available on the network, they might all reply and begin the notification process causing collision, congestion and confusion. Another reason for preferring a single PXE server configuration is that multiple servers are not necessary. A network administrator may think he needs a different PXE Server for each type of computer running on the network. However the first phase of PXE, the allocation of an IP address, is a common requirement for all computers on the network. Requests can be sent to different NBP servers by setting different values for the Boot Server Type in the original request.
Multiple Server Solution
Three methods of configuring servers enable multiple PXE Servers to operate successfully. First, if the network is divided up into subnetworks, the broadcast request will only extend to the computers on the same subnetwork, and so many PXE servers can co-exist if each is on a different subnetwork. A second solution is possible with server software like Microsoft System Center Configuration Manager. This PXE server software enables each server to be given a delay time before responding to requests. This enables secondary PXE servers to act as back-up for a primary server. Other PXE server software, like the Symantec Altiris PXE Server, allows one server to be nominated as a “Master”and others as “slaves.” This also relegates all but one server to the status of back-up server. A final option is to set up MAC address filtering on the PXE server. This tells each server to only accept requests from a list of computer addresses, thus allocating each PXE Server to a different group of computers.