Traceroute doesnt show one hop?
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? Thank you.
cisco juniper mpls vrf
New contributor
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? Thank you.
cisco juniper mpls vrf
New contributor
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? Thank you.
cisco juniper mpls vrf
New contributor
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? Thank you.
cisco juniper mpls vrf
cisco juniper mpls vrf
New contributor
New contributor
edited 3 hours ago
Radovan
New contributor
asked 3 hours ago
RadovanRadovan
565
565
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
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 |
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
});
}
});
Radovan is a new contributor. Be nice, and check out our Code of Conduct.
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
2 Answers
2
active
oldest
votes
2 Answers
2
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 3 hours ago
answered 3 hours ago
Zac67Zac67
27.9k21456
27.9k21456
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 2 hours ago
answered 3 hours ago
Ron Maupin♦Ron Maupin
64k1367120
64k1367120
add a comment |
add a comment |
Radovan is a new contributor. Be nice, and check out our Code of Conduct.
Radovan is a new contributor. Be nice, and check out our Code of Conduct.
Radovan is a new contributor. Be nice, and check out our Code of Conduct.
Radovan is a new contributor. Be nice, and check out our Code of Conduct.
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