value by one. When the TTL of the datagram value
reaches zero, the packet is discarded. ICMP uses a time
exceeded message to notify the source device that the TTL of
the datagram has been exceeded.
Content 8.1
Overview of TCP/IP Error Message 8.1.7 Echo
messages As with any type of packet, ICMP messages have
special formats. Each ICMP message type shown in Figure has its
own unique characteristics, but all ICMP message formats start
with these same three fields: The type field indicates the
type of ICMP message being sent. The code field includes
further information specific to the message type. The checksum
field, as in other types of packets, is used to verify the
integrity of the data. Figure shows the message format for the
ICMP echo request and echo reply messages. The relevant type
and code numbers are shown for each message type. The
identifier and sequence number fields are unique to the echo
request and echo reply messages. The identifier and sequence
fields are used to match the echo replies to the corresponding
echo request. The data field contains additional information
that may be a part of the echo reply or echo request message.
Interactive Media Activity Drag and Drop: ICMP ECHO
Message Format After completing this activity, the student will
be able to ICMP ECHO message format.
Content 8.1
Overview of TCP/IP Error Message 8.1.8
Destination unreachable message Datagrams cannot always be
forwarded to their destinations. Hardware failures, improper
protocol configuration, down interfaces and incorrect routing
information are some of the reasons successful delivery may not
be possible. In these cases, ICMP delivers back to the sender a
destination unreachable message indicating to the sender that
the datagram could not be properly forwarded. Figure shows an
ICMP destination unreachable message header. The value of 3 in
the type field indicates it is a destination unreachable
message. The code value indicates the reason the packet could
not be delivered. Figure has a code value of 0, indicating the
network was unreachable. Figure shows the meaning for each
possible code value in a destination unreachable message. A
destination unreachable message may also be sent when packet
fragmentation is required in order to forward a packet.
Fragmentation is usually necessary when a datagram is forwarded
from a Token-Ring network to an Ethernet network. If the
datagram does not allow fragmentation, the packet cannot be
forwarded, so a destination unreachable message will be sent.
Destination unreachable messages may also be generated if IP
related services such as FTP or Web services are unavailable.
To effectively troubleshoot an IP network, it is necessary to
understand the various causes of ICMP destination unreachable
messages.
Content 8.1 Overview of TCP/IP Error
Message 8.1.9 Miscellaneous error
reporting Devices that process datagrams may not be able to
forward a datagram due to some type of error in the header.
This error does not relate to the state of the destination host
or network but still prevents the datagram from being processed
and delivered. In this case, an ICMP type 12 parameter problem
message is sent to the source of the datagram. Figure shows the
parameter problem message header. The parameter problem message
includes the pointer field in the header. When the code value
is 0, the pointer field indicates the octet of the datagram
that produced the error.
Content 8.2 TCP/IP
Suite Control Messages 8.2.1 Introduction to
control messages The Internet Control Message Protocol
(ICMP) is an integral part of the TCP/IP protocol suite. In
fact, all IP implementations must include ICMP support. The
reasons for this are simple. First, since IP does not guarantee
delivery, it has no inherent method to inform hosts when errors
occur. Also, IP has no built-in method to provide informational
or control messages to hosts. ICMP performs these functions for
IP. Unlike error messages, control messages are not the results
of lost packets or error conditions which occur during packet
transmission. Instead, they are used to inform hosts of
conditions such as network congestion or the existence of a
better gateway to a remote network. Like all ICMP messages,
ICMP control messages are encapsulated within an IP datagram.
ICMP uses IP datagrams in order to traverse multiple networks.
Multiple types of control messages are used by ICMP. Some of
the most common are shown in Figure . Many of these are
discussed in this section.
Content 8.2 TCP/IP
Suite Control Messages 8.2.2 ICMP
redirect/change requests A common ICMP control message is
the ICMP redirect/change request. This type of message can
only be initiated by a gateway, which is a term commonly used
to describe a router. All hosts that communicate with multiple
IP networks must be configured with a default gateway. This
default gateway is the address of a router port connected to
the same network as the host. Figure displays a host connected
to a router that has access to the Internet. Once configured
with the IP address of Fa 0/0 as its default gateway, Host B
uses that IP address to reach any network not directly
connected to it. Normally, Host B is connected to a single
gateway. However, in some circumstances, a host connects to a
segment that has two or more directly connected routers. In
this case, the default gateway of the host may need to use a
redirect/change request to inform the host of the best path to
a certain network. Figure shows a network where ICMP redirects
would be used. Host B sends a packet to Host C on network
10.0.0.0/8. Since Host B is not directly connected to the same
network, it forwards the packet to its default gateway, Router
A. Router A finds the correct route to network 10.0.0.0/8 by
looking into its route table. It determines that the path to
the network is back out the same interface the request to
forward the packet came from. It forwards the packet and sends
an ICMP redirect/change request to Host B telling it to use
Router B as the gateway to forward all future requests to
network 10.0.0.0/8. Default gateways only send ICMP
redirect/change request messages if the following conditions
are met: - The interface on which the packet comes into
the router is the same interface on which the packet gets
routed out.
- The subnet/network of the source IP
address is the same subnet/network of the next-hop IP address
of the routed packet.
- The datagram is not
source-routed.
- The route for the redirect is not
another ICMP redirect or a default route.
- The router
is configured to send redirects. (By default, Cisco routers
send ICMP redirects. The interface subcommand no ip
redirects will disable ICMP redirects.)
The
ICMP redirect/change request uses the format shown in Figure .
It has an ICMP type code of 5. In addition, it has a code value
of 0, 1, 2, or 3. The Router Internet Address field in the ICMP
redirect is the IP address that should be used as the default
gateway for a particular network. In the example in Figure ,
the ICMP redirect sent from Router A to Host B would have a
Router Internet Address field value of 172.16.1.200, which is
the IP address of E0 on Router B. Web Links Internet
Protocol http://www.cs.panam.edu/~meng/
Course/CS6175.Protocol/ Note/ip/ip.html
Content
8.2 TCP/IP Suite Control Messages 8.2.3
Clock synchronization and transit time estimation The
TCP/IP protocol suite allows systems to connect to one another
over vast distances through multiple networks. Each of these
individual networks provides clock synchronization in its own
way. As a result, hosts on different networks who are trying to
communicate using software that requires time synchronization
can sometimes encounter problems. The ICMP timestamp message
type is designed to help alleviate this problem. The ICMP
timestamp request message allows a host to ask for the current