[GLLUG] traceroute MPLS messages

Richard W.M. Jones rich at annexia.org
Fri Mar 22 10:58:13 UTC 2013


On Fri, Mar 22, 2013 at 10:37:00AM +0000, Alain Williams wrote:
> Yesterday evening my ISP (EntaNet) had problems and I lost connectivity for 6+ hours.
> 
> I was away (Floss UK conference in Newcastle -- which was good BTW) and logged
> into my bytemark box to see what was up. I could not ping home & tried a
> traceroute, the output is below.
> 
> I am not a networking wizard, would someone be able to explain (simply) what the
> MPLS lines are all about. The wikipedia article on MPLS gives me vague clue, but
> doesn't help with interpretation.

>  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

I've never seen traceroute print an MPLS label before, so that's
quite cool!

Anyway, MPLS is an attempt to bring some of the benefits of ATM
(remember that?  some of do!) to IP networks.

ATM was supposed to be faster because when an ATM packet arrived at a
switch, all that had to happen was the label was looked up in a table
and swapped for another label:

  incoming label + incoming port  =>   outgoing label + outgoing port
  ---------------------------------------------------------------------
  1234             1              =>   4321             3

The number of labels was small (IIRC ATM had 2^8 possible labels), and
the number of ports was small (eg. 4 or 16), so all this could be done
in hardware ie. quickly, far quicker than routing based on IP address
which in the mid '90s required software.

Note that labels form "virtual circuits".  Because the labels are set
up in advance (either statically, or using an out-of-band signalling
protocol), and there is no "decision" made at each switch, when a
packet goes into an ATM/MPLS network with a particular label, it's
going to follow a fixed path and pop out the other side at a
predetermined destination, always.  Just like a telephone circuit.

With MPLS, a bunch of core routers are joined together to form a
simple label switching network, with labels setting up predefined
routes through the core.  At the edge of this cluster of routers, the
destination IP is looked up and mapped to an MPLS label.  In the
middle, everything is label swapping (hence really fast and done in
hardware).  The label itself is written into an unused part of the
IPv4 packet -- the flow control field IIRC.

Anyway, that's my hazy recollection of MPLS.

Rich.

-- 
Richard Jones
Red Hat




More information about the GLLUG mailing list