The process of starting a computer system is known as bootstrapping. The sequence begins with code in ROM It loads an image in RAM Two approaches to obtain an image : Embedded System ▪ ROM code use n/w support to locate & download image. Conventional Computer ▪ ROM code loads image from well-known place on disk.
Loaded image is not configured according to the specific physical hardware. It does not contain any networking details. Early implementation of TCP/IP provided separate mechanism to obtain configuration information e.g. RARP to obtain IP address. When subnet masks were introduced, ICMP address mask message were added to obtain a subnet mask.
Advantage Flexibility Computer decides which item to obtain from local disk and which to obtain over the n/w. Disadvantage Network traffic and delay Computer issues request messages to server. Each response returns a small value (IP). Networks enforce min. packet size, so most of the space in each packet is wasted.
It was invented to supply more than one item of configuration information in a single step. BOOTP server provide several pieces of information at once like : Computers IP address Server’s name and IP address IP address of a default router BOOTP uses IP to send request and receive response.
How BOOTP uses Unconfigured IP ? It’s design allow IP to broadcast an IP datagram request before all values have been configured. Destination address used : all 1’s Source address used : all 0’s BOOTP responds either via broadcast message or via MAC address.
BOOTP uses UDP so messages can be delayed, lost or duplicated. BOOTP requires that UDP use checksums. To handle datagram loss, BOOTP uses technique of timeout & retransmission.
BOOTP uses a two-step bootstrap procedure: ▪ It only provides client with the information needed to obtain an image. ▪ Client then uses TFTP to obtain the image. BOOTP was designed for a static environment. With advent of networking and portable PC’s, BOOTP does not adapt to such situations as info. can not be exchanged quickly. Hence we needed another protocol, DHCP.
Dynamic Host Configuration Protocol It was devised to automate the configuration. It use plug-and-play networking to join a new network and obtain an IP address. DHCP server can be configured to have two type of addresses : Permanent addresses ▪ Assigned to server computers. Pool of addresses ▪ These are to be allocated on demand.
Addresses assigned on demand are not permanent. DHCP issues a lease on the address for a finite period of time. If lease expires, computer must renegotiate with the DHCP server. If an event cause all computers to restart at same time, DHCP uses the same technique as BOOTP to avoid flooding with requests. i.e. waiting for a random amount of time.
This protocol has two steps : Broadcast DHCP discover message Send request to server that responded To avoid repeating above steps, DHCP uses caching.