A Practical Guide To (Correctly) Troubleshooting With Traceroute
A Practical Guide To (Correctly) Troubleshooting With Traceroute
By Richard Steenbergen 6
Traceroute and Latency Calculation
By Richard Steenbergen 7
Traceroute – What Hops Are You Seeing?
ICMP TTL Exceed ICMP Return Interface ICMP Return Interface
192.168.2.1/30 192.168.3.1/30
ICMP TTL Exceed
TTL=1 TTL=2
By Richard Steenbergen 10
Interpreting Traceroute - Location
By Richard Steenbergen 12
Location Identifiers – CLLI Codes
By Richard Steenbergen 13
Location Identifiers – Arbitrary Values
By Richard Steenbergen 15
Common Locations – Non-US Major Cities
Location Name Airport Codes CLLI Code (*) Some Other Codes
Amsterdam NL AMS AMSTNL
Frankfurt GE FRA FRNKGE
Hong Kong HK HKG NEWTHK HK
London UK LHR LONDEN LON
Madrid SP MAD MDRDSP
Montreal CA YUL MTRLPQ MTL
Paris FR CDG PARSFR PAR
Singapore SG SIN SNGPSI SNG
Seoul KR GMP, ICN SEOLKO SEL
Sydney AU SYD SYDNAU
Tokyo JP NRT TOKYJP TYO, TKO
Toronto CA YYZ, YTC TOROON TOR
By Richard Steenbergen 16
Interpreting DNS – Interface Types
• Most networks will try to put interface info in DNS
• Often just to help them troubleshoot their own networks.
• This may not always be up to date though.
• Many large networks use automatically generated DNS.
• Others are surprisingly bad at keeping DNS data updated.
• Can potentially help you identify the type of interface
• As well as capacity, and maybe even the make/model of router.
• Examples:
• xe-11-1-0.edge1.NewYork1.Level3.net
• XE-#/#/# is Juniper 10GE port. The device has at least 12 slots.
• It’s at least a 40G/slot router since it has a 10GE PIC in slot 1.
• It must be Juniper MX960, no other device could fit this profile.
By Richard Steenbergen 17
Common Interface Naming Conventions
Interface Type Cisco IOS Cisco IOS XR Juniper
Fast Ethernet Fa#/# fe-#/#/#
Gigabit Ethernet Gi#/# Gi#/#/#/# ge-#/#/#
10 Gigabit Ethernet Te#/# Te#/#/#/# xe-#/#/#
SONET Pos#/# POS#/#/#/# so-#/#/#
T1 Se#/# t1-#/#/#
T3 t3-#/#/#
Ethernet Bundle Po# / Port-channel# BE#### ae#
SONET Bundle PosCh# BS#### as#
Tunnel Tu# TT# or TI# ip-#/#/# or gr-#/#/#
ATM ATM#/# AT#/#/#/# at-#/#/#
Vlan Vl### Gi#/#/#/#.### ge-#-#-#.###
By Richard Steenbergen 18
Interpreting DNS – Router Types/Roles
By Richard Steenbergen 19
Network Boundaries and Relationships
By Richard Steenbergen 20
Network Boundaries and Relationships
• It’s easy to spot where the DNS changes
• 4 te1-2-10g.ar3.DCA3.gblx.net (67.17.108.146)
• 5 sl-st21-ash-8-0-0.sprintlink.net (144.232.18.65)
• Or, look for “remote party” name in the DNS
• 4 po2-20G.ar5.DCA3.gblx.net (67.16.133.90)
• 5 cogent-1.ar5.DCA3.gblx.net (64.212.107.90)
• Common where one side controls the /30 DNS, and
the other side doesn’t provide interface information.
• For more info, look at the other side of the /30
• > nslookup 64.212.107.89
• Result: te2-3-10GE.ar5.DCA3.gblx.net
By Richard Steenbergen 21
Understanding Network Latency
Understanding Network Latency
• 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 (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
9 te1-4.mpd01.iad01.atlas.cogentco.com (154.54.3.222) [AS 174] 228 msec 228 msec 228 msec
Washington DC to Washington DC in 220ms? Nope!
By Richard Steenbergen 30
Prioritization and Rate Limiting
Prioritization and Rate-Limiting
By Richard Steenbergen 32
Understanding “To It” vs. “Through It”
By Richard Steenbergen 40
Asymmetric Paths with Multiple Exits
By Richard Steenbergen 41
Using Source Address in your Traceroute
By Richard Steenbergen 43
Multiple Paths and Load Balancing
Multiple Paths
• Remember, every probe is an independent trial.
• UDP/TCP traceroute probes typically use a different layer
4 port every time, to identify which probe is which.
• Equal-Cost Multi-Path (ECMP) may make multiple
potential paths show up for each “hop” TTL value.
• Example:
6 ldn-bb2-link.telia.net (80.91.251.14) 74.139 ms 74.126 ms
ldn-bb1-link.telia.net (80.91.249.77) 74.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-bb2-link.telia.net (80.91.249.13) 105.002 ms
s-bb2-link.telia.net (80.239.147.169) 102.647 ms 102.501 ms
• Of the 3 probes, 2 go over one path, 1 goes over another.
By Richard Steenbergen 45
Multiple Paths - Examples
By Richard Steenbergen 47
How To Handle Multiple Paths
• When in doubt, try looking at just a single probe.
• Set your traceroute client to only send 1 probe per hop.
• For many Unix implementations, the command is “-q 1”.
• JUNOS CLI lacks this, but you can do it in CLI from their unix shell.
• But be aware that this may not be the path which your actual
traffic forwards over.
• And remember, EVERY PROBE is an independent trial.
• Even when doing 1 probe per hop, you aren’t guaranteed you’re going
to see a single contiguous path as taken by a single flow.
• One way to try out different paths which may be available is
to increment the dest IP by 1, or try different source IPs.
• This can come into play when a network is doing ECMP hashing
based on only Layer 3 information.
By Richard Steenbergen 48
MPLS and Traceroute
MPLS ICMP Tunneling
All returned ICMP packets must travel to the end of the LSP before going back to the sender.
This makes every hop in the LSP appear to have the same RTT as the final hop.
By Richard Steenbergen 51
MPLS ICMP Tunneling Example
By Richard Steenbergen 52
Final Thoughts: The Traceroute Checklist
By Richard Steenbergen 53
Send questions, complaints, to: