RFC 1393
Traceroute Using an IP Option
RFC 1393: Traceroute Using an IP Option ๐ฆ
okay bestie, RFC 1393 is here and it's giving classic ๐ Here's the title block tea โ
- Series: Network Working Group
- Number: RFC 1393
- Author: G. Malkin, Xylogics, Inc.
- Date: January 1993
- Status: It defines an Experimental Protocol ๐งช
- Obsoletes/Updates: none listed in this document ๐
Status of this Memo ๐
So this memo defines an Experimental Protocol for the Internet community ๐ They're asking for discussion and suggestions for improvement, so bring your ideas! For the standardization state and status of this protocol, check the current edition of the "IAB Official Protocol Standards." Distribution of this memo is unlimited ๐ซถ
Abstract โจ
Traceroute is a valuable network debugging tool ๐ The way it's currently implemented has the perk of being automatically supported by all of the routers ๐ But it has two problems: the number of packets it generates and how long it takes to run ๐ข
This document specifies a new IP option and ICMP message type. It does the same job as the existing traceroute method, but it generates fewer packets and finishes in a shorter time ๐ Main character energy.
Table of Contents ๐๏ธ
1. Traceroute Today . . . . . . . . . . . . . . . . . . . . . 2
2. Traceroute Tomorrow . . . . . . . . . . . . . . . . . . . . 2
2.1 Basic Algorithm . . . . . . . . . . . . . . . . . . . . . . 2
2.2 IP Traceroute option format . . . . . . . . . . . . . . . . 3
2.3 ICMP Traceroute message format . . . . . . . . . . . . . . 4
3. Protocol . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1 Hop Counts . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Destination Node Operation . . . . . . . . . . . . . . . . 6
3.3 Router Operation . . . . . . . . . . . . . . . . . . . . . 6
4. References . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Security Considerations . . . . . . . . . . . . . . . . . . 7
6. Author's Address . . . . . . . . . . . . . . . . . . . . . 7
1. Traceroute Today ๐ฃ
Okay so the existing traceroute works by sending out a packet with a Time To Live (TTL) of 1. The first hop then sends back an ICMP [1] error message saying the packet couldn't be forwarded because the TTL expired. Next, the packet is resent with a TTL of 2, and the second hop returns the TTL expired message. This keeps going until the destination is reached. The whole point is to record the source of each ICMP TTL exceeded message, so you get a trace of the path the packet took to reach the destination ๐บ๏ธ
The advantage here is that every router already knows how to send TTL exceeded messages, so no special code is required ๐ The disadvantages, though, are giving "too many packets" vibes ๐ There are 2n packets generated, where n is the number of hops. It also takes time to duplicate all the nearer hops with each successive packet, and the path may change during this process. Plus, this algorithm doesn't trace the return path, which may differ from the outbound path ๐ญ
2. Traceroute Tomorrow ๐ฎ
The proposed traceroute would use a different algorithm to hit the same goal: tracing the path to a host ๐ฏ Because the new traceroute uses an ICMP message designed for the purpose, it can make available additional information that the original traceroute user couldn't get ๐ง โจ
2.1 Basic Algorithm ๐
A new IP Traceroute option will be defined. If this option is present in an ICMP Echo (or any other) packet, which we'll call the Outbound Packet, it will cause a router to send the newly defined ICMP Traceroute message to the originator of the Outbound Packet ๐ฌ This way, the originator logs the path of the Outbound Packet with only n+1 packets (instead of 2n) ๐คฏ The algorithm doesn't suffer from a changing path, and it lets you trace the response to the Outbound Packet, which we'll call the Return Packet. That only works if the Outbound Packet's destination preserves the IP Traceroute option in the Return Packet ๐
The downside is that the traceroute function has to be put into the routers. But honestly? This mechanism may be easily ported to a new IP version, so it's a trade-off I'm obsessed with ๐
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 |
+---------------+---------------+---------------+---------------+
Here's the breakdown of each field, bestie ๐ซถ
F(copy to fragments)0(do not copy to fragments)
C(class)2(Debugging & Measurement)
Number18(F+C+Number = 82)
ID Number- An arbitrary number used by the originator of the Outbound Packet to identify the ICMP Traceroute messages. It is not related to the ID number in the IP header ๐ โโ๏ธ
Originator IP Address- The IP address of the originator of the Outbound Packet. This is needed so the routers know where to send the ICMP Traceroute message for Return Packets. It's also needed for Outbound Packets which have a Source Route option ๐บ๏ธ
Outbound Hop Count(OHC)- The number of routers the Outbound Packet has passed through. This field is not incremented by the Outbound Packet's destination ๐ธ
Return Hop Count(RHC)- The number of routers the Return Packet has passed through. This field is not incremented by the Return Packet's destination ๐ฆ
Next up: the ICMP Traceroute message format and the rest of the spec ๐
6. Author's Address โจ
Okay bestie, this is the little signature block at the end where the author tells you where to find them ๐ ๐ Gary Scott Malkin was at Xylogics, Inc. ๐ง It's giving "old-school email address and a landline" energy, which is so iconic ๐๐
Gary Scott Malkin
Xylogics, Inc.
53 Third Avenue
Burlington, MA 01803
Phone: (617) 272-8140
EMail: gmalkin@Xylogics.COM
๐ฆ where this page comes from
- ietf: rfc1393 1993-01
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms