|ICMP type 30, Traceroute|
|Protocol type:||Transport layer control protocol.|
|Base protocol:||ICMP, Internet Control Message Protocol.|
|Related IP option:||Traceroute|
|Links:||IANA: ICMP parameters.|
This message is generated in response to an IP packet carrying the Traceroute option.
RFC 1393, page 6:
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.
RFC 1393, page 2:
A new IP Traceroute option. 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.
RFC 1393, page 5:
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.
The TTL of the Outbound Packet should be set to the default value specified in "Assigned Numbers".
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.
RFC 1812, page 131:
A router SHOULD provide the ability to initiate a traceroute.
|MAC header||IP header||ICMP message 30|
|Type||Code||ICMP header checksum|
|Outbound Hop Count||Return Hop Count|
|Output Link Speed|
|Output Link MTU|
Type. 8 bits. Set to 30.
Code. 8 bits.
|0||Outbound Packet successfully forwarded.|
|1||No route for Outbound Packet. The packet was discarded.|
ICMP Header Checksum.
The 16 bit one's complement of the one's complement sum of all 16 bit words in the message. When the checksum is computed, the checksum field should first be set to 0. When the data packet is transmitted, the checksum is computed and inserted into this field. When the data packet is received, the checksum is again computed and verified against the checksum field. If the two checksums do not match then an error has occurred.
The ID Number as copied from the ICMP Traceroute option of the packet which caused this Traceroute message to be sent. This is NOT related to the ID number in the IP header.
unused. 16 bits.
Outbound Hop Count.
The Outbound Hop Count as copied from the IP Traceroute option of the packet which caused this Traceroute message to be sent.
Return Hop Count.
The Return Hop Count as copied from the IP Traceroute option of the packet which caused this Traceroute message to be sent.
Output Link Speed.
The speed in bytes per second of the link over which the Outbound/Return Packet will be sent. If this value cannot be determined, the field should be set to zero.
Output Link MTU.
The MTU in bytes of the link over which the Outbound/Return Packet will be sent. MTU refers to the data portion (includes IP header; excludes datalink header/trailer) of the packet. If this value cannot be determined, this field should be set to zero.
[RFC 1393] Traceroute Using an IP Option.
[RFC 1812] Requirements for IP Version 4 Routers.
[RFC 1009] Requirements for Internet Gateways.
[RFC 1716] Towards Requirements for IP Routers.