Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide


NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Searchable, convenient, complete TCP/IP information.
The TCP/IP Guide

Custom Search







Table Of Contents  The TCP/IP Guide
 9  TCP/IP Lower-Layer (Interface, Internet and Transport) Protocols (OSI Layers 2, 3 and 4)
      9  TCP/IP Internet Layer (OSI Network Layer) Protocols
           9  Internet Control Message Protocol (ICMP/ICMPv4 and ICMPv6)
                9  ICMP Message Types and Formats
                     9  ICMP Version 4 (ICMPv4) Error Message Types and Formats

Previous Topic/Section
ICMP Version 4 (ICMPv4) Error Message Types and Formats
Previous Page
Pages in Current Topic/Section
12
3
4
Next Page
ICMPv4 Source Quench Messages
Next Topic/Section

ICMPv4 Destination Unreachable Messages
(Page 3 of 4)

ICMPv4 Destination Unreachable Message Subtypes

There are many different reasons why it may not be possible for a datagram to reach its destination. Some of these may be due to erroneous parameters (like the invalid IP address example mentioned above.) A router might have a problem reaching a particular network for whatever reason. There can also be other more “esoteric” reasons as well why a datagram cannot be delivered.

For this reason, the ICMPv4 Destination Unreachable message type can really be considered a class of related error messages. The receipt of a Destination Unreachable message tells a device that the datagram it sent couldn't be delivered, and the reason for the non-delivery is indicated by the Code field in the ICMP header. Table 89 shows the different Code values, corresponding message subtypes and a brief explanation of each.


Table 89: ICMPv4 Destination Unreachable Message Subtypes

Code Value

Message Subtype

Description

0

Network Unreachable

The datagram could not be delivered to the network specified in the network ID portion of the IP address. Usually means a problem with routing but could also be caused by a bad address.

1

Host Unreachable

The datagram was delivered to the network specified in the network ID portion of the IP address but could not be sent to the specific host indicated in the address. Again, this usually implies a routing issue.

2

Protocol Unreachable

The protocol specified in the Protocol field was invalid for the host to which the datagram was delivered.

3

Port Unreachable

The destination port specified in the UDP or TCP header was invalid.

4

Fragmentation Needed and DF Set

This is one of those “esoteric” codes. J Normally, an IPv4 router will automatically fragment a datagram that it receives if it is too large for the maximum transmission unit (MTU) of the next physical network link the datagram needs to traverse. However, if the DF (Don't Fragment) flag is set in the IP header, this means the sender of the datagram does not want the datagram ever to be fragmented. This puts the router between the proverbial rock and hard place, and it will be forced to drop the datagram and send an error message with this code.

This message type is most often used in a “clever” way, by intentionally sending messages of increasing size to discover the maximum transmission size that a link can handle. This process is called
MTU path discovery.

5

Source Route Failed

Generated if a source route was specified for the datagram in an option but a router could not forward the datagram to the next step in the route.

6

Destination Network Unknown

Not used; Code 0 is used instead.

7

Destination Host Unknown

The host specified is not known. This is usually generated by a router local to the destination host and usually means a bad address.

8

Source Host Isolated

Obsolete, no longer used.

9

Communication with Destination Network is Administratively Prohibited

The source device is not allowed to send to the network where the destination device is located.

10

Communication with Destination Host is Administratively Prohibited

The source device is allowed to send to the network where the destination device is located, but not that particular device.

11

Destination Network Unreachable for Type of Service

The network specified in the IP address cannot be reached due to inability to provide service specified in the Type Of Service field of the datagram header.

12

Destination Host Unreachable for Type of Service

The destination host specified in the IP address cannot be reached due to inability to provide service specified in the datagram's Type Of Service field.

13

Communication Administratively Prohibited

The datagram could not be forwarded due to filtering that blocks the message based on its contents.

14

Host Precedence Violation

Sent by a first-hop router (the first router to handle a sent datagram) when the Precedence value in the Type Of Service field is not permitted.

15

Precedence Cutoff In Effect

Sent by a router when receiving a datagram whose Precedence value (priority) is lower than the minimum allowed for the network at that time.


As you can see in that table, not all of these codes are actively used at this time. For example, code 8 is obsolete and code 0 is used instead of 6. Also, some of the higher numbers related to the Type Of Service field aren't actively used because Type Of Service isn't actively used.

Key Concept: ICMPv4 Destination Unreachable messages are used to inform a sending device of a failure to deliver an IP datagram. The message’s Code field provides information about the nature of the delivery problem.



Previous Topic/Section
ICMP Version 4 (ICMPv4) Error Message Types and Formats
Previous Page
Pages in Current Topic/Section
12
3
4
Next Page
ICMPv4 Source Quench Messages
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



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.