| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
BOOTP Client/Server Messaging and Addressing (Page 2 of 3) Use of Broadcasts and Ports The fact that BOOTP servers may need to broadcast back to the client necessitates a bit of a change from the way most TCP/IP protocols use client ports. Recall that normally, the client in a client/server transaction using UDP or TCP generates a temporary, or ephemeral port number that it uses as the source port in its request. The server sends the reply back to the client's IP address using that ephemeral port number. Ephemeral port numbers must be unique for a particular IP address, but may not necessarily be unique across all the devices on a network. For example, device A may be using ephemeral port number 1,248 for an HTTP request to a Web server, while device B may be using port number 1,248 on its TCP/IP stack to send a DNS request. Since the server in BOOTP is broadcasting, it is not targeting a particular device with a unicast transmission. This means it cannot safely send to an ephemeral port number: some other device on the network may have selected the same ephemeral port number for some other transaction and may mistake the BOOTP server's response as being intended for itself. To avoid this problem, another well-known port number is used just for BOOTP clients: UDP port 68. Clients listen on this port for broadcast or unicast transmissions, while of course devices that have not sent a BOOTP request will ignore it. This dual broadcast BOOTP communication process is illustrated in Figure 254.
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||