Destination Unreachable ICMP Message

The five separate unreachable functions (codes) are accomplished using this single ICMP unreachable message. All five code types pertain directly to some IP, TCP, or UDP feature and are better described by using Figure 5-13 as an example network.

Assume that Fred is trying to connect to the Web server, which uses TCP as the transport layer protocol. Three of the ICMP unreachable codes would possibly be used by Routers A and B. The other two codes would be used by the Web server. These ICMP codes would be sent to Fred as a result of the packet originally sent by Fred.

A code meaning "Network Unreachable" would be used by Router A if Router A did not have a route to 10.1.2.0/24. The message would be sent by Router A to Fred, in response to Fred's packet destined to 10.1.2.14.

Figure 5-13 Sample Network for Discussing ICMP Unreachable

Figure 5-13 Sample Network for Discussing ICMP Unreachable

Table 5-6

Host Unreachable is a code used if that single host is unavailable. If Router A had a route to 10.1.2.0/24, the packet would get to Router B. However, if the Web server is down, Router B will not get an ARP reply from Web; Router B will send an unreachable back to Fred, with the Host Unreachable code field.

Can't Fragment is the third unreachable code that is likely to be sent by a router. If Router A or Router B needed to fragment the packet, but the Do Not Fragment bit was set in the IP header, the router would send an unreachable back to Fred with the Can't Fragment value in the code field.

If the packet successfully arrives at the Web server, two other unreachable codes are possible. One implies that the protocol above IP, typically TCP or UDP, is not running on that host. This is highly unlikely today. If true, this host would reply with an unreachable with the code field value implying Protocol Unavailable. The final code field value is more likely today. If the server was up but the Web server software was not running, the TCP/IP code on the server would reply with an unreachable with the code field implying Port Unavailable. In other words, the Web server software has not opened a listening socket connection using the Web server well-known port of 80.

Cisco IOS documentation and configuration commands sometimes treat each different code value as a separate message. For example, the documentation lists ping responses, stating something like an "ICMP host unreachable" message. There is no such message, but there is a "destination unreachable" with the Host Unreachable code set. The exam probably will not expect you to know that there is no Host Unreachable message, though.

Table 5-6 summarizes the ICMP unreachable codes. ICMP Unreachable Codes

Unreachable Code

When Used

Typically Sent By—

Network Unreachable

There is no match in a routing table for the destination of the packet.

Router

Host Unreachable

The packet can be routed to a router connected to the destination subnet, but the host is not responding.

Router

Table 5-6 ICMP Unreachable Codes (Continued)

Unreachable Code

When Used

Typically Sent By—

Can't Fragment

The packet has the Don't Fragment bit set, and a router must fragment to forward the packet.

Router

Protocol Unreachable

The packet is delivered to the destination host, but the transport layer protocol is not available on that host.

Endpoint host

Port Unreachable

The packet is delivered to the destination host, but the destination port has not been opened by an application.

Endpoint host

Was this article helpful?

0 0

Post a comment