Figure 3-5 MPLS header structure
MPLS decides forwarding by label. A label is a 20-bit identifier, only having local effect in
one hop link. What is identified by a label is a group of packets called Forwarding
Equivalence Class (FEC), which can be all packets to the same destination address
prefix or can be introduced with QoS to make the packets having the same service quality
requirements belong to the same FEC. The packets belonging to the same FEC are
forwarded according to the same forwarding policy.
When a packet without a label enters an MPLS domain, the edge LSR will analyze the
destination address carried in the header, class this packet to an FEC according to QoS
requirement, add the corresponding label of this FEC to the packet and then forward it to
the next hop. The intermediate LSR maintains a table of mapping relations between
incoming label, outgoing label and forwarding direction. When receiving a packet with a
label, it will search the mapping relation table by the incoming label carried by the packet
to obtain the outgoing label and forwarding direction, replace the incoming label with the
effective outgoing label and then send it to the next hop. When the packet leaves the
MPLS domain, the label will be deleted at the edge LSR, turn back to a packet without
label and be sent to the next hop.
In forwarding, the label can be processed in the form of stack. The label value at the top
of the label stack is the effective label, and LSR forwards packets by the top label of the
stack. When a packet enters an MPLS domain, a label is pushed in the label stack
occupying the top of the stack; at this time the stack depth increases by 1. The LSR in
this MPLS domain only checks and replaces the top label and ignores the other labels.
When the packet leaves the MPLS domain, POP operation is performed, and the label
stack turns back to the original depth before entering the MPLS domain. The packet
without label can be regarded as empty label stack; adding label to it when it first enters
MPLS network environment can also be regarded as PUSH operation. In this way, MPLS
can easily realize layered network. The depth of label stack indicates the network layer:
when the packet passes a tunnel or a lower-level MPLS network, the depth of the label
stack will increase; on the contrary, when the packet returns to the upper-level network,
the depth decreases.
At present ZXR10 8900E series provides complete MPLS protocol with the major
functions as below: