Session

Enhancing Ping And Traceroute

Speakers

Ron Bonica

Label

Nuts and Bolts

Session Type

Talk

Contents

Description

PING and TRACEROUTE are the most commonly used IP debugging utilities and have served us well over the years. They do however have shortcomings and in this talk we are going to describe improvements for these utilities.

IETF RFC 8335 with a diagnostic tool called PROBE.
PROBE is similar to PING in that it can be used to query the status of a probed interface, but it differs from PING in that it does not require bidirectional connectivity between the probing and probed interfaces. Instead, PROBE requires bidirectional connectivity between the probing interface and a proxy interface.  The proxy interface can reside on the same node as the probed interface, or it can reside on a node to which the probed interface is directly connected.

IETF RFC 5837 enhances traceroute by defining a data structure that can be appended to selected ICMP messages.  The ICMP extension defined can be used to identify any combination of the following: the IP interface upon which a datagram arrived, the sub-IP component of an IP interface upon which a datagram arrived, the IP interface through which the datagram would have been forwarded had it been forwardable, and the IP next hop to which the datagram would have been forwarded.
Devices can use this ICMP extension to identify interfaces and their components by any combination of the following: ifIndex, IPv4 address, IPv6 address, name, and MTU.  ICMP-aware devices can use these extensions to identify both numbered and unnumbered interfaces.

We have made contributions to the Linux kernel and user space tooling to enable both these extensions. Our talk will describe the tooling details and contributions involved.