MPLS Label Stack Header

For various reasons, switching performance being one, the MPLS label must be inserted in front of the labeled data in a frame-mode implementation of the MPLS architecture. The MPLS label thus is inserted between the Layer 2 header and the Layer 3 contents of the Layer 2 frame, as displayed in Figure C-11.

Figure C-11 Position of the MPLS Label in a Layer 2 Frame

Unlabeled IP packet in Layer 2 frame

Layer 2 frame

Layer 3 data (IP packet)

Layer 2 header

Labeled IP packet in Layer 2 frame

Layer 2 frame

Layer 3 data (IP packet)

MPLS label (shim header)

Layer 2 header

Due to the way an MPLS label is inserted between the Layer 3 packet and the Layer 2 header, the MPLS label header also is called the shim header. The MPLS label header (detailed in Figure C-12) contains the MPLS label (20 bits), the class-of-service information (three bits, also called experimental bits, in the IETF MPLS documentation), and the eight-bit Time-to-Live (TTL) field (which has the identical functions in loop detection as the IP TTL field) and one bit called the Bottom-of-Stack bit.

Figure C-12 MPLS Label Stack Header

Responses

  • Antonietta
    What is the label, closest to the layer 2 header, in the label stack called?
    16 days ago

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

23 0 1 2 3 4 5 6 7 8 90 1 1 1 1 1 1 1 1 1 1 1 1

Exp ISI TTL 1 1 1 1

The Bottom-of-Stack bit implements an MPLS label stack, which is defined as a combination of two or more label headers attached to a single packet. Simple unicast IP routing does not use the label stack, but other MPLS applications, including MPLS-based Virtual Private Networks or MPLS Traffic Engineering, rely heavily on it.

With the MPLS label stack header being inserted between the Layer 2 header and the Layer 3 payload, the sending router must have some means to indicate to the receiving router that the packet being transmitted is not a pure IP datagram but a labeled packet (an MPLS datagram). To facilitate this, new protocol types were defined above Layer 2 as follows:

■ In LAN environments, labeled packets carrying unicast and multicast Layer 3 packets use ethertype values 8847 hex and 8848 hex. These ethertype values can be used directly on Ethernet media (including Fast Ethernet and Gigabit Ethernet) as well as part of the SNAP header on other LAN media (including Token Ring and FDDI).

■ On point-to-point links using PPP encapsulation, a new Network Control Protocol (NCP) called MPLS Control Protocol (MPLSCP) was introduced. MPLS packets are marked with PPP Protocol field value 8281 hex.

■ MPLS packets transmitted across a Frame Relay DLCI between a pair of routers are marked with Frame Relay SNAP Network Layer Protocol ID (NLPID), followed by a SNAP header with type ethertype value 8847 hex.

■ MPLS packets transmitted between a pair of routers over an ATM Forum virtual circuit are encapsulated with a SNAP header that uses ethertype values equal to those used in the LAN environment.

Figure C-13 shows the summary of all the MPLS encapsulation techniques.

Figure C-13 Summary of MPLS Encapsulation Techniques

Packet over SONET/SDH Ethernet similar Frame Relay PVCs: similar Label over ATM PVCs

(subsequent cells)

ATM label switching (subsequent cells)

PPP Header

Label

Layer 3 Header

Data

Ethernet Hdr

Label

Layer 3 Header

Data

Frame Rly Hdr

Label

Layer 3 Header

Data

ATM Header

Label

Layer 3 Header

Data

ATM Header

Data

GFC I VPI

VCI

PTI

CLP

HEC

Layer 3 Header

Data

k /

Label

GFC

VPI

VCI

PTI

CLP

HEC

Data

k ) Label

The San Jose router in the example shown in Figure C-10 inserts the MPLS label in front of the IP packet just received, encapsulates the labeled packet in a PPP frame with a PPP Protocol field value of 8281 hex, and forwards the Layer 2 frame toward the San Francisco router.

Continue reading here: Ldptdp Session Establishment

Was this article helpful?

+1 0