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!

Enjoy The TCP/IP Guide? Get the complete PDF!
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 6 (ICMPv6) Error Message Types and Formats

Previous Topic/Section
ICMPv6 Packet Too Big Messages
Previous Page
Pages in Current Topic/Section
1
2
Next Page
ICMPv6 Parameter Problem Messages
Next Topic/Section

ICMPv6 Time Exceeded Messages
(Page 1 of 2)

The engineers who first designed the Internet Protocol recognized that due to the nature of how routing works on an internetwork, there was always a danger that a datagram might get “lost in the system” and spend too much time being passed from one router to another. They included in IPv4 datagrams a field called Time To Live, which was intended to be set to a time value by the device sending the datagram, and used as a timer to cause the discard of the datagram if it took too long to get it to its destination.

Eventually, the meaning of this field changed so it was used not as a time in seconds but a number of hops through which the datagram was allowed to be sent. In IPv6, the new meaning of this field was formalized when it was renamed Hop Limit. Regardless of name, the field still has the same basic purpose: it restricts how long a datagram can exist on an internetwork by limiting the number of times routers can forward it. This is particularly designed to provide protection against router loops that may occur in large or improperly-configured internetworks. An example of this situation is where Router A thinks datagrams intended for network X should next go to Router B; B thinks they should go to Router C; and C thinks they need to go to A. Without a Hop Limit, such datagrams would circle forever, clogging networks and never accomplishing anything useful, as shown in Figure 154.


Figure 154: An Example of A Router Loop

This diagram shows a simple internetwork consisting of four networks, each of which is served by a router. It is an adaptation of Figure 93, but in this case the routing tables have been set up incorrectly. R1 thinks that it needs to route any traffic intended for network N4 to R3; R3 thinks it goes to R2; and R2 thinks it goes back to R1. This means that when any device tries to send to N4, the datagram will circle this “triangle” until its Hop Limit is reached, at which point an ICMPv6 Time Exceeded message will be generated.

 


Each time a router passes an IPv6 datagram, it decreases the Hop Limit field. If the value ever reaches zero, the datagram expires and is discarded. When this happens, the router that dropped the datagram sends an ICMPv6 Time Exceeded message back to the datagram's originator to inform it that the datagram was dropped. This is basically the same as the ICMPv4 Time Exceeded message. As in the ICMPv4 case, the device receiving the message must decide whether and how to respond to receipt of the message. For example, since the error can be caused by a device using a Hop Limit that was too low, the device may try to re-send the datagram with a higher value before concluding that there is a routing problem and giving up. (See the topic covering the ICMPv4 Time Exceeded message for an illustration of how TTL expiration works.)

Just as with the ICMPv4 equivalent, there is also another “time expiration” situation that ICMPv6 Time Exceeded messages are used for. When an IP message is broken into fragments that are sent independently, the destination device is charged with reassembling the fragments into the original message. One or more fragments may not make it to the destination, however. To prevent the device from waiting forever, it sets a timer when the first fragment arrives. If this timer expires before all of the other fragments are also received, the device gives up on this message. The fragments are tossed out, and a Time Exceeded message is also generated.


Previous Topic/Section
ICMPv6 Packet Too Big Messages
Previous Page
Pages in Current Topic/Section
1
2
Next Page
ICMPv6 Parameter Problem 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.