Address Allocation Option 2: BOOTP
Updated: November 10, 2008
Applies To: Windows Server 2008
A BOOTP server automatically assigns the IP address from a pool of available addresses. By default, the address is leased for 30 days. In its usual mode of operation, a BOOTP server always assigns the same address to a client based on the client’s MAC address.
BOOTP operation has two phases:
- Address determination and bootfile selection.
- File transfer (the operating system download). The transfer typically occurs using Trivial File Transfer Protocol (TFTP). The BOOTP server does not need to be the same server as the TFTP image server.
In the BOOTP request, the client can include its MAC address (typically held in non-volatile memory on the network card) and any previously bound IP address, if such information has been stored. The BOOTP server can then respond with a particular IP address for the client, based on either the MAC address mapping or the IP address that had been previously assigned.
BOOTP requests are network broadcasts; if routers support BOOTP replay, these broadcasts can be passed through routers to other subnets so that a BOOTP server on every subnet is not required. The BOOTP protocol supports a limited number of client configuration parameters called vendor extensions that can be used to provide the client with information, such as default gateway and host name.
The advantages of BOOTP include:
Centralized service: BOOTP provides for centralized IP address allocation and management. A network administrator can configure the BOOTP server, and then any device using BOOTP can connect to this server to get an IP address (and, optionally, an operating system).
Platform support: BOOTP is an established and widely supported protocol. BOOTP client support is available for most, if not all, operating systems and BOOTP servers are available for Windows, UNIX, mainframe, and other server platforms.
The disadvantages of BOOTP include:
Renewal on restart only: BOOTP clients rebind or renew their configuration with the BOOTP server only when the system restarts. This can be a major disadvantage given that BOOTP has a default 30-day expiration on IP address leases. An IP address allocation cannot be changed before the 30-day lease has expired unless the client system is rebooted.
No automatic address reuse: BOOTP does not provide automatic reclamation of unused IP addresses, so it requires a manual method for reclaiming addresses that are no longer in service.
Limited support for dynamic addressing: Addresses are usually fixed, so there is limited opportunity for address reuse. It is difficult to support a greater number of hosts than there are addresses in the pool because there is typically a one-to-one mapping between host MAC addresses and static IP addresses. This means an IP address is effectively in use all the time, even if the host is not permanently online.
Limited extensions: BOOTP provides for vendor extensions that allow extra information, such as the address of a DNS server, to be sent to a client from the BOOTP server. However, these extensions are limited to one 64-byte field. RFC 1084 originally standardized these extensions; however, this approach does not allow much customization.