- What Is MPLS?
- Why Is MPLS Needed?
- How Is MPLS Done?
- When and Where Is MPLS Used?
- Who Is Doing MPLS?
- The Label Switching Paradigm
- A Quick Introduction to MPLS
- Evolution of Internet Network Models
- Basics of the Internet
- Internetworking Technology Basics
- More Basics: Graph Theory and Modeling Language
- The Promise of MPLS
- The Promise of the Promise of MPLS
- Summary
A Quick Introduction to MPLS
The MPLS technologies are a set of procedures for combining the Layer 2 label swapping paradigm with Layer 3 routing functionality. The basic premise of MPLS is that by assigning short, fixed-length labels to packets and then using only these pre-assigned labels for forwarding, certain efficiencies and additional, desirable network behaviors can be achieved.
There are three major steps in setting up and using an MPLS-enabled network:
Enabling network devices for MPLS
Setting up forwarding equivalence classes (FECs) and configuring LSPs
Passing MPLS traffic, and monitoring and controlling the network
The initial step is adding the MPLS technology to the network and appropriate devices. This includes adding the appropriate hardware and software to the network devices, configuring the signaling software to assign and distribute the labels, performing any additional configuration duties such as setting up the interfaces, working with other routing and control software, interfacing to the data forwarding logic, and so on. MPLS-enabled routers are called label-switched routers (LSRs). ATM switches that have the MPLS capability added to them are often called ATM-LSRs. For an ATM-LSR, the TCP/IP stack is required for the MPLS control plane signaling and data forwarding logic to process the MPLS labels that become part of the ATM cells.
Figure 18 on the next page shows the MPLS domain. Again, the MPLS domain is defined as a set of nodes that is capable of supporting MPLS functionality. The packet traffic flow is always unidirectional, thereby enabling the definition of an entrance to the domain, intermediate hops, and an exit back to conventional Layer 3 routing. The roles of the MPLS-enabled routers within the MPLS domain are called the ingress LSR, the transit LSR, and the egress LSR, respectively. Because the ingress and egress LSRs are at the edge of the domain, they are often called label edge routers (LERs). In other words, an LER is an MPLS node that is connected to a neighboring node that is outside the MPLS domain, and therefore not running MPLS.
Figure 18 The MPLS domain.
the MPLS-enabled routers within the MPLS domain are called the ingress LSR, the transit LSR, and the egress LSR, respectively. Because the ingress and egress LSRs are at the edge of the domain, they are often called label edge routers (LERs). In other words, an LER is an MPLS node that is connected to a neighboring node that is outside the MPLS domain, and therefore not running MPLS.
The second step in setting up an MPLS network is configuring the forwarding equivalence classes (FECs) and LSPs.
An FEC is a group of IP packets that will be forwarded in the same manner, that is, over the same path, with the same forwarding treatment. The input FEC classification decision is shown in Figure 19. Because MPLS generally uses control-driven label assignment, which label is applied to which incoming network layer packet is predetermined by setting up these FECs ahead of time. There should be an FEC to assign any unlabeled incoming packet into a group that will become MPLS-labeled packets. A table within the MPLS-enabled router then assigns the MPLS label, the outgoing interface for forwarding, and other MPLS-related information based on which FEC the incoming packet is a member of.
Figure 19 The forwarding equivalence class decision.
An important point to remember is that FEC membership determination is done only onceat the ingress LSR. In conventional IP routing, a lookup must be done at every router to determine the next hop for a packet and a full packet header analysis must be done at every hop. In MPLS, because the path has been set up ahead of time, there is no further analysis of the network layer packet header required at the intermediate nodes, only the swapping of labels in the data forwarding mechanism. Determining which route (LSP) an incoming packet will use is one of the important improvements over conventional IP routing in terms of routing flexibility.
Packet header analysis can be used to give an even finer grained FEC determination classification. Much work, particularly in network processor hardware design, is being done in this area. Whereas conventional IP routing is based on the destination address found in the network layer header only, newly developed techniques are offering finer resolution in analyzing fields in packet headers in other layers. This deeper analysis will enable a next generation of IP-based services and applications such as TE and QoS by analyzing the traffic more closely.
Figure 110 shows a network processor chip that can interrogate (ideally, at wire speed) preprogrammed fields in the header of an input buffer queued packet. At Layer 2 (Ethernet, in this example), various prioritization fields in the header can be recognized. For instance, in Ethernet, the 802.1p standard specifies three bits that can be used for Layer 2 packet prioritization. At Layer 3, there are many additional header fields that can be analyzed to help define packet treatment. By looking at source and destination IP addresses, various flow prioritization schemes can be implemented. Port values for transport services are often investigated at Layer 4, and applications can be classified by using logic to categorize each recognizable application flow type.
Figure 110 Packet header analysis.
Before the FEC classification has determined the label value and outgoing interface for any particular packet's LSP, the MPLS signaling and label distribution protocols must have distributed the proper labels within the domain to create those LSPs. The MPLS architecture does not mandate a specific label signaling and distribution protocol; therefore, today there are several protocols that are in use to create various types of LSPs. The main MPLS label protocols include the Label Distribution Protocol (LDP), RSVP-TE, and CR-LDP. A complete discussion of these protocols is included in Chapter 5, "MPLS Signaling and Label Distribution."
Network management plays a major role in configuring MPLS LSRs and LSPs. Via SNMP and Command Line Interfaces (CLI), network administrators set the proper values to enable MPLS on their networks.
Finally, the network is ready to pass traffic down its MPLS LSPs. Figure 111 shows a sample network configured to pass traffic. When the ingress LSR A recognizes that an incoming Layer 3 packet is to be sent down an LSP based on which FEC the packet is a member of, the ingress LSR encodes the MPLS label onto the packet. In this example, one FEC would place label 19 for LSP A-B-D, and another FEC would place an MPLS header with label value 99 on the packet for LSP A-C-D. At the transit LSR, the incoming label becomes an index into a table that assigns a new label and other associated information. Transit LSR B swaps label 76 for incoming packets that contain 19 as their top label value. The transit LSR then uses the corresponding outgoing interface to send the packet to egress LSR D. The transit LSR performs a similar operation for packets arriving at its incoming interface with label 99. At egress LSR D, the label is removed and the packet is forwarded as necessary using conventional network layer routing. The packet has left the MPLS domain.
Figure 111 Passing traffic in the MPLS domain.
Network management also plays a vital role in monitoring and controlling an MPLS network once has been configured. LSP usage and how the label distribution protocols are operating are only two of the tasks that are necessary for managing a properly running MPLS network.
The future of MPLS is in refining and extending network services and adding new applications based on tested and implemented MPLS deployments.