MPLS

MPLS Introduction:

  • MPLS stands for Multiprotocol Label Switching, Multiprotocol because it can be used for any Layer 3 protocol
  • MPLS is about glueing connectionless IP to a connection oriented Network.
  • MPLS is something between L2 and L3.
  • MPLS is also called Tag Switching
  • MPLS provides a mechanism to avoid hop-by-hop routing decision making ( Notice that IP makes a hop-by-hop routing decisions) by setting up a Layer 2 fast path using Labels ( hence the name Label Switching) to move the packets quickly along pre-establishedpaths without examining each packet at the IP level at each router.
  • This is very similar to ATM and FR Layer 2 routing and switching operations. Remember VPs and VCs in ATM and DLCI #s in FR operate at Layer 2, have only local significance and established before hand.
  • In MPLS enabled Network, the packet needs to be examined only once at the edge of the MPLS Network ( Network entry point). After that, the packet forwarding is based on simple tagging scheme rather than on more complex and variable IP header.
  • The most important advantage of MPLS is that it is independent of L2 and L3 protocols, and so it can be adopted any where in the world to any L2 or L3 infrastructure.
  • The Canadian Post Office seems to work on this principle. The mail is forwarded to a regional processing center where the hand writing recognition is done only once. Some kind of infra-red or Ultraviolet bar code is applied at the bottom of the envelope (Label) and there on, only the bar code is used to route the letter.
  • Following Cisco Routers employ Label or Tag Switching: Cisco 7000 series Routers, 12000 GSR Series, LS 1010 Series etc.
  • MPLS is now increasingly being deployed in Optical Networking as well.
  • MPLS is being deployed in the following Media:

High speed IP backbones

Legacy ATM

MPLS capable ATM

Optical Networking

  • AT&T is offering a service called IPFR as the IP access via FR to an MPLS Network
  • MCI also offers a similar service.
  • Many corporations are upgrading their legacy FR Network to MPLS

MPLS Analysis:

  • Consider the Fig shown:
  • Before we can understand this figure, we must clearly understand various terms and definitions associated with an MPLS domain Network.
  • Label Switching Router (LSR):A router supporting MPLS Protocol is called a Label Switching Router (LSR)
  • Label Switching Edge Router (LSER or LER): An edge LSR connects to a non-LSR router. As shown in the figure. Situated at the edge of an MPLS Network ( MPLS Network Entry point).
  • INGRESS LSR: An Ingress Router is one by which a packet enters the MPLS Network
  • EGRESS LSR: An Egress LSR is one by which a packet leaves the MPLS Network
  • Labels: Labels are small identifiers placed between the L2 and L3 Headers by the ingress LSR and ultimately removed by the egress LSR, as shown in the fig below; thus the non-MPLS devices outside the MPLS Network will not see these Labels.
  • For IP based MPLS, these Labels are inserted just before the IP Header and after the frame Header.
  • For ATM, the VPI/VCI addressing field become the Label
  • For FR, the ______value become the Label ( Ans: DLCI)
  • Label Information Base (LIB); A routing table based on labels
  • The LIB table contains the inbound to outbound interface mappings for each destination.
  • As traffic transits through the Network, label tables are consulted in MPLS router to map the inbound label to the outbound label and the corresponding interface. This is very similar to VPI/VCI mappings in the ATM Network or ______mappings in the FR Network or ______mappings in the X.25 Network
  • Each LSR looks at the inbound label, determines the corresponding outbound label and the out interface from the table, replaces the old label with the new label and forwards the packet to that outbound interface.
  • This is very similar to how ATM, FR and X.25 Networks route traffic through a virtual circuit..
  • The labels are locally significant only as the DLCI values in FR, meaning that the labels are only useful and relevant on a single link between the adjacent LSRs.
  • Thus the adjacent LSRS label table form a LABEL SWITCHED PATH (LSP)through an MPLS Network based on a Forwarding Equivalency Class (FEC)

Forwarding Equivalency Class (FEC):

  • FEC is a very important concept in MPLS.
  • FEC refers to the idea that all packets belonging to a specific Class Of Service (COS) or a Specific set of Quality of Service (QoS) requirements be forwarded to the same next hop or along the same MPLS path.
  • Thus FEC is all packets to which a specific label is attached. The FEC for a packet can be determined by:

