BOOTP Client/Server Messaging and Addressing
(Page 3 of 3)
Retransmission of Lost Messages
The drawback of the simplicity of using UDP for BOOTP messaging is that we get no transport quality features. UDP is unreliable, which means a BOOTP request might be lost before it gets to the server, or the server's response may similarly not get back to the client. Like many other protocols using UDP, BOOTP clients take care of this by using a retransmission timer. If after a certain period of time the client has not received a response, it re-sends its request.
However, BOOTP clients must take care in how they implement their retransmission strategy. Consider a scenario where a network with 200 BOOTP clients loses power. These machines are all pretty much the same, so when the power comes back on they all restart, and all try to send BOOTP requests at about the same time. Most likely, problems will occur due to all these requests; some will be lost, or the server may have to drop some due to overload.
If all the clients use the same amount of time for retransmission, then after that time elapses, a whole bunch of machines will again send requests and recreate the original problem. To avoid this, the BOOTP standard recommends using an exponential backoff scheme for retransmissions, starting with a retransmission interval of 4 seconds and doubling it for successive tries. A randomness element is also added to prevent many devices from overlapping their retransmissions. The idea is very similar to the backoff method used by Ethernet (in fact, the standard even refers to the Ethernet specification).
For example, the first retransmission would occur after a random period of time between 0 and 4 seconds (plus or minus a random amount); a second retransmission, if needed, after a random time interval between 0 and 8 seconds, plus or minus, and so forth. This helps reduce the chances of retransmissions being lost, and also helps ensure BOOTP traffic doesn't bog down the network.
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.