This preview shows page 1. Sign up to view the full content.
Unformatted text preview: is a significant time lag, as between each
5-second retransmission in this example, we'll designate that with a squiggle on both sides
of the time line. When UDP or TCP data is being transmitted, we show that packet with a
Why does the TFTP client keep retransmitting its request when the ICMP messages are
being returned? An element of network programming is occurring in which BSD systems file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/icmp_int.htm (13 of 16) [12/09/2001 14.46.43] Chapter 6. ICMP: Internet Control Message Protocol don't notify user processes using UDP of ICMP messages that are received for that socket
unless the process has issued a connect on that socket. The standard BSD TFTP client does
not issue the connect, so it never receives the ICMP error notification.
Another point to notice here is the poor retransmission timeout algorithm used by this TFTP
client. It just assumes that 5 seconds is adequate and retransmits every 5 seconds, for a total
of 25 seconds. We'll see later that TCP has a much better algorithm.
This old-fashioned timeout and retransmission algorithm used by the TFTP client is forbidden by the Host
Requirements RFC. Nevertheless, all three systems on the author's subnet, and Solaris 2.2 still use it. AIX
3.2.2 applies an exponential backoff to its timeout, sending packets at 0, 5, 15, and 35 seconds, which is the
recommended way We talk much more about timeouts in Chapter 21. Finally note that the ICMP messages are returned about 3.5 ms after the UDP datagram is
sent, which we'll see in Chapter 7 is similar to the round-trip times for Ping replies. 6.6 4.4BSD Processing of ICMP Messages
Since ICMP covers such a wide range of conditions, from fatal errors to informational
messages, each ICMP message is handled differently, even within a given implementation.
Figure 6.12 is a redo of Figure 6.3, showing the handling performed by 4.4BSD for each of
the possible ICMP messages.
If the final column specifies the kernel, that ICMP message is handled by t...
View Full Document
This test prep was uploaded on 04/04/2014 for the course ECE EL5373 taught by Professor Guoyang during the Spring '12 term at NYU Poly.
- Spring '12