| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
BOOTP Client/Server Messaging and Addressing (Page 1 of 3) While BOOTP can be used for a variety of devices, one of the prime motives behind its creation was to provide a way to automatically configure dumb devices that have no storage. Most of these devices are relatively limited in their capabilities, and so requiring them to support a fancy boot protocol would not make sense. BOOTP is thus an uncomplicated protocol, which accomplishes host configuration without a lot of fancy concepts or implementation requirements. Like so many other TCP/IP protocols, BOOTP is client/server in nature. The operation of the protocol consists of a single exchange of messages between a BOOTP client and a BOOTP server. A BOOTP client can be any type of device that needs to be configured. A BOOTP server is a network device that has been specially set up to respond to BOOTP client requests, and has been programmed with addressing and other information it can provide to clients when required. The BOOTP server maintains a special set of information about the clients it serves. One key part of this is a table that maps the hardware (layer two, data link layer) addresses of each client to an assigned IP address for that device. The client specifies its hardware address in its request, and the server uses that address to look up the client's IP address and return it to the client. (Other techniques can also be used, but a mapping table is most common.) BOOTP messaging uses the User Datagram Protocol (UDP) as its layer four transport protocol, for a couple of reasons. First, UDP is a lot less complex than the other layer-four transport protocol (TCP) and is ideal for simple request/reply protocols like BOOTP. Second, since the client obviously doesn't know the address of a BOOTP server, the request is broadcast on its local network; UDP supports broadcasts while TCP does not. UDP uses a special well-known (reserved) port number for BOOTP servers: UDP port 67. BOOTP servers listen on port 67 for these broadcast BOOTP requests sent by clients. After processing the request, the server sends a reply back to the client. How this is handled depends on whether the client knows its own address or not:
Home - Table Of Contents - Contact Us The TCP/IP Guide (http://www.TCPIPGuide.com) Version 3.0 - Version Date: September 20, 2005 © Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved. Not responsible for any loss resulting from the use of this site. |