Hope this post finds you in good health and spirit.
We are going to discuss SCCM PXE process. You can enable PXE support for DP and it automatically installs WDS role on DP.
Although PXE server(DP) and DHCP can coexist on same server, we will consider them to be on different server as is the case in nearly all production environment.
So let’s dig in step by step PXE process. 1. PXE client broadcasts DHCP DISCOVER packet over UDP port 67. It contains option 60 to identify itsef as PXE client. As this packet is broadcast it will reach PXE server and DHCP.
2. a. DHCP server will send DHCP OFFER over UDP port 68.
b. SCCM site server runs LOOKUPDEVICE stored process. If any deployment is present for PXE client(unknown device support is enabled in case if PXE client is not present in database), PXE server will send DHCP OFFER with option 60.
Client will not proceed if it will not receive OFFER from PXE server and will stop with PXE-MOF error. DISCOVER packet is retried 4 times on interval of 4, 8, 16, and 32 seconds.
3. PXE client will send DHCP REQUEST as acknowledgement to PXE server and for IP to DCHP server over UDP port 67.
4. DHCP server will send DHCP ACK i.e. IP address and lease over UDP port 68.
5. PXE client will send unicast DHCP REQUEST for option 66 (boot server) and option 67 (boot file) over UDP port 4011. Remember client already knows IP of PXE server from step 2.
6. PXE server will send DHCP ACK with option 66 and 67. Option 67 contains WDSNBP bootstrap file which does architecture detection of client. TFTP is used for downloading WDSNBP file over UDP port 69 and high level ports.
7. Client sends unicast DHCP REQUEST to PXE server with option 250 which includes its architecture.
8. SCCM Server runs GETBOOTACTION procedure. This is to check boot file response:
a. PXEBoot.com – User press F12 for optional deployment.
b. PXEBoot.n12 – No need to press any button for mandatory deployment.
c. AbortPXE.com – Stop
DHCP ACK is send to PXE client.
Process of client communication to SCCM DP is recorded in smspxe.log. You can use it for troubleshooting and review.
So, this is all in this post and see you soon with some other technical post. Till then bye… 🙂