I have an interesting issue where my traceroute skips one hop on the way. I do not know why but it seems to be some kind of Juniper behaviour which I do not understand yet. Blue routers are Cisco machines, The other PC-like icons are Juniper routers.
But when I do a CE2: traceroute 172.16.0.1 (to CE1 Lo0 interface) I get the following:
root> traceroute 172.16.0.1
traceroute to 172.16.0.1 (172.16.0.1), 30 hops max, 52 byte packets
1 192.168.1.9 (192.168.1.9) 2.514 ms 1.861 ms 1.393 ms
2 10.0.3.1 (10.0.3.1) 5.597 ms 6.516 ms 5.480 ms
MPLS Label=300160 CoS=0 TTL=1 S=0
MPLS Label=18 CoS=0 TTL=1 S=1
3 10.0.2.5 (10.0.2.5) 5.618 ms 6.154 ms 5.312 ms
MPLS Label=300 CoS=0 TTL=1 S=0
MPLS Label=203 CoS=0 TTL=1 S=0
MPLS Label=18 CoS=0 TTL=2 S=1
4 10.0.2.1 (10.0.2.1) 5.742 ms 5.344 ms 5.366 ms
MPLS Label=203 CoS=0 TTL=1 S=0
MPLS Label=18 CoS=0 TTL=1 S=1
5 172.16.1.9 (172.16.1.9) 5.550 ms 4.752 ms 4.675 ms
MPLS Label=18 CoS=0 TTL=1 S=1
6 172.16.1.10 (172.16.1.10) 5.315 ms 5.238 ms 5.532 ms
root>
And I try the same thing from the other side CE1: traceroute 192.168.0.1 (to CE2 interface Lo0) I get this:
CE1#traceroute 192.168.0.1
Type escape sequence to abort.
Tracing the route to 192.168.0.1
VRF info: (vrf in name/id, vrf out name/id)
1 172.16.1.9 1 msec 1 msec 0 msec
2 10.0.1.2 [MPLS: Labels 201/16 Exp 0] 5 msec 5 msec 4 msec
3 10.0.2.2 [MPLS: Labels 301/300144/16 Exp 0] 4 msec 4 msec 4 msec
4 10.0.2.6 [MPLS: Labels 300144/16 Exp 0] 4 msec 4 msec 4 msec
5 192.168.0.1 5 msec 6 msec 6 msec
CE1#
As you can see, the PE2_2 router is not present in the output?
Can anyone please explain why this occurs?
Best Answer
traceroute
works by using probe packets with increasing TTL values. The hop where a packet's TTL times out is supposed to return an time exceeded ICMP message which is processed and displayed bytraceroute
. If a hop doesn't decrement the TTL you simply don't see it.Apparently, PE2_2 doesn't decrement TTL in that path - without the (sanitized) configuration we won't be able to tell you why.