Source or Destination IP Addresses or IP Network Addresses

Source or DestinationPort Numbers

IP Protocol ID

Differentiated Service Code point

Specific COS or QOS requirements (Such as low latency, low packet loss, low jitter etc

Specific flow requirements (Queuing and discard policies etc)

  • LSPS are pre established based on the FEC requirements of the customer at the time of session negotiation by the ingress Edge Router using Label Distribution Protocol(LDP), RSVP etc and communicated to all LSRS backward from the Egress Router to the Ingress router. Each router in this newly created LabelSwitched Path update their LIBS based on this new information.
  • Binding: is the process of assigning labels to specific FEC
  • A Label Distribution Protocol (LDP): Allows MPLS LSRs to bind labels to a specific FEC and communicate this binding to other LSRs in the path and subsequently pre-establish a Label Switched Path (LSP) for the incoming traffic.
  • Thus LDP is an official way for one LSR to say to another LSR “ lets use this Label to get the packets with this FEC to this destination really fast”.
  • Thus LDP establishes a Label Switched Path (LSP) between ingress LSRs and egress LSRs for a given FEC.
  • The Labels are bound to an FEC based on the following criteria:

Destination unicast Routing (simple Routing)

Traffic Engineering considerations such as congestion, queuing or some policy requirements or service requirements

QoS requirements such as low latency, BW, low packet loss, low jitter (for Voice and Video transmission)

VPN Tunnelling, Security, privacy, Data integrity etc

  • Label Merging: Notice also that the incoming traffic from different interfaces can be merged together and switched using a common label, if they are travelling to the same final destination or they belong to the same FEC.
  • This is how an MPLS Network guarantees high speed L2 Switching and QoS without the complexity and cost of an ATM Network.

The relationship between the FEC, LSP and the Labels:

  • The essence of MPLS is that the traffic is grouped into FECs. The individual packets in an FEC are uniquely identified as being part of a given FEC by means of a locally significant Label.
  • The traffic in an FEC transits an MPLS domain along a pre-established LSP that satisfies the requirements of the given FEC
  • At each LSR, each labelled packet is forwarded on the basis of its label value, with LSR replacing the incoming label value with outgoing label value.
  • This process requires 3 operational steps to be carried out before the actual transmission of packets take place.
  1. Traffic must be assigned to a particular FEC.
  2. A routing Protocol is needed to determine the topology and current conditions in the MPLS domain so that a a particular LSP can be assigned to the given FEC. This Routing Protocol must be able to gather and use information to support the QoS requirements of the given FEC.
  3. Individual LSRs must become aware of the LSP just established for the given FEC, must assign an incoming Label to the LSP, and must communicate that label to any other LSR that may send it packets for this FEC.
  • Traffic Assignment to an FEC:The assignment of traffic to a particular FEC is done either by manual configuration (in other words, the Network Manager manually tells the LSRs that this type of packet belongs to this FEC), or by means of a signalling protocol or by an analysis of the incoming packets at ingress LSRs.
  • Route Selection: Route selection refers to the selection of an LSP for a particular FEC. The MPLS architecture supports 2 options
  1. Hop-by-Hop Routing: In this case each LSR independently chooses the next hop for each FEC. The LSRs use existing OSPF protocol to make the routing decisions. This method allows rapid switching by labels and support for differentiated service. How ever it does not support traffic Engineering and policy Routing (Policy Routing refers to defining Routes on some policy related to QoS, Security, Queuing and discard mechanisms etc).
  2. Explicit Routing: In this kind of Routing, a single LSR, usually the ingress or egress LSR, specifies some or all of the LSRs in the LSP for a given FEC. Explicit Routing provides all the benefits of MPLS, including Traffic Engineering and policy Routing. Explicit Routing can be of 2 types.

a)Static Explicit Routing: The Ingress or Egress LSRs are preconfigured to analyze the packets as they entered the MPLS domain, in other words, the LSPs are setup ahead of time for all kinds of FECs.

