This preview shows page 1. Sign up to view the full content.
Unformatted text preview: er of the datagram that caused the error is sent back is because in
this IP header is the protocol field that lets ICMP know how to interpret the 8 bytes that
follow (the UDP header in this example). When we look at the TCP header (Figure 17.2)
we'll see that the source and destination port numbers are contained in the first 8 bytes of
the TCP header. The general format of the ICMP unreachable messages is shown in Figure
6.10. Figure 6.10 ICMP unreachable message.
In Figure 6.3 we noted that there are 16 different ICMP unreachable messages, codes 0
through 15. The ICMP port unreachable is code 3. Also, although Figure 6.10 indicates that
the second 32-bit word in the ICMP message must be 0, the Path MTU Discovery
mechanism (Section 2.9) allows a router to place the MTU of the outgoing interface in the
low-order 16 bits of this 32-bit value, when code equals 4 ("fragmentation needed but the
don't fragment bit is set"). We show an example of this error in Section 11.6.
Although the rules of ICMP allow a system to return more than the first 8 bytes of the data portion of the
IP datagram that caused the ICMP error, most Berkeley-derived implementations return exactly 8 bytes.
The Solaris 2.2 ip_icmp_return_data_bytes option returns the first 64 bytes of data by default
(Section E.4). tcpdump Time Line
Throughout the text we'll also display the tcpdump output in a time line diagram as shown file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/icmp_int.htm (12 of 16) [12/09/2001 14.46.43] Chapter 6. ICMP: Internet Control Message Protocol in Figure 6.11. Figure 6.11 Time line of TFTP request to an invalid port.
Time increases down the page and the labels on the far left of the figure are the same time
values as in our tcpdump output (Figure 6.8). The labels at the top are the hostnames and
port numbers for each side of the time line. Be aware that the y-axis down the page is not
exactly proportional to the time value. When there...
View Full Document
- Spring '12