I received my PhD from UC, Berkeley, was on faculty at Yale, and joined
UW faculty in 2005. I work primarily at the boundary between the theory
and practice of distributed systems and computer networks. My current
research interests include peer-to-peer systems, Internet measurements,
systems security, and network protocol design
Traceroute is the most widely used Internet diagnostic tool today.
Network operators use it to help identify routing failures, poor
performance, and router misconfigurations. Researchers use it to map
the Internet, predict performance, geolocate routers, and classify the
performance of ISPs. However, traceroute has a fundamental limitation
that affects all these applications: it does not provide reverse path
information. Although various public traceroute servers across the
Internet provide some visibility, no general method exists for
determining a reverse path from an arbitrary destination.
We address this longstanding limitation by building a reverse
traceroute tool. Our tool provides the same information as
traceroute, but for the reverse path, and it works in the same case as
traceroute, when the user may lack control of the destination. Our
approach combines a number of ideas: source spoofing, IP timestamp and
record route options, and multiple vantage points. In the median case
our tool finds 87% of the hops seen in a directly measured traceroute
along the same path, versus only 38% if one simply assumes the path is
symmetric, a common fallback given the lack of available tools. We
then use our reverse traceroute tool to study previously unmeasurable
aspects of the Internet: we uncover more than a thousand peer-to-peer
AS links invisible to current topology mapping efforts, we examine a
case study of how a content provider could use our tool to
troubleshoot poor path performance, and we measure the latency of
individual backbone links with, on average, sub-millisecond precision