is a special case that uses fixed-length cells,
and a label cannot be added inside the cells because the cell
length would exceed the fixed 53-byte size. MPLS thus uses the
virtual path identifier/virtual channel identifier (VPI/VCI)
fields in the ATM header as a label (cell mode MPLS). MPLS
labels have a specific format and fields that assist in making
forwarding decisions. Figure shows the 32-bit MPLS label and
describes each of the four fields. Label Stack
A
label shown in Figure does not contain any information about
the Layer 3 protocol that is being carried in a packet. This
lack of information means that the identity of the network
layer protocol must be inferable from the value of the label.
However for Layer-2 protocols that have TYPE or PID fields new
values indicate the MPLS-enabled Layer-3 protocol. As an
example, a PPP frame carrying unicast MPLS would have a
Protocol ID field set to 0x2081. In most cases only one label
is assigned to a packet. There are some instances where more
than one label is used: - MPLS VPNs:
Multiprotocol BGP (MP-BGP) is used to propagate a second label
that identifies the VPN in addition to the label that is
propagated by Label Distribution Protocol (LDP) to identify the
path.
- MPLS Traffic Engineering (MPLS TE): Uses
Resource Reservation Protocol (RSVP) to establish label
switched path (LSP) tunnels. RSVP propagates labels that are
used to identify the tunnel LSP. This label is in addition to
the label that is propagated by LDP to identify the underlying
LSP.
- MPLS VPNs combined with MPLS TE: Three or
more labels are used to identify the VPN, tunnel LSP, and the
underlying LSP.
There are three Ethertype values
that are used to identify Layer 3 protocols with most Layer 2
encapsulations: - Unlabeled IP unicast: PID =
0x0800 identifies that the frame payload is a classic unicast
IP packet.
- Labeled IP unicast: PID = 0x8847
identifies that the frame payload is a unicast IP packet with
at least one label preceding the IP header. The bottom-of-stack
bit indicates when the IP header actually starts.
-
Labeled IP multicast: PID = 0x8848 identifies that the
frame payload is a multicast IP packet with at least one label
preceding the IP header. The bottom-of-stack bit indicates when
the IP header actually starts.
Example: Frame
Mode MPLS
When the ingress edge router receives an IP
packet, the router performs these tasks: - Does a
routing lookup to determine the outgoing interface.
-
Assigns and inserts a label between the Layer 2 frame header
and the Layer 3 packet header if the outgoing interface is
enabled for MPLS and if a next-hop label for the destination
exists. The router then changes the Layer 2 Ethertype value to
indicate that the packet is a labeled packet.
- Sends
the labeled packet.
- Using labels, allows forwarding
decisions about the packet to be made.
Note
Other routers in the core simply forward
packets based on information in the label. Figure shows an edge
router that receives a normal IP packet. The MPLS label is
often depicted as a new "shim layer" that has
interposed itself between the network and data link layers.
This layer is where the term "Layer 2.5 technology"
comes from.
Content 4.1 Introducing MPLS
Networks 4.1.4 MPLS Architecture To support
multiple protocols, MPLS divides the classic router
architecture into two major components: - Control
plane: Controls the routing information exchange and the
label exchange between adjacent devices.
- Data
plane: Also known as the forwarding plane, this plane
controls forwarding based on either destination addresses or
labels.
The control plane is dependent on the
routing protocol used: - Open Shortest Path First
(OSPF)
- Enhanced Interior Gateway Routing Protocol
(EIGRP)
- Intermediate System-to-Intermediate System
(IS-IS)
- Routing Information Protocol (RIP)
-
BGP
The control plane also requires label exchange
protocols, including the MPLS LDP and BGP, which is used by
MPLS VPN. MPLS Traffic Engineering uses RSVP to reserve
resources, or bandwidth, in the network. The data plane is a
simple label-based forwarding engine that is independent of
routing or label exchange protocols. A Label Forwarding
Information Base (LFIB) table stores the label information that
the forwarding engine uses to forward packets. The LFIB table
is populated by the label exchange protocol that is used, which
is LDP, BGP, or RSVP. Control Plane Components
MPLS
can implement destination-based forwarding using labels to make
forwarding decisions. In the example shown in Figure , a Layer
3 routing protocol is needed to propagate Layer 3 routing
information. A label exchange mechanism is simply an add-on
mechanism that propagates labels that are used for Layer 3
destinations. The figure illustrates the two components of the
control plane: - OSPF: Receives and forwards a
routing update for IP network 10.0.0.0/8.
-
LDP: Receives label 17 to use for packets with
destination address 10.x.x.x. A local label 24 is generated and
sent to upstream neighbors when the packets are destined for
10.x.x.x. LDP inserts an entry into the LFIB table of the data
plane, where an incoming label 24 is mapped to an outgoing
label 17.
The data plane then forwards all packets
with label 24 through the appropriate interfaces after swapping
label 24 for label 17.
Content 4.1
Introducing MPLS Networks 4.1.5 Label Switch
Routers When discussing MPLS, there are two commonly used
terms: - LSR: A device that forwards packets
primarily based on labels.
- Edge LSR: A device
that primarily labels packets or removes labels.
Note
LSR and Edge LSR are only used in this context
in the Request For Comments (RFC). Cisco refers to LSR as the
general class of router running MPLS. What the RFC refers to as
LSR, Cisco calls a provider router (P router); what the RFC
refers to as Edge LSR, Cisco calls a provider edge router (PE
router). LSRs and Edge LSRs forward packets by making
switching decisions based on the MPLS label. LSRs and Edge LSRs
are usually capable of doing both label switching and IP
routing. Their names are based on the router positions in an
MPLS domain. Routers that have all interfaces enabled for MPLS
are called LSRs because they mostly forward labeled packets.
Routers that have some interfaces that are not enabled for MPLS
are usually at the edge of an MPLS domain—autonomous systems
(ASs). These routers also forward packets based on IP
destination addresses and label the packets if the outgoing
interface is enabled for MPLS. For example, an Edge LSR
receives a packet for destination 10.1.1.1, imposes label 21,
and forwards the frame to the LSR in the MPLS backbone. LSR
swaps label 21 with label 25 and forwards the frame. The edge
LSR removes label 25 and forwards the packet based on IP
destination address 10.1.1.1.
Content 4.1
Introducing MPLS Networks 4.1.6 LSR
Component Architecture The control plane and data plane in
an LSR interact and enable label switching and forwarding of
labeled packets to occur. These functions are summarized in
Figure . All LSRs must perform a number of functions:
- Exchange routing information (control plane).
-
Exchange labels (control plane).
- Forward packets
(data plane). Frame mode MPLS forwards packets based on the
32-bit label.
Component Architecture of
LSR
The primary function of an LSR is to forward
labeled packets. To accomplish this, every LSR needs a Layer 3
routing protocol and a protocol to exchange labels. Figure
shows the component architecture of an LSR. LDP populates the
LFIB table in the data plane that is used to forward labeled
packets. Component Architecture of Edge LSR
Figure