b)Dynamic Explicit Routing: The LSPs are determined dynamically at the time of arrival of each packet. In this case, the LSR setting up the LSP would require information about the topology of the MPLS domain and the QoS related information pertaining to the given FEC.

  • A routing Algorithm that accounts for the traffic requirements of various flows and the resources available along various hops and through various nodes is called a CONSTRAINED BASD ROUTING .
  • Dynamic Routing uses LDP ( Label Distribution Protocol and RSVP- the Resource Reservation Protocol) to calculate an LSP corresponding to a given FEC. These protocols gather information regarding

Maximum link data rate

Current capacity reservation

Packet loss Ratio

Link propagation Delay

And other parameters, to calculate the Route along the LSP.

Label Distribution Protocol: Performs following functions:

  • Assigns a Label to the LSP to be used to recognize incoming packets that belong to the given FEC(done by manual configuration)
  • Informs all potential upstream nodes of the label assigned by this LSR to this FEC, so that these nodes can properly label packets to be sent to this LSR
  • Learns the next hop for this LSP and learn the Label that the downstream node has assigned to this FEC.
  • Thus the essence of the Label Distribution protocol is to allow one LSR to inform others of the Label /FEC bindings it has made. It also allows 2 LSRS to learn each others MPLS capabilities

MPLS Header:

  • MPLS sticks a 32 bit Header as shown below:
  • Label (20 Bits): Carries information about setting up the LSP based on a given FEC. Either Manual configuration or inserted on the basis of static or dynamic routing protocol
  • COS (3 bits):Defines the required Class of Service. With 3 bits, 8 possible classes. Affects the Queuing and discard algorithms as the packet travels through the Network. Some times it is copied from the IP Header TOS field.
  • S (STACK) ( 1 BIT): MPLS supports multiple Labels. The processing of labelled stack is always based on the top stack. We shall study this feature of MPLS in more detail shortly.
  • TTL (Time To Live) ( 8 bits): Same function as TTL in the IP Header. The packet is killed after travelling the specified number of hops and if the packet has still not reached is destination.

Label Stack Operation:

  • One of the most powerful features of MPLS is Label Stacking.
  • A Labelled packet may carry many labels, organized as a last in –first out stack
  • Processing is always based on the top label
  • At any LSR, a label may be added to the stack (push operation), or removed from the stack (pop operation)
  • Label Stacking allows wrapping or enveloping several LSPs into a single LSP for the portion of the route through a Network, effectively creating a tunnel. See picture below
  • At the beginning of he tunnel, an LSR assigns the same label to to packets from a number of LSRs by pushing the label onto the stack of each packet.
  • At the end of the tunnel, another LESR pops the top label from the label stack, exposing the inner labelbelow the top label.
  • This is very similar to ATM, a VC within a VP, however, MPLS supports unlimited stacking.
  • Consider the Fig shown.
  • The concept will be explained with a concrete example. Look at the Fig shown:
  • LSP1 consists of LER1 to LER2 to LER3 to LER4.
  • LER1, LER2, LER3,LER4 (the edge routers) use BGP to create LSP1 between themselves. LER1 knows that its next destination is LER2, as it is transporting data through 2 different Networks or Network Segments
  • Similarly, LER2 is aware that LER3 is its next destination and LER3 knows that LER4 is its next hop and so on. This is established via BGP (the Border Gateway Protocol)
  • Also, they have established LSP1 between the source A and destination B using LDP
  • LDP allows LER1 to receive and store labels from LER4 to LER3 to LER2 to LER1, using following LDP messages, prior to actual transmission.

Discovery message: Announces and maintains the presence of an LSR in a Network.

Session Message: Establishes, maintains terminates sessions between LDP enabled LSRs.

Advertisement Message: Creates, changes, modifies, and deletes labels based on a given FEC:

