Overview of RARP, BOOTP, DHCP and PXE protocols for dynamic IP address assignment.
Dynamic IP address assignment to a host (or interface) is a common problem in TCP/IP based networks.
Manual and static assignment of IP addresses does not scale well and becomes a labor intensive task with a growing number of hosts.
An early approach for dynamic IP address assignment was RARP (Reverse ARP) which ran directly on the Ethernet protocol layer.
The many problems of RARP such as the inability to be routed between subnets were solved with BOOTP (Bootstrap Protocol).
BOOTP, however, ended to have its own set of limitations like lack of a lease time for IP addresses.
DHCP (Dynamic Host Configuration Protocol) was therefore defined as an extension to BOOTP.
DHCP is backward compatible with BOOTP thus allowing some degree of interoperability between the 2 protocols.
The state-of-the-art protocol for dynamic IP address assignment is, however, is DHCP.
DHCPv6 is an adaption of DHCP for IPv6 based networks.