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-established paths 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 Hyder Khoja Page 1 3/7/2016 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. Hyder Khoja Page 2 3/7/2016 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 Destination Port 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 Label Switched 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. Hyder Khoja Page 3 3/7/2016 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 Hyder Khoja Page 4 3/7/2016 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 Hyder Khoja Page 5 3/7/2016 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. Hyder Khoja Page 6 3/7/2016 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. Hyder Khoja Page 7 3/7/2016 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) (b) (c) (d) (e) Label creation and distribution Table creation at each MPLS enabled Router LSP creation Label insertion /Table lookup 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. Hyder Khoja Page 8 3/7/2016 (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 Hyder Khoja Page 9 3/7/2016 (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 Input Port 1 2 Incoming Port Label Output Port 3 3 9 1 Outgoing Port Label 6 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: Fig below shows MPLS Protocol Stack. Hyder Khoja Page 10 3/7/2016 Routing Module can be OSPF, BGP, or ATM PNNI. The LDP/CR-LDP uses TCP for reliable transmission of control data from one LSR to another LSR. However during the discovery phase of its operation, LDP uses UDP. In this phase, the LSRs try to identify their neighbours and also announce their own presence. This is done through the exchange of Hello Packets. The LDP is also responsible for creating, updating and maintaining the LIBS. Notice that the Layers shown in the box with the broken lines, can be implemented in hardware for fast, efficient switching. MPLS Applications: 1. Fast Layer 2 Switching: Increases Network Performance because it allows routing by switching at fast wireline speeds. Allows easy implementation 2. Supports traffic engineering, QoS, and COS differentiation 3. Supports Network Scalability 4. Integrates IP and ATM: Provides a bridge between access IP and Core ATM 5. MPLS can reuse existing Router/ ATM Switch Hardware, effectively joining the two disparate Networks 6. MPLS builds interoperable Networks. 7. MPLS facilitates IP-over SONET integration in optical switching 8. MPLS helps build scalable VPNs with Traffic Engineering capability Hyder Khoja Page 11 3/7/2016