Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Wikipedia (Time to Live) states:

The time-to-live value can be thought of as an upper bound on the time that an IP datagram can exist in an Internet system. The TTL field is set by the sender of the datagram, and reduced by every router on the route to its destination.

Is it "legal" for a router to reduce the TTL value of the IP packet by more than one?

share|improve this question

2 Answers 2

up vote 1 down vote accepted

Yes, if the router takes more than one second to process the packet. The time to live is decreased by the number of seconds it takes to process the packet and must be decreased by at least one for each device the packet passes through.

Page 30 of RFC 791 states:

Time to Live

The time to live is set by the sender to the maximum time the datagram is allowed to be in the internet system. If the datagram is in the internet system longer than the time to live, then the datagram must be destroyed.

This field must be decreased at each point that the internet header is processed to reflect the time spent processing the datagram. Even if no local information is available on the time actually spent, the field must be decremented by 1. The time is measured in units of seconds (i.e. the value 1 means one second). Thus, the maximum time to live is 255 seconds or 4.25 minutes. Since every module that processes a datagram must decrease the TTL by at least one even if it process the datagram in less than a second, the TTL must be thought of only as an upper bound on the time a datagram may exist. The intention is to cause undeliverable datagrams to be discarded, and to bound the maximum datagram lifetime.

Some higher level reliable connection protocols are based on assumptions that old duplicate datagrams will not arrive after a certain time elapses. The TTL is a way for such protocols to have an assurance that their assumption is met.

share|improve this answer
    
Is it true that in IPv6 it is no longer "legal" to reduce the hop count by more than one? –  Pacerier Jul 3 '12 at 2:19
    
Probably, because in IPv6 the field is termed "hop limit" and not "TTL". –  ultrasawblade Jul 3 '12 at 2:27
    
As far as I am aware, IPv6 routers are not supposed to reduce the hop count by more than one. –  DragonLord Jul 3 '12 at 2:28
    
@ultrasawblade If it is simply "renamed" and the rules aren't changed, then the workings would still have been the same as IPv4 was right? –  Pacerier Jul 3 '12 at 2:31
    
@Pacerier: According to the IPv6 standard the Hop Limit should be reduced by one (and no more than one) in each router. Also you can check here the answer to your second question. –  criziot Jul 3 '12 at 2:56

As originally conceived, the TTL was specified in seconds; if a packet was delayed more than a second in a router, the router would adjust the TTL accordingly. However, this approach is difficult to implement and has never been generally supported. Modern routers simply decrement the TTL by one, no matter what the actual delay, so the TTL is really a hop count.[*7] The recommended default TTL is 64, although values such as 15 and 32 are not uncommon.

[*7] As you will read in Chapter 2, the equivalent field in the IPv6 header has been renamed Hop Limit to more accurately reflect its true usage.

Source: Routing TCP/IP Volume 1 - 2nd Edition - Cisco Press

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.