This preview shows page 1. Sign up to view the full content.
Unformatted text preview: eroute requires only a working UDP module at
the destination-no special server application is required.)
The third and major reason is that the room allocated for options in the IP header isn't large
enough today to handle most routes. There is room for only nine IP addresses in the IP
header options field. In the old days of the ARPANET this was adequate, but it is far too
Traceroute uses ICMP and the TTL field in the IP header. The TTL field (time-to-live) is an
8-bit field that the sender initializes to some value. The recommended initial value is
specified in the Assigned Numbers RFC and is currently 64. Older systems would often
initialize it to 15 or 32. We saw in some of the Ping examples in Chapter 7 that ICMP echo
replies are often sent with the TTL set to its maximum value of 255.
Each router that handles the datagram is required to decrement the TTL by either one or the
number of seconds that the router holds onto the datagram. Since most routers hold a file:///D|/Documents%20and%20Settings/bigini/Docu...homenet2run/tcpip/tcp-ip-illustrated/tracerou.htm (1 of 17) [12/09/2001 14.46.47] Traceroute Program datagram for less than a second, the TTL field has effectively become a hop counter,
decremented by one by each router.
RFC 1009 [Braden and Postel 1987] required a router that held a datagram for more than 1
second to decrement the TTL by the number of seconds. Few routers implemented this
requirement. The new Router Requirements RFC [Almquist 1993] makes this optional,
allowing a router to treat the TTL as just a hop count.
The purpose of the TTL field is to prevent datagrams from ending up in infinite loops,
which can occur during routing transients. For example, when a router crashes or when the
connection between two routers is lost, it can take the routing protocols some time (from
seconds to a few minutes) to detect the lost route and work around it. During this time
period it is possible for the datagram to end up in routing loops. The TTL...
View Full Document
- Spring '12