MPLS Exp Field and MPLS Traffic Engineering

The 3-bit MPLS Exp field (see Example 13-16) of the MPLS shim header (Layer 2 label-insertion header) can support eight different service classes (CoS, or class of service); thus DiffServ edge marking can be carried over.

Example 13-16. MPLS Label Stack Entry

The label stack is represented as a sequence of "label stack entries." Each label stack

graphics/ccc.gif entry is represented by 4 octets. The label stack entries appear after the data link layer

graphics/ccc.gif headers, but before any network layer headers. The top of the label stack appears earliest

graphics/ccc.gif in the packet, and the bottom appears latest. The network layer packet immediately follows

graphics/ccc.gif the label stack entry, which has the S bit set. (RFC 3032, "MPLS Label Stack Encoding")

 0                   1                   2                   3

 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Label

|                 Label                 | Exp |S|      TTL      | Stack

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Entry

                    Label:  Label Value, 20 bits

                    Exp:    Experimental Use, 3 bits

                    S:      Bottom of Stack, 1 bit

                    TTL:    Time To Live, 8 bits

This mechanism adds QoS to MPLS label-switched paths (LSPs). Integrated MPLS and DiffServ architectures are state-of-the art and the subject of active research and standard development. In addition, from a phenomenological point of view, CoS maps nicely into the MPLS concept of forwarding equivalence classes (FECs). FECs are a concept of treating equivalent traffic the same generic way.

MPLS uses RSVP-TE (traffic engineering) and Constraint-based Label-Distribution Protocol (CR-LDP) for special-purpose signaling. According to the recent Internet Engineering Task Force (IETF) activities, it looks as if RSVP-TE has won the race. There is a lot of work going on in the DiffServ/MPLS-TE integration area, too. This appears to be the only viable approach to the scalability problem that ISPs and carriers face when dealing with flows and service classes.


For further information, consult the "Quality of Service" white paper at

You can find more information about UNIX MPLS activities at the following website: