Traceroute doesn't show one hop?
Clash Royale CLAN TAG#URR8PPP
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.
I have this topology:
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?
cisco juniper mpls vrf
add a comment |
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.
I have this topology:
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?
cisco juniper mpls vrf
add a comment |
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.
I have this topology:
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?
cisco juniper mpls vrf
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.
I have this topology:
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?
cisco juniper mpls vrf
cisco juniper mpls vrf
edited Jan 27 at 4:28
Cœur
1033
1033
asked Jan 26 at 16:06
RadovanRadovan
765
765
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
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 by traceroute
. 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.
add a comment |
That is how MPLS works. The packet doesn't get routed at that point, it is label switched.
Traceroute works by having the packet TTL expire and an ICMP message is sent back saying that the packet expired. Routers will decrement the TTL as they route the packet. MPLS doesn't route packets, it places labels on the packet and switches based on the labels. That means the router doesn't route the packet, so it doesn't decrement the TTL, and the TTL doesn't expire.
If you use some other type of tunnel, you will observe the same behavior because the outer packet of the tunnel will have its TTL decremented, not the traceroute packet TTL, so the traceroute packet header TTL will not expire.
Basically, a tunnel looks like a single hop to the original traceroute packet, and the intermediate routes probably do not have a route back to the source host to even be able to send an ICMP timeout.
add a comment |
Weirdly enough, this was caused by a command on PE2_2 juniper.
delete routing-instances L3VPN-1 vrf-table-label solved this behaviour, now i get:
CE1#trace 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 0 msec 0 msec
2 10.0.1.2 [MPLS: Labels 205/299792 Exp 0] 6 msec 6 msec 5 msec
3 10.0.2.2 [MPLS: Labels 301/299888/299792 Exp 0] 5 msec 6 msec 5 msec
4 10.0.2.6 [MPLS: Labels 299888/299792 Exp 0] 5 msec 8 msec 5 msec
5 10.0.3.2 [MPLS: Label 299792 Exp 0] 5 msec 3 msec 3 msec
6 192.168.0.1 5 msec 5 msec 5 msec
CE1#
Still not sure what happened there. Cheers
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "496"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f56408%2ftraceroute-doesnt-show-one-hop%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
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 by traceroute
. 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.
add a comment |
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 by traceroute
. 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.
add a comment |
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 by traceroute
. 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.
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 by traceroute
. 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.
edited Jan 26 at 16:30
answered Jan 26 at 16:15
Zac67Zac67
29.4k21859
29.4k21859
add a comment |
add a comment |
That is how MPLS works. The packet doesn't get routed at that point, it is label switched.
Traceroute works by having the packet TTL expire and an ICMP message is sent back saying that the packet expired. Routers will decrement the TTL as they route the packet. MPLS doesn't route packets, it places labels on the packet and switches based on the labels. That means the router doesn't route the packet, so it doesn't decrement the TTL, and the TTL doesn't expire.
If you use some other type of tunnel, you will observe the same behavior because the outer packet of the tunnel will have its TTL decremented, not the traceroute packet TTL, so the traceroute packet header TTL will not expire.
Basically, a tunnel looks like a single hop to the original traceroute packet, and the intermediate routes probably do not have a route back to the source host to even be able to send an ICMP timeout.
add a comment |
That is how MPLS works. The packet doesn't get routed at that point, it is label switched.
Traceroute works by having the packet TTL expire and an ICMP message is sent back saying that the packet expired. Routers will decrement the TTL as they route the packet. MPLS doesn't route packets, it places labels on the packet and switches based on the labels. That means the router doesn't route the packet, so it doesn't decrement the TTL, and the TTL doesn't expire.
If you use some other type of tunnel, you will observe the same behavior because the outer packet of the tunnel will have its TTL decremented, not the traceroute packet TTL, so the traceroute packet header TTL will not expire.
Basically, a tunnel looks like a single hop to the original traceroute packet, and the intermediate routes probably do not have a route back to the source host to even be able to send an ICMP timeout.
add a comment |
That is how MPLS works. The packet doesn't get routed at that point, it is label switched.
Traceroute works by having the packet TTL expire and an ICMP message is sent back saying that the packet expired. Routers will decrement the TTL as they route the packet. MPLS doesn't route packets, it places labels on the packet and switches based on the labels. That means the router doesn't route the packet, so it doesn't decrement the TTL, and the TTL doesn't expire.
If you use some other type of tunnel, you will observe the same behavior because the outer packet of the tunnel will have its TTL decremented, not the traceroute packet TTL, so the traceroute packet header TTL will not expire.
Basically, a tunnel looks like a single hop to the original traceroute packet, and the intermediate routes probably do not have a route back to the source host to even be able to send an ICMP timeout.
That is how MPLS works. The packet doesn't get routed at that point, it is label switched.
Traceroute works by having the packet TTL expire and an ICMP message is sent back saying that the packet expired. Routers will decrement the TTL as they route the packet. MPLS doesn't route packets, it places labels on the packet and switches based on the labels. That means the router doesn't route the packet, so it doesn't decrement the TTL, and the TTL doesn't expire.
If you use some other type of tunnel, you will observe the same behavior because the outer packet of the tunnel will have its TTL decremented, not the traceroute packet TTL, so the traceroute packet header TTL will not expire.
Basically, a tunnel looks like a single hop to the original traceroute packet, and the intermediate routes probably do not have a route back to the source host to even be able to send an ICMP timeout.
edited Jan 26 at 17:07
answered Jan 26 at 16:17
Ron Maupin♦Ron Maupin
65.1k1368122
65.1k1368122
add a comment |
add a comment |
Weirdly enough, this was caused by a command on PE2_2 juniper.
delete routing-instances L3VPN-1 vrf-table-label solved this behaviour, now i get:
CE1#trace 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 0 msec 0 msec
2 10.0.1.2 [MPLS: Labels 205/299792 Exp 0] 6 msec 6 msec 5 msec
3 10.0.2.2 [MPLS: Labels 301/299888/299792 Exp 0] 5 msec 6 msec 5 msec
4 10.0.2.6 [MPLS: Labels 299888/299792 Exp 0] 5 msec 8 msec 5 msec
5 10.0.3.2 [MPLS: Label 299792 Exp 0] 5 msec 3 msec 3 msec
6 192.168.0.1 5 msec 5 msec 5 msec
CE1#
Still not sure what happened there. Cheers
add a comment |
Weirdly enough, this was caused by a command on PE2_2 juniper.
delete routing-instances L3VPN-1 vrf-table-label solved this behaviour, now i get:
CE1#trace 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 0 msec 0 msec
2 10.0.1.2 [MPLS: Labels 205/299792 Exp 0] 6 msec 6 msec 5 msec
3 10.0.2.2 [MPLS: Labels 301/299888/299792 Exp 0] 5 msec 6 msec 5 msec
4 10.0.2.6 [MPLS: Labels 299888/299792 Exp 0] 5 msec 8 msec 5 msec
5 10.0.3.2 [MPLS: Label 299792 Exp 0] 5 msec 3 msec 3 msec
6 192.168.0.1 5 msec 5 msec 5 msec
CE1#
Still not sure what happened there. Cheers
add a comment |
Weirdly enough, this was caused by a command on PE2_2 juniper.
delete routing-instances L3VPN-1 vrf-table-label solved this behaviour, now i get:
CE1#trace 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 0 msec 0 msec
2 10.0.1.2 [MPLS: Labels 205/299792 Exp 0] 6 msec 6 msec 5 msec
3 10.0.2.2 [MPLS: Labels 301/299888/299792 Exp 0] 5 msec 6 msec 5 msec
4 10.0.2.6 [MPLS: Labels 299888/299792 Exp 0] 5 msec 8 msec 5 msec
5 10.0.3.2 [MPLS: Label 299792 Exp 0] 5 msec 3 msec 3 msec
6 192.168.0.1 5 msec 5 msec 5 msec
CE1#
Still not sure what happened there. Cheers
Weirdly enough, this was caused by a command on PE2_2 juniper.
delete routing-instances L3VPN-1 vrf-table-label solved this behaviour, now i get:
CE1#trace 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 0 msec 0 msec
2 10.0.1.2 [MPLS: Labels 205/299792 Exp 0] 6 msec 6 msec 5 msec
3 10.0.2.2 [MPLS: Labels 301/299888/299792 Exp 0] 5 msec 6 msec 5 msec
4 10.0.2.6 [MPLS: Labels 299888/299792 Exp 0] 5 msec 8 msec 5 msec
5 10.0.3.2 [MPLS: Label 299792 Exp 0] 5 msec 3 msec 3 msec
6 192.168.0.1 5 msec 5 msec 5 msec
CE1#
Still not sure what happened there. Cheers
answered Jan 26 at 21:21
RadovanRadovan
765
765
add a comment |
add a comment |
Thanks for contributing an answer to Network Engineering Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f56408%2ftraceroute-doesnt-show-one-hop%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown