RFC 1393 (rfc1393) - Page 2 of 7
Traceroute Using an IP Option
Alternative Format: Original Text Document
RFC 1393 Traceroute January 1993
1. Traceroute Today
The existing traceroute operates by sending out a packet with a Time
To Live (TTL) of 1. The first hop then sends back an ICMP [1] error
message indicating that the packet could not be forwarded because the
TTL expired. The packet is then resent with a TTL of 2, and the
second hop returns the TTL expired. This process continues until the
destination is reached. The purpose behind this is to record the
source of each ICMP TTL exceeded message to provide a trace of the
path the packet took to reach the destination.
The advantage of this algorithm, is that every router already has the
ability to send TTL exceeded messages. No special code is required.
The disadvantages are the number of packets generated (2n, where n is
the number of hops), the time it takes to duplicate all the nearer
hops with each successive packet, and the fact that the path may
change during this process. Also, this algorithm does not trace the
return path, which may differ from the outbound path.
2. Traceroute Tomorrow
The proposed traceroute would use a different algorithm to achieve
the same goal, namely, to trace the path to a host. Because the new
traceroute uses an ICMP message designed for the purpose, additional
information, unavailable to the original traceroute user, can be made
available.
2.1 Basic Algorithm
A new IP Traceroute option will be defined. The presence of this
option in an ICMP Echo (or any other) packet, hereinafter referred to
as the Outbound Packet, will cause a router to send the newly defined
ICMP Traceroute message to the originator of the Outbound Packet. In
this way, the path of the Outbound Packet will be logged by the
originator with only n+1 (instead of 2n) packets. This algorithm
does not suffer from a changing path and allows the response to the
Outbound Packet, hereinafter refered to as the Return Packet, to be
traced (provided the Outbound Packet's destination preserves the IP
Traceroute option in the Return Packet).
The disadvantage of this method is that the traceroute function will
have to be put into the routers. To counter this disadvantage,
however, is the fact that this mechanism may be easily ported to a
new IP version.
Malkin