[GLLUG] traceroute MPLS messages

Alain Williams addw at phcomp.co.uk
Fri Mar 22 16:47:33 UTC 2013


On Fri, Mar 22, 2013 at 11:10:32AM +0000, Peter Grant wrote:
> OK, I think maybe I kinda understand it.
> 
> MPLS does routing of IP Packets without reading the IP in that section.
> Therefore, any MPLS routing isn't going to show properly in an IP
> based traceroute - it would normally be invisible.
> However, if that was the case, it might seem that packets jumped long
> distances with nothing between - this might confuse some.
> So, somehow it's been added to the traceroute to show up when it's
> been routed by MPLS so you know. It doesn't show all the MPLS hops
> seperately - only when it's come out of MPLS (and gone in again in
> this case!)
> 
> Does this help explain it?
> Peter

Thanks all.

I did a bit more digging to try and understand what I was being told.

> >  5  te5-1.telehouse-north0.core.enta.net (87.127.236.109)  7.700 ms  7.499 ms  8.569 ms
> >      MPLS Label=9051 CoS=6 TTL=1 S=0

Label is a Flow Label, AKA short address within the MPLS network.

CoS == Class of service, or Quality of service label, ie priority that the packet gets.
    3 bits so value 0 .. 7. I have no idea if a value of 6 means high or low priority.

TTL == Time To Live - presumably they don't want it bouncing round a lot (or
    maybe the value of 1 is a side effect of the way that traceroute works).

S == Stack bit value. 1 means the bottom most (last) MPLS label.
    The point is that the path that a packet may need to take can be complicated
    and may involve another network.
    Eg: a corporate VPN may move packets by flow labels within its network.
    This works the obvious way within a site; if a packet needs to go to another
    site it can be taken there (apparently in one hop) by another (WAN) MPLS with its
    own flow labels. This WAN MPLS will push its own flow label on top of the
    corporate VPN label to get the packet to another site, the WAN flow lable is
    then popped and the corproate flow label then used.
    The S bit says that a flow label is the last MPLS, when that is popped then
    IP (or whatever) routing is used.

    The bottom-of-stack bit, or #stack bit, is just used to indicate it is the
    bottom of the label stack because it is possible (and common) to have more
    than one label attached to a packet. The bottommost label in a stack has the
    S bit set to 1, other labels have the S bit set to 0. Sometimes it is useful
    to know where the bottom of the label stack is and the S bit is the tool to
    find it.

-- 
Alain Williams
Linux/GNU Consultant - Mail systems, Web sites, Networking, Programmer, IT Lecturer.
+44 (0) 787 668 0256  http://www.phcomp.co.uk/
Parliament Hill Computers Ltd. Registration Information: http://www.phcomp.co.uk/contact.php
#include <std_disclaimer.h>




More information about the GLLUG mailing list