Kevin Gilmartin TDC 372 MPLS NetworkWorld.com lists MPLS as one of the “six hot technologies for 2006.” This was subject of a class presentation as well as lecture, and I felt that because of this, it was important to learn why MPLS is a “hot” technology and why it is important to learn about it. MPLS can be broken down into it’s operation, implementation, and applications. However, the background of MPLS and what exists previous/without it is also required. MPLS, which stands for Multiprotocol Label Switching, is not a new technology. MPLS has existed since the mid-1990’s, and it has had services available since 2000. However, only now has grown in popularity because of its support of Quality of Service (QoS), Virtual Private Networks (VPN), and Voice over IP. (VoIP) All of these technologies have become popular which has led to the popularity of MPLS. MPLS is not a protocol in and of its own but uses and improves other protocols on Layer 2 and Layer 3 of the OSI model. This is quite unique because routers by themselves deal only with Layer 3 and not Layer 2. A network without MPLS must rely on routers to pass frames from a source to a destination in a hop-by-hop basis. Usually, routers look at a frame’s Layer 3 header and determine its next hop address. However, this tends to reduce throughput in a network because of the intensive CPU requirements to process each frame. As previously stated, routers themselves have little if no dealing with Layer 2, and because of this, there is a lot of pressure on the router to send packets as fast as they can out on the network. However, since there are such high traffic demands, this is becoming more and more difficult for a router alone to do. Because of this pressure, new traffic solutions needed to be developed, and MPLS as well as others such as Tag Switching, were created in hopes of reliving the pressure. Tag Switching itself is a predecessor to MPLS, but is considered by our textbook to be superceded by MPLS in the near future. MPLS is designed to change how routers send packets. Instead of sending packets hop-to-hop, MPLS uses devices to set a clear-cut path in the network that the packets travel based upon QoS and bandwidth requirements. Basically, MPLS takes into account Layer 2 attributes as well as Layer 3 attributes. It is important to understand the operation of MPLS. However, in order to understand it, one must know certain terminology and devices. The label is a header, created by an edge label switch router and used by label switch routers to forward packets. The Label Switch Router (LSR) is basically a router designed for MPLS that forwards entities based on the label values. The Label Forwarding Information Base (LFIB) is basically a routing table for the LSR. It says where and how to forward particular frames with certain label values. The edge Label Switch Router (edge LSR) is a device that adds labels on packets when they are sent and removes labels when they are received. A Label Switched Path (LSP) is the path defined between two LSRs for packet travel. It is necessary to understand all of these components in order to understand the operation of MPLS. If one is not familiar with the terms, none of the operation will make sense. In MPLS operation, a client PC sends a packet. This packet goes to the edge LSR where a label is added to the packet. Depending upon what service is being used (ATM, Frame Relay, Ethernet), the label is put in a different part of the packet. The edge LSR then sends the packet to the LSR where it reads the label and negotiates a LSP with the destination LSR based on the label, bandwidth requirement, and QoS requirement. Once this has been reached, the packet is sent out on the next LSR until it reaches the destination LSR. Once it makes it there, the edge LSR strips the packet of its label and the packet is delivered. Because the LSRs simply had to look at the LFIB and forward the packet rather than going through all of the operations a normal router would have to between each stop, the packet traveled significantly quicker. Although this may seem simple, it is a bit more complex than this. <<<Figure>>> MPLS relies on two principal components. One of those components is forwarding. The other is control. The forwarding component relates to exactly how the packets are forwarded. The control component creates label bindings and then distributes the label-binding information. The forwarding technique used by MPLS is based on the notion of label swapping. When a packet with a label in it is acknowledged by the LSR, the switch uses the label as an index in its LFIB. Each entry in the LFIB consists of at least an incoming label and one or more subentries such as an incoming interface, an outgoing label, an outgoing interface, and/or outgoing link-level information. If the switch finds an entry that has the same incoming label to that of the label carried in the packet, then, for each part of the entry, the switch replaces the label in the packet with the outgoing label from the LFIB table, replaces the link-level information in the packet with the outgoing link- level information from the LFIB table, and forwards the packet over the outgoing interface. A packet in MPLS is forwarded according to its Forwarding Equivalence Class. (FEC) A FEC is a group of packets that are treated the same way by a router. Several things can define a packet’s FEC such as destination IP address, source IP address, TCP/UDP port, class of service (CoS) or type of service (ToS), application used, or any combination of each. FEC helps provide “flexibility, scalability, and traffic engineering” (MPLS) for the process of forwarding packets. Basically, FEC helps simplify and organize the forwarding process in MPLS so it can forward quickly and more efficiently than its competitors/predecessors. Because of this method, one can make several assessments of MPLS. First, the forwarding process is based on the exact-match algorithm using a fixed-length as well as fairly short label as an index. This creates a “simplified forwarding procedure, relative to longest-match forwarding traditionally used at the network layer.” (MPLS) This helps enables higher packets per second. The forwarding procedure is simple enough to allow a pretty much straightforward hardware implementation as opposed to a complex system of organization that is hard to understand and slower to route. Another assessment made of MPLS made is “the forwarding decision is independent of the label's forwarding granularity.” (MPLS) What this means is that forwarding decisions does not rely on router functions to forward the packets but rather it’s own independent function. If one needs to update a router or add more functions to it, the forwarding process is not disturbed by it. This also lessens the complexity of forwarding and helps Network Administrators manage their equipment. This also allows Networks to run whatever type of technology they want since the forwarding is independent of it. An important idea to note when discussing the forwarding process is Label Encapsulation. Because MPLS can support a variety of technologies such as Frame Relay, ATM, or Ethernet, the Label Encapsulation is different for each. For Layer 2 technologies, MPLS has a “shim header” which is located between the Layer 2 and network layer headers. The shim header consists of 4 bytes. (Which is 32 bits) The first 20 bits is for the label itself. The next 3 bits is for “Experimental Use.” The next bit is called the “Bottom of Stack” which is set to 1 if it is the last packet to be sent. The final 8 bits is used for the “Time To Live” which is important in IP, PPP, and Ethernet but not present in ATM. However, this field overall is needed because MPLS may not necessarily run on a MPLS network. It can also run on a non-MPLS network. The other principal component of MPLS is control. The control component refers to the idea of binding between a label and network layer routes. Basically, labels can be bound to routes, and this can be done several ways. One way is a label can be bound to a specific route, which is similar to the legacy routing. Another way is a label could be bound to a group of routes. Yet another way is a label could be bound to an individual application flow, such as VoIP. Finally, It could also be bound to a multicast tree. It is the control component that creates label bindings and then distributes the label binding information to the LSRs. It does so using the Label Distribution Protocol (LDP). With destination-based routing, a router makes a forwarding decision based on two criteria. The first is the Layer 3 destination address carried in a packet. The other is information stored in the forwarding information base (FIB) maintained by the router. A router constructs its FIB by “using the information that the router receives from other routing protocols, such as OSPF and BGP.” (MPLS) The FIB basically uses other protocols to make its own table. In order to support destination-based routing with MPLS, an LSR contribute to routing protocols and constructs its LFIB by using the information that it takes from these protocols. It is this action that makes it comparable to a router. However, an LSR has to deliver and use allocated labels for LSR peers to forward the frame in the correct fashion. In order to do this, LSRs distribute labels using the LDP. A label binding links a destination subnet to a locally significant label. Whenever an LSR discovers a neighboring LSR, the two establish a TCP connection to transfer their label bindings. LDP then exchanges “subnet/label bindings” (MPLS) using one of two methods. One of those methods is downstream-unsolicited distribution. The other is downstream-on-demand distribution. In order for anything to work, both LSRs must agree as to which method they will use. Downstream-unsolicited distribution scatters labels if a downstream LSR has to establish a new binding with its neighboring upstream LSR. The LSR then announces to the upstream router a binding so it can reach this network. The other method, downstream-on-demand distribution, a downstream LSR sends “a binding upstream only if the upstream LSR requests it. If it does not, then there is no binding sent.” (MPLS) For each different route in its route table, the LSR identifies the next hop for that route. It then issues “a request using LDP to the next hop for a label binding for that particular route.” (MPLS) When the next hop receives that request, it first assigns a label, then creates an entry in its LFIB with the incoming label set to the allocated label, and finally returns the binding between the incoming label and the route to the LSR that sent the first request. Once the LSR receives the binding information, the LSR creates “an entry in its LFIB and sets the outgoing label in the entry to the value it got from the next hop.” (MPLS) What this all basically means is that when a label is received by the LSR, the LDP gives the packet a label that is only locally significant because after it makes it next hop, the label loses meaning and is changed. One important fact, brought up in class in the lecture for MPLS is the fact that many carriers use a ATM backbone because it was thought to be the final solution in WAN technologies 15 years ago. These days, this is not the case, but the infrastructure still exists, and many companies feel it is too expensive to completely replace it. MPLS is a good alternative to upgrade service without a complete infrastructure overhaul. However, there are certain things are unique for ATM in MPLS. In order for MPLS technologies to be applied to ATM switches, the control component from MPLS must be implemented. The label information from MPLS needed for tag switching can be inserted into the ATM VCI field. If two levels of labeling are needed, then “the ATM VPI field could also be used even though the size of the VPI field will limit the size of networks in which this would be useful.” (MPLS) For the most part, this is not necessary. Usually, the VCI field is more than enough for most applications. One advantage of applying MPLS on an ATM switch is that it simplifies the incorporation of ATM switches and routers. An ATM switch capable of MPLS appears to the router as an adjacent router. Doing this adds a scalable alternative to the original overlay model and would remove the necessity for ATM addressing, routing, and signaling schemes that complex the ATM process. Another important point is that because “destination-based forwarding is topology-driven rather than traffic-driven, application of this approach to ATM switches does not involve high call-setup rates, nor does it depend on the longevity of flows.” (MPLS) This means that the destination-based forwarding not only simplifies the process but also does not make it totally dependent on the flows. There are two other important topics in MPLS. One of them is Traffic Engineering. The other is Quality of Service. “Traffic engineering allows a network administrator to make the path deterministic and bypass the normal routed hop-by-hop paths.” (MPLS) An administrator may need to explicitly define the path between stations to make sure that they have efficient QoS or to reduce traffic loading across certain hops in the network. In MPLS, the network administrator “can reduce congestion by forcing a frame to take a path around the overloaded segments in the network.” (MPLS) Basically, traffic engineering allows a network administrator to define exactly how a packet should travel rather than leaving it up to the router to decide. Many people compare traffic engineering to source routing because in source routing, an explicit path is defined for the frame to travel. However, MPLS traffic engineering is different because the hop-byhop definition is not carried with every frame like source routing. Instead, the hops are configured in the LSRs ahead of time along with the appropriate label values to save time and speed. The other important MPLS capability is quality of service (QoS) support. The QoS capability has several mechanisms, but the classification of incoming packets into different classes and classification based on network characteristics are the most important two. A label that corresponds to the ensuing class is applied to the packet. The labeled packets are handled by LSRs in their path without needing to be reclassified. Then, MPLS enables simple logic to find the state that identifies how the packet should be scheduled. However, the exact use of MPLS for QoS purposes depends a great deal on how QoS is deployed. MPLS can support many different QoS protocols, such as IntServ, DiffServ, and RSVP that were talked about in ATM. MPLS has many distinct advantages that make it a smart upgrade for any network. It improves forwarding speed, reduces burdens on routers, allows fexiblity and scaliablity, provides traffic engineering and QoS, and best of all, does not require a huge network overhaul. MPLS is an emerging technology that is becoming a billion dollar business. MPLS is the future of the networking world. Works Consulted http://www.webopedia.com/TERM/M/MPLS.html http://www.iec.org/online/tutorials/mpls/ http://www.networkworld.com/topics/mpls.html http://www.cisco.com/en/US/products/ps6557/products_ios_technology_home.html http://en.wikipedia.org/wiki/MPLS http://searchnetworking.techtarget.com/infoCenter/definition/0,295854,sid7_gci214350_i id2651,0.html “MPLS”, Internetworking Technology Handbook, Cisco Systems, http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/