MPLS Labels

Before discussing MPLS LABEL we must know about or the prerequisites of this section are

  • What are the types of MPLS?
  • What are the modes of MPLS?
  • What are the router roles of MPLS?
  • What is Push?
  • What is Swap?
  • What is PoP?


With MPLS we are going to make forwarding decisions not based on the actual IP header but rather based on the layer 2 and half of the OSI reference model Labels that are surgically injected into our Packets.

If we enable MPLS which is really simple by the way a command is “mpls ip” enter.

You do that globally, you do it interface config, your router is now mpls enabled. Now what it will do is that it will automatically take every single IP route which it learn from IP network not from BGP but any IGP learned route it will go and assign a local label for them.

  • Each router assigns a locally significant label for each IP route, and advertises these labels to neighbors.
  • Label Distribution Protocol (LDP) is used to exchange labels.
  • Uses the IP routing information to determine the direction and next hop to forward a labeled packet.
  • Does this before first packet even arrives.



MPLS LABEL is simply a locally significant value that identifies a particular Forwarding Equivalent Class (FEC). An FEC is a group of packets that will be forwarded to the same next-hop IP Address and that are assigned the same level of treatment.

Each Label has four fields, totaling a 32 bits.

  • Label ( 20 bits )
  • Experimental / CoS ( 3 bits )
  • TTL ( 8 bits )
  • BOS ( bottom – of – stack, 1 bit )

RFC 3031 “Multiprotocol Label Switching Architecture” lists those 3 bits as “experimental”. In reality the Cisco IOS uses those bits for Code of Service.

The Time to Live (TTL) bits serves the same purpose as do IP TTL bits.

The BOS (bottom – of – stack, 1 bit) value is referred to in some MPLS documentation as simply “S”.

As mentioned earlier, a packet can have more than one label. The BOS bit will be set to zero on all labels except the very bottom label, which will have a BOS of one.

A packet can have more than one label. A label stack consists of multiple labels, one on top of the other. Labels in a Label stack do not interact in any way.

MPLS Labels

MPLS Labels - complete

And It would not be Cisco networking without some kind of PID or RID?

In this case, it’s a PID. The MPLS PID indicates whether labels have been placed on the packet.