MPLS stands for
Multiprotocol Label Switching, is a
networking technology that switch the network traffic using the shortest path
based on “labels”, rather than IP destination addresses, to handle forwarding
over a private Wide Area Network.
- The
multiprotocol aspect of MPLS was fulfilled after the initial implementation of
MPLS in Cisco IOS. Although at first only IPv4 was being label switched, later
more protocols followed. In Cisco IOS, you can now label IPv6 packets, too, and
transport Layer 2 frames over an MPLS backbone.
- Label switching
indicates that the packets switched are no longer IPv4 packets, IPv6 packets,
or even Layer 2
frames when switched, but they are labelled. The most important item to MPLS is the label.
MPLS used Label
switching as below:

- The first
device in MPLS network, does an IP routing lookup, and find the destination
router instead of next hop, and find and set the pre-determined path from
source to destination.
- Now, the source
router (first device) applies a “label” based on the above information from
pre-determined path from source to destination.
- The future
router uses the label information to route the traffic and swap label based on
the information, without performing any additional IP lookup.
- At destination
router, the label is removed, and packet is delivered via normal IP routing.
- The main idea
to have “Label Switching“ was only that first router do an IP lookup, then all
future routes in the network could do exact match “switching” based on a label.
- This would
reduce load on the core routers, where high-performance was the most difficult
to achieve, and distribute the routing lookups across lower speed edge routers.
Labels can be
based on a variety of parameters:
- Destination IP
network
- Source IP
address
- QoS parameters
- VPN destination
- Outgoing
interface
- Layer-2 circuit
Label
Switch Router
A label switch
router (LSR) is a router that supports MPLS. It is capable of understanding
MPLS labels and of
receiving and transmitting a labeled packet on a data link. Three kinds of LSRs
exist in an MPLS
network:
- Ingress
LSRs—Ingress LSRs receive a packet that is not labeled yet, insert a
label (stack) in front of the
packet, and send it on a data link.
- Egress
LSRs—Egress LSRs receive labeled
packets, remove the label(s), and send them on a data link.
Ingress and egress LSRs are edge LSRs.
- Intermediate
LSRs—Intermediate LSRs receive an
incoming labeled packet, perform an operation on
it, switch the packet, and send the packet on the correct data link. The primary function of an intermediate LSR is to forward labelled packets. Therefore, every LSR needs a L3 routing protocol (OSPF, EIGRP, IS-IS, etc.) and a label exchange protocol (LDP, TDP, etc.).
An LSR can do
the three operations: pop, push, or swap.
- An LSR that
pushes labels onto a packet that was not labeled yet is called an imposing LSR because it is
the first LSR to impose labels onto the packet. One that is doing imposition is
an ingress LSR.
- An LSR that
removes all labels from the labeled packet before switching out the packet is a
disposing LSR. One that does disposition is an egress LSR.
The term P and
PE come from the description of VPN services.
- P-router: It a
core/backbone router doing label switching only. It can operate without any
customer/internet edge connection. Its a transit node LSR
- PE-router: its
customer facing router which does label popping and imposition. Its a edge LSR. Typically has
various edge features for terminating multiple services like
- Internet
- L3VPN
- L2VPN
- VPLS
- CE is the
“Customer Edge”, the customer device to which PE router talk to.
LSRs (Label Switching Routers), regardless of the type, perform the following functions:
Control Plane function
- Exchange routing information
- Exchange labels
Data Plane function- Forward packets (LSRs and edge LSRs)
- A label
switched path (LSP) is a sequence of LSRs that switch a labelled packet through
an MPLS network or part
of an MPLS network.
- LSP—A label
switched path (LSP) is a path through an MPLS network, set up by a signalling
protocol, such as LDP, RSVP TE, BGP or CR-LDP. The path is set up based on
criteria in the forwarding equivalence class (FEC).
A
Forwarding
Equivalence Class (FEC) is a group or flow of packets that are forwarded along
the
same path and
are treated the same with regard to the forwarding treatment.
All packets
belonging to the same FEC
have the same label.
However, not all packets that have the same label belong
to the same FEC,
because their EXP values might differ; the forwarding treatment could be
different, and they could
belong to a different FEC.
The router that decides which packets belong to
which FEC is the
ingress LSR.
This is logical because the ingress LSR classifies and labels the
packets.
- One of the most
important concepts for the actual use of MPLS is “Label Switched Path (LSP)”
- It is a
unidirectional tunnel between a pair of routers, routed across an MPLS network.
- An LSP is
required for any MPLS forwarding to occur.
- LSPs are
derived from IGP routing information
MPLS
Plane
Routers and switches use a conceptual model called planes.
Planes describe how packets travel to, from, and through a device.
The control and data planes do not describe data itself.
Rather, these planes describe how the device handles the data. For example,
does the device process a packet itself, or does it forward it to another
device?
MPLS Data Plane: Basically, deals with How MPLS traffic is
forwarded IN, OUT and Through the mpls network
- MPLS data plane indicates how the data will flow from one PE
(Provider Edge) router to PE router.
- The data plane is independent of the type of routing protocol
or label exchange protocol being used.
- The data plane forwards packets to the appropriate interface
based on the information in the LFIB or the FIB tables.
- The data plane
(or forwarding plane) is the high-speed path through the router/switch. Packets
that pass through the device use the data plane, as opposed to packets directed
to the device. For this reason, the data plane is also called the forwarding
plane.
Data Plane traffic is
forwarded through a device
- The data plane
needs to provide a high speed and low latency path. To achieve this, a lot of
data plane implementation is in hardware. This includes performing CEF
lookups/caching and using special ASICs. The FIB and LFIB are part of the data
plane.
A few quick
examples.
- Passing SSH
traffic through to another device; Data Plane
- Forwarding BGP
traffic; Data Plane
MPLS Control Plane: Basically, deals with How the Labels are
assigned and exchanged in the mpls network.
- It contains complex mechanisms to exchange routing
information (OSPF, EIGRP, IS-IS, BGP, etc.) and labels (Tag Distribution
protocol [TDP], Label Distribution protocol [LDP], BGP, RSVP, etc.).
- MPLS control plane indicates how the updates are sent from
one PE router and to another PE router.
- MPLS control plane is used to build FIB table from the
information of routing information base and LFIB table based upon label
exchange protocol
- The control plane makes use of a label exchange protocol to
create and maintain labels internally, and to exchange these labels with other
devices.
- The label exchange protocol binds to networks learned via a
routing protocol.
- Label exchange protocols include MPLS Label Distribution
Protocol (LDP), the older Cisco Tag Distribution Protocol (TDP), and BGP (used
by MPLSVPN) Resource Reservation Protocol (RSVP) is used by MPLS TE to
accomplish label exchange
- The LFIB table includes label values and association with the
outgoing interfaces for every network prefix.
The control plane is generally considered to be where a router or switch makes its decisions. This is software based, and uses the CPU rather than specialized hardware, such as an ASIC.
For this reason, many people call the control plane the ‘slow path’.
Remember how the planes refer to how a device handles traffic? Well, traffic sent to a device or generated on a device is control plane traffic. An example of this is when a router forms neighbor relationship in OSPF or EIGRP. Or, when switches share BPDU’s for spanning-tree.
Control Plane traffic is sent to a device, or generated on a device
- Another function of the control plane is to assign resources to the data plane. An example of this is using the data from the RIB to populate the FIB.
- A logical subset of the control plane is the Management Plane. Any management traffic for the local device (such as SSH) is part of the management plane. This is because the destination of the management traffic is the local device.
A few quick examples.
- SSH to a router; Control Plane
- BGP neighbor relationship; Control Plane
- OSPF neighborship and building the LSDB; Control Plane
Will discuss working of both control and data plane in more detail in next chapter...
Basic operation of MPLS
- Only edge routers must perform a routing lookup
- Core routers switch packets based on simple label lookups and swap labels
The figure illustrates a situation where the intermediary router does not have to perform a time-consuming routing lookup. Instead, this router simply swaps a label with another label (5 is replaced by 3) and forwards the packet based on the received label (3).
In larger networks the result of MPLS labeling is that only the edge routers perform a routing lookup. All the core routers forward packets based on the labels.