1
2paris-traceroute(1)            Paris Traceroute            paris-traceroute(1)
3
4
5

NAME

7       Paris-Traceroute
8

SYNOPSIS

10       An  advanced  implementation of traceroute which correctly handles load
11       balancing servers among other things
12

DESCRIPTION

14       We introduce Paris traceroute, a new traceroute to respond to load bal‐
15       ancing  routers.  Its  key  innovation  is  to control the probe packet
16       header fields in a manner that allows all probes towards a  destination
17       to  follow the same path in the presence of per-flow load balancing. It
18       also allows a user to distinguish between the presence of per-flow load
19       balancing and per-packet load balancing. Unfortunately, due to the ran‐
20       dom nature of per-packet load balancing, Paris traceroute  cannot  per‐
21       fectly  enumerate  all paths in all situations. But it can do consider‐
22       ably better  than  the  classic  traceroute,  and  it  can  flag  those
23       instances  where  there are doubts. The problem, if one wishes to main‐
24       tain certain header fields constant, is that traceroute still needs  to
25       be able to match response packets to their corresponding probe packets.
26
27       Paris traceroute does this by varying header fields that are within the
28       first 28 octets, but are not used for load balancing. In  the  case  of
29       TCP probes, Paris traceroute varies the sequence number. In UDP probes,
30       it is the checksum field. This requires  manipulating  the  payload  to
31       yield  the  desired checksum, as packets with an incorrect checksum are
32       liable to be discarded. In ICMP probes, it is a combination of the ICMP
33       identifier  and  the sequence number. We carefully set the value of the
34       ICMP identifier and sequence number to keep constant the header  check‐
35       sum  of  all  probes to a destination. Figure 2 summarizes the IP, UDP,
36       and ICMP header fields that are used by load balancers, classic tracer‐
37       oute,  and Paris traceroute. We include the ICMP type field as used for
38       load balancing, even if we cannot  verify  it  experimentally  (routers
39       only repond to one type of probes, which is the ICMP echo request). Our
40       experiments with UDP, TCP, and IPSec probes  do  give  strong  evidence
41       that routers blindly use the first four octets after the IP header com‐
42       bined with the IP fields to do load balancing.
43

OPTIONS

45              -h, --help                                   Displays  help  and
46              usage information
47
48              -a<ALGORITHM>,  --algorithm=<ALGORITHM>       Choose which algo‐
49              rithm to use. Default is "mda".
50

BUGS

52       No known bugs. If any are found please feel free to email us.
53

AUTHOR

55       Julian Cromarty (julian.cromarty@gmail.com)
56
57
58
59www.paris-traceroute.net         8th June 2012             paris-traceroute(1)
Impressum