A Practical Guide To (Correctly) Troubleshooting With Traceroute
A Practical Guide To (Correctly) Troubleshooting With Traceroute
Introduction
Troubleshooting T bl h ti problems bl on th the I Internet? t t?
The number one go-to tool is traceroute
Every OS comes with a traceroute tool of some kind. There are thousands of websites which can run a traceroute. There are dozens of visual visual traceroute traceroute tools available, available both commercially and free.
Problem Statement
So whats what s wrong with traceroute?
Most modern commercial networks are actually well run
Simple issues like congestion or routing loops are becoming a smaller percentage of the total issues encountered. y, issues are complex p enough g that a nave More commonly, traceroute interpretation is utterly useless.
Traceroute Topics
Topics to discuss
How traceroute works Interpreting DNS in traceroute Understanding network latency ICMP prioritization and rate rate-limiting limiting Asymmetric forwarding paths L db Load balancing l i across multiple lti l paths th Traceroute and MPLS
TTL=1
TTL=2
TTL=3
TTL=4
TTL=5
SRC
Router 1
Router 2
Router 3
Router 4
DST
6
Layer 4 hashing can send each probe down a different path This may or may not be visible to traceroute
Yes in the case of ECMP (Layer 3 Equal-Cost Multi-Path) load-balancing. No in the case of LAG (Layer 2 802.3ad/Port-channel) load-balancing.
But the result is the same, , each probe p can behave in different ways, y , leading to different results for the same TTL hop.
By Richard Steenbergen, nLayer Communications, Inc. 8
SRC
Router 1
Router 2
Traceroute packet with TTL of 1 enters router via the ingress interface. Router decrements TTL to 0, drops packet, generates ICMP TTL Exceed
ICMP packet dst address is set to the original traceroute probe source (SRC) ICMP packet src address is set to the IP of the ingress router interface. Traceroute shows a result based on the src address of the ICMP packet. The above traceroute will read: 172.16.2.1 10.3.2.2 You have NO visibility into the return path or the egress interface used.
Random factoid: This behavior is actually non non-standard. standard RFC1812 says the ICMP source MUST be from the egress iface. If obeyed, this would completely change traceroute results.
By Richard Steenbergen, nLayer Communications, Inc. 10
11
Examples:
Dallas Texas = DFW San Jose California = SJC
Toronto ON
Airport Code: YYZ (Pearson) or YTZ (City Center) CLLI Code: TOROON p Arbitrary y Code: TOR Example
Frequently based on the good intentions of making thing readable in plain English, even though these may not follow any standards.
By Richard Steenbergen, nLayer Communications, Inc. 16
Other Codes WDC, DCA, ASH CHI DAL HOU LA NEW, NWK NYC, , NYM SJO, SV, SF PAIX, PA
Other Codes
Examples:
xe-11-1-0.edge1.NewYork1.Level3.net e 11 1 0 edge1 Ne York1 Le el3 net
XE-#/#/# is Juniper 10GE port. The device has at least 12 slots. Its s at least a 40G/slot router since it has a 10GE PIC in slot 1 1. It It must be Juniper MX960, no other device could fit this profile.
By Richard Steenbergen, nLayer Communications, Inc. 19
(*) Some early Juniper 10GE interfaces on some platforms are named GE
By Richard Steenbergen, nLayer Communications, Inc. 20
Generally speaking, you can guess the context and get a basic understanding of the roles.
Core routers CR, , Core, , GBR, , BB, , CCR, , EBR Peering routers BR, Border, Edge, IR, IGR, Peer Customer e routers oute s AR, , Aggr, gg , Cust, C CAR, , HSA, S ,G GW Custo
By Richard Steenbergen, nLayer Communications, Inc. 21
These tend to be areas where capacity and routing are the most difficult, difficult and thus likely to be problems. problems It also helps to know who to blame.
SRC
ar5.DCA3
Cogent Router
24
25
Queuing Delay
The time spent in a routers queues waiting for transmission. This is mostly related to line contention (full interfaces) interfaces), since without congestion there is very little need for a measurable queue.
Propagation p g Delay y
The time spent in flight, in which the signal is traveling over the transmission medium. This is primarily a limitation based on the speed of light light, or other electromagnetic propagation delays delays.
By Richard Steenbergen, nLayer Communications, Inc. 26
Transitions between interface speeds p also require q q queuing. g As an interface reaches saturation, the time spent in queue rises rapidly. When an interface is extremely full, a packet may be queued for many hundreds or thousands of milliseconds (depending on the router) router). Thus queuing delays are often associated with congestion (full interfaces).
By Richard Steenbergen, nLayer Communications, Inc. 28
200,000 km/sec = 200km (or 125 miles) per millisecond. Or, Or 100 km (or 62 62.5 5 miles) per 1 ms of round round-trip trip delay. delay
Example:
A round-trip around the world at the equator, via a perfectly straight fiber route, would take ~400ms due solely to speed speed-of-light of light propagation delays delays.
By Richard Steenbergen, nLayer Communications, Inc. 29
Another example:
5 cr2.wswdc.ip.att.net (12.122.3.38) [MPLS: Label 17221 Exp 0] 8 msec 8 msec 8 msec 6 tbr2.wswdc.ip.att.net tbr2 wswdc ip att net (12.122.16.102) (12 122 16 102) [MPLS: Label 32760 Exp 0] 8 msec 8 msec 8 msec 7 ggr3.wswdc.ip.att.net (12.122.80.69) 8 msec 8 msec 8 msec 8 192.205.34.106 [AS 7018] 228 msec 228 msec 228 msec p g ( (154.54.3.222) )[ [AS 174] ] 228 msec 228 msec 228 msec 9 te1-4.mpd01.iad01.atlas.cogentco.com
31
Items #1 and #3 are based on actual network conditions. But Item #2 is not. not
It is by definition impossible for item #2 to cause impact to real traffic. Only the traceroute probes and responses themselves are affected. This results in cosmetic issues which are mistaken for real issues.
32
Foundry MLX/XMR
Hard-coded limit of 400pps per interface.
Force10 E-series
Hard-coded limit of 200pps or 600pps per interface.
By Richard Steenbergen, nLayer Communications, Inc. 35
Cisco GSR
Hard-coded rate-limit per line-card, ICMP done on LC CPU.
Latency spikes in the middle of a traceroute mean absolutely nothing if they do not continue forward.
At worst t it could ld be b the th result lt of f an asymmetric t i path. th But it is probably an artificial rate-limit or prioritization issue. definition, if the regularly forwarded packets are being By definition affected you should see the issue persist on all future hops.
By Richard Steenbergen, nLayer Communications, Inc. 37
38
Asymmetric Paths
Routing R ti on th the Internet I t t has h no guarantee t of f symmetry t
In fact, it is almost always going to be asymmetric.
39
San Jose CA
By Richard Steenbergen, nLayer Communications, Inc.
Washington DC
41
How can you prove the issue isnt between GX and Sprint?
Run a traceroute using your side of the GX /30 as your src address. address This /30 comes from your provider (GX)s larger aggregate block. The reverse path will be guaranteed to go Sprint->GBLX If the latency doesnt persist, you know the issue is on the reverse.
By Richard Steenbergen, nLayer Communications, Inc. 42
43
Some platforms can be configured to default to a loopback address rather than the egress interface.
For example, Juniper using system default-address-selection.
Clock granularity
Some platforms may be less accurate than others.
For example, Cisco IOS has a 4ms latency granularity.
44
45
SRC
Router A
Router B1
Router C1
Router D
DST
Router B2
Router C2
Flow Fl hashing h hi keeps k a single i l TCP/UDP fl flow mapped dt to a single i l path. th UDP/TCP traceroute probes with incrementing layer 4 ports look like unique flows, which may cause them to go down different parallel paths.
Example: 6 ldn-bb2-link.telia.net (80.91.251.14) 74.139 ms 74.126 ms ldn bb1 link telia net (80 ldn-bb1-link.telia.net (80.91.249.77) 91 249 77) 74 74.144 144 ms 7 hbg-bb1-link.telia.net (80.91.249.11) 89.773 ms hbg-bb2-link.telia.net (80.91.250.150) 88.459 ms 88.456 ms 8 s s-bb2-link.telia.net bb2 link telia net (80 (80.91.249.13) 91 249 13) 105 105.002 002 ms s-bb2-link.telia.net (80.239.147.169) 102.647 ms 102.501 ms
By Richard Steenbergen, nLayer Communications, Inc. 46
Completely harmless, harmless flow hashing protects against reordering, but the resulting traceroute is potentially confusing. confusing
By Richard Steenbergen, nLayer Communications, Inc. 47
SRC
Router A
Router B1
Router C
DST
Router B2
Router X
A far f more confusing f i scenario i i is equal-cost l t unequal-length ll th paths. th This makes the traceroute appear to jump back and forth between hops It can be extremely confusing to end users and very difficult to parse parse. An example traceroute would end up looking something like this:
1 2 3 4 5 A B1 C D E A B2 X C D A B1 C D E
By Richard Steenbergen, nLayer Communications, Inc. 48
49
50
TTL=1
TTL=2
TTL=3
TTL=4
TTL=5
SRC
Router 1
Router 2
Router 3
Router 4
DST
All returned ICMP packets must travel to the end of the LSP before going back to the sender. y hop p in the LSP appear pp to have the same RTT as the final hop. p This makes every
ICMP Dest Unreach ICMP TTL Exceed ICMP TTL Exceed ICMP TTL Exceed ICMP TTL Exceed
TTL=1
TTL=2
TTL=3
TTL=4
TTL=5
SRC
Router 1
Router 2
Router 3
Router 4
DST
52
53