At first, most TCP/IP networks were relatively small and static. Manual IP address management techniques were sufficient for them. Each station kept its own IP address somewhere in its secondary storage. Once the address had to be changed, it required manual administrator action, usually at the machine console, and in most cases involved a reboot.
Soon afterwards, as more complex networks were established, as more and more underlying network hardware was used for TCP/IP communication networks and as cheap client workstations without secondary storage came in use, a need for central administration of the hardware to IP addresses bindings became obvious. A special protocol (RARP) for such bindings was designed. It allowed a machine on a network segment to learn its own IP address and then to begin normal TCP/IP operation.
Another protocol, BOOTP, was also developed to allow diskless stations retrieve all the TCP/IP configuration parameters and other operating system data, needed to start functioning normally after a startup. It allowed configuration over broader networks as it was not limited to a single segment. For that purpose BOOTP defined the concept of a BOOTP relay agent which specified how BOOTP traffic is forwarded between multiple segments.
BOOTP was designed to be easily extended by the BOOTP extension mechanism. This mechanism uses the last field in the frame for more (vendor) specific data and message options.
The next attempt to extend BOOTP provided the Dynamic Host Configuration Protocol, DHCP. DHCP wad designed to be backward compatible with BOOTP in order to support BOOTP clients and BOOTP relay agents, yet there are two primary differences between DHCP and BOOTP:
DHCP comes with a predefined set of DHCP options, which it inherits from the BOOTP vendor extensions mechanism, and it is open for further extension, inheriting the openness from BOOTP.
DHCP is currently the most advanced host configuration mechanism for TCP/IP, although it still has its problems, giving researchers things to work on, for an even better configuration protocol in the future.