| ||
Bootstrap Protocol (BOOTP) and Dynamic Host Configuration Protocol (DHCP) are IP protocols that run when a network starts. DHCP is a modernization of BOOTP. These protocols allow a target to start up somewhat unaware of itself. The idea is that after the target has booted itself, it will talk to a BOOTP or DHCP server to retrieve configuration information about itself. Following is the format for a BOOTP header; DHCP is similar.
Op | 1 byte |
Htype | 1 byte |
Hlen | 1 byte |
Hops | 1 byte |
Transaction ID | 4 bytes |
Seconds | 2 bytes |
Unused | 2 bytes |
Client IP | 4 bytes |
Your IP | 4 bytes |
Server IP | 4 bytes |
Router IP | 4 bytes |
Client MAC Address | 16 bytes |
Server Host Name | 64 bytes |
Boot File Name | 128 bytes |
Vendor Specific Area | 64 bytes |
To retrieve its configuration data, the target device must issue a BOOTP broadcast request. Like Ethernet, IP also has an address that is dedicated to broadcast: 255.255.255.255 . If there is a BOOTP server on the network, the BOOTP server might respond. The response includes information such as the servers IP address, the IP address that the target is to use, the IP address of the gateway on this subnet, the subnet mask, a boot file name, and an IP address from which to get this boot file. DHCP expands this capability to allow the target and server to establish a dynamic IP address. When the target boots up, it talks to a DHCP server to retrieve information similar to the BOOTP information but with the option that the IP address assigned to the device can be temporary, which is called DHCP IP address leasing . Typically, the server and client establish some time-out period after which the client must request an extension on the lease of the IP address. The client may or may not be granted the extension, depending on how the DHCP server is configured.
| ||