Network Working Group G. Malkin
Request for Comments: 1393 Xylogics, Inc.
January 1993
Traceroute Using an IP Option
Malkin [Page 1]
RFC 1393 Traceroute January 1993 1. Traceroute TodayThe 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.
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).
Malkin [Page 2]
RFC 1393 Traceroute January 1993 2.2 IP Traceroute option format 0 8 16 24 +-+-+-+-+-+-+-+-+---------------+---------------+---------------+ |F| C | Number | Length | ID Number | +-+-+-+-+-+-+-+-+---------------+---------------+---------------+ | Outbound Hop Count | Return Hop Count | +---------------+---------------+---------------+---------------+ | Originator IP Address | +---------------+---------------+---------------+---------------+F (copy to fragments)
Malkin [Page 3]
RFC 1393 Traceroute January 1993 2.3 ICMP Traceroute message format 0 8 16 24 +---------------+---------------+---------------+---------------+ | Type | Code | Checksum | +---------------+---------------+---------------+---------------+ | ID Number | unused | +---------------+---------------+---------------+---------------+ | Outbound Hop Count | Return Hop Count | +---------------+---------------+---------------+---------------+ | Output Link Speed | +---------------+---------------+---------------+---------------+ | Output Link MTU | +---------------+---------------+---------------+---------------+Type
Malkin [Page 4]
RFC 1393 Traceroute January 1993
Output Link Speed
3. Protocol
The Outbound Packet which is used to carry the IP Traceroute option should use no special Type Of Service (TOS) or Precedence, unless the purpose is to trace the path of packets with special TOS or Precedence values.
3.1 Hop Counts
The hop counts ultimately provide information on the length of the outbound and return paths to the destination. They also provide a means of determining whether or not any ICMP Traceroute messages have been lost. For example, if a Traceroute message with an OHC of 4 is followed by a message with an OHC of 6, then the the message with an OHC of 5 was lost. This is why simply counting Traceroute messages is not sufficient for determining path length.
Malkin [Page 5]
RFC 1393 Traceroute January 1993 3.2 Destination Node OperationWhen a node receives an Outbound Packet with an IP Traceroute option, the Return Packet, if such is required (e.g., ICMP Echo Request/Reply), should also carry that option. The values in the ID Number, OHC, and Originator Address fields should be copied into the Return Packet. The value of the RHC field should be set to zero.
3.3 Router Operation
When a router forwards a packet with an IP Traceroute option, it should send an ICMP Traceroute message to the host in the Originator IP Address field of the option. If the value of the RHC field is 0xFFFF then the packet is an Outbound Packet and the OHC should be incremented; otherwise, the RHC field should be incremented. The Traceroute message should reflect the incremented hop count. The Output Link Speed field should be set to the speed, in OCTETS per second, of the link over which the Outbound/Return Packet will be sent (e.g., 1,250,000 for an Ethernet) or zero if the output link speed cannot be determined. The Output Link MTU field should be set to the MTU of the link over which the Outbound/Return Packet will be sent or zero if the MTU cannot be determined.
Malkin [Page 6]
RFC 1393 Traceroute January 1993 4. References[1] Postel, J., "Internet Control Message Protocol", STD 5, RFC 792,
5. Security Considerations
Security issues are not discussed in this memo.
6. Author's Address
Gary Scott Malkin Xylogics, Inc. 53 Third Avenue Burlington, MA 01803