1
2paris-traceroute(1) Paris Traceroute paris-traceroute(1)
3
4
5
7 Paris-Traceroute
8
10 An advanced implementation of traceroute which correctly handles load
11 balancing servers among other things
12
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
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
52 No known bugs. If any are found please feel free to email us.
53
55 Julian Cromarty (julian.cromarty@gmail.com)
56
57
58
59www.paris-traceroute.net 8th June 2012 paris-traceroute(1)