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
- Forward packets (LSRs and edge LSRs)
Label
Switched Path
- 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).
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
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.