|
MPLS defines a
fundamental separation between the grouping of packets that are to
be forwarded in the same manner (the forwarding equivalence classes,
or FECs), and the labels used to mark the packets. This is purely to
enhance the flexibility of the approach. At any one node, all
packets within the same FEC could be mapped onto the same locally
significant label (given that they have the same requirements).
However, there are instances where one may wish to engineer the
network in such a way that several different labels are used (e.g.,
when wishing to explicitly differentiate between streams). The
assignment of a particular packet to an FEC is done once, at the
entry point to the network. MPLS-capable routers (label-switched
routers, LSRs) then use only the label and CoS field in order to
make packet forwarding and classification decisions. Label merging
is possible where multiple incoming labels are to receive the same
FEC.
MPLS packets are
able to carry a number of labels, organized in a last-in first-out
stack (Fig.10). This can be useful in a number of instances, such as
where two levels of routing are taking place across transit routing
domains. Regardless of the existence of the hierarchy, in all
instances the forwarding of a packet is based on the label at the
top of the stack. In order for a packet to travel through a tunnel,
the node at the transmitting side of the tunnel pushes a label
relating to the tunnel onto the stack, and sends the packet to the
next hop in the tunnel.
|
|