Notification Messages: Provides advisory information and signal error information.

  • However, for LER1 to send data to LER2, it must go through several intermediate LSRs within Netwok1 (LSR1, LSR2, LSR3).
  • Therefore a separate LSP (LSP2) is created between the 2 edge routers (LER1 and LER2), over the 3 inner LSRs (LSR1,LSR2,LSR3)
  • This in effect, represents a tunnel between the 2 outer LERs (LER1 and LER2).
  • The Labels in this path are different from the Labels that outer LERs created for LSP1.
  • This also holds true for LER3 and LER4. An LSP3 is created to to transport packets over LSR4, LSR5 and LSR6.
  • To achieve this, the Label Stacking is used to transport packets through different autonomous Networks or through different Network Segments.
  • Thus, as a packet travels through LSP1, LSP2, LSP3, it will carry2 complete labels at a time
  • For the first segment, LSP1 and LSP2 labels and for the 2nd segment, LSP1 and LSP3 labels.
  • When the Packet exits the first Network, LER3 will do 2 things
  1. It will remove the label for LSP2 and replace it with the label for LSP3, and
  2. At the same time, it will swap LSP1 label with the packet with the next hop label for LER4 ( which is its next hop)
  • LER4 will remove both labels before sending it to the destination
  • This feature is extensively used in MPLS based VPNS

MPLS Operation:

Following steps must be taken for Data to travel through an MPLS Network

(a)Label creation and distribution

(b)Table creation at each MPLS enabled Router

(c)LSP creation

(d)Label insertion /Table lookup

(e)Packet forwarding based on the table lookup

  • Consider the fig shown:
  • In this fig, LER1 is the INGRESS Router and LER4 is the EGRESS Router.

(a) Label Creation:

  • Before any traffic begins, the routers make decisions to bind a label to a specific FEC and build their tables
  • In LDP, downstream routers initiate the distribution of labels and the label/FEC binding.
  • Also, traffic related characteristics and MPLS capabilities are negotiated using LDP
  • LDP uses TCP for these signalling messages to ensure reliability and accuracy.

(b)Table Creation:

  • On receipt of Label bindings from the downstream LSR, each LSR creates entries in their Label Information Base (LIB)
  • The content of the table will specify the mapping between a label and and an FEC
  • This label Routing table contains the mapping between the input label and input port to the output label and output port
  • Notice that these entries are updated whenever renegotiation of the label binding occurs.

© LSP Creation:

  • As shown in the fig by the dashed line, the LSPS are created in the reverse direction to the creation of entries in the LIBS

(c)Label Insertion/Table lookup:

  • The first Router (LER1), uses the LIB table to to find the Label for the specific FEC and the corresponding next hop.
  • The subsequent reouters just use the Label to find the next hop
  • Once the packet reaches the EGRESS Router LER4, the label is removed and the packet is forwarded to the destination

(d)Packet Forwarding Process:

With reference to the Fig shown above, let us trace the path of a packet as it travels from the LER1 to LER4.

  • LER1 does not have a label for this packet yet, as it is the first occurrence of this request.
  • LER1 initiates a Label request for this packet using LDP or CR-LDP, which propagates through the Network from LER1 to LSR1 to LSR2 to LSR3 to LER4 as shown by the dashed line.
  • Each intermediary Router will receive a Label from its downstream router starting from LER4 and going upstream till LER1, thus setting up an LSP for this packet in the reverse direction (from LER1 to LER4).
  • LER1 will insert the Label and forward the packet to LSR1
  • LSR1 will examine the Label in the received packet, consults its Label Routing table, sticks a new Label with the mapping it finds in the table and forwards the packet to the output port specified in the table and forwards the packet to LSR2
  • Each subsequent Router will repeat the process until it reaches the EGRESS LSR LER4.
  • When the Packet reaches the LER4, it will remove the Label and deliver it to the destination.
  • Fig above shows the actual data path followed by the packet.
  • Fig below shows the Routing table

InputPort / IncomingPort Label / OutputPort / Outgoing Port Label
1 / 3 / 3 / 6
2 / 9 / 1 / 7
  • The table above shows how 2 different packet streams are routed differently. The stream coming on input port 1 is a regular FTP stream, whereas one coming on input port 2 is an intensive video stream requiring traffic Engineering QoS (low latency, low jitter, low packet loss etc)
  • These packet streams are classified into 2 FECs at the ingress LSR LER1
  • The label mappings associated with the streams are 3 and 9 respectively
  • The input port at the LSR are 1 and 2 respectively
  • The corresponding output interfaces are 3 and 1 respectively
  • Label swapping is done and the previous labels are exchanged for 6 and 7 respectively.

MPLS Protocol Stack Architecture: