For the past couple of years, Multiprotocol Label Switching, or MPLS, has been held up as the solution to many of the performance and scaling problems service providers are experiencing in their IP networks. But should it be deployed on your enterprise WAN?
The concept behind MPLS operation is simple. Within an MPLS network, each switching node (called a label switching router, or LSR) looks at a label attached to an incoming packet and uses it as an index into a table to determine the outbound link to which the packet should be forwarded. The LSR then assigns a new label with information meaningful to the next node and forwards the packet on the outbound link. Thus, each packet is forwarded hop by hop across the MPLS network, with label swapping occurring at each LSR node.
While each label has local significance only (that is, the label may be different on each link), the effect is to create an end-to-end path across the MPLS network. An MPLS network doesn't route traffic based on packets' IP addresses; they are ignored. Nor does it route based on asynchronous transfer mode (ATM) virtual circuit or path identifier (VCI/VPI) information. Thus, a network composed of LSR nodes is not an IP network or an ATM network -- it's a new and different animal, a MPLS network.
While MPLS is technically a multiprotocol label swapping technique that could work with any Layer 3 protocol, no one expects to use it with any protocol other than IP; it's generally thought of as a way to link IP routers. If developers attempted to expand MPLS to cover other protocols, the result might look very much like ATM, and no one wants to reinvent that wheel.
The label switching techniques used by LSRs are similar to the ways in which ATM switches forward traffic based on VCI/VPI information in ATM cells. Many ATM switches can be reprogrammed as MPLS LSRs. Some vendors' implementations allow both MPLS and ATM to run on a network simultaneously -- the two disparate types of products can work together as part of the same backbone.
MPLS is the convergence of connection-based forwarding techniques and IP routing protocols. MPLS creates label-switched paths over the same shortest-path trees packets would have traveled had a network been built with conventional routers.
If that's the case, then why run MPLS? MPLS has some distinct advantages when it comes to creating virtual private networks. With it, you can create the equivalent of X.25 closed user groups; that is, you can designate a group of ports to be a VPN. The users on those ports can then run their own addressing schemes. While this is great for a service provider, it's of little value to most organizations.
But do you need MPLS?
To determine if MPLS is right for your network, you first have to decide if your WAN is or will become an all-IP network. If not, use ATM; it's the only packet-based multiprotocol/multiservice network technology available.
MPLS can take advantage of both ATM's cell-switching capabilities and high-speed packet forwarding techniques, and it simplifies packet processing within core Internet routers. However, advances in the design of conventional gigabit routers have yielded similar performance and traffic differentiation capabilities. A number of router architectures support differentiated queuing and scheduling at OC-48 speeds and above. Therefore, improved queuing and scheduling technologies may apply equally to IP routers and LSRs. Given the speed gains of IP switches and routers, you have little to gain by moving to topology-driven MPLS unless you want to optimize a legacy ATM network currently carrying IP traffic.
If optimizing an ATM network is your goal, replacing ATM switches with gigabit routers provides the same result and removes the ATM layer from the network. This simplifies network management and eliminates the inevitable problems with maintaining multiple network technologies.
The bottom line? If you're running an all-IP network, MPLS adds very little value. If you're running multiple protocols, then ATM is the best solution. MPLS is best only when you want to run multiple networks across one WAN, the way a service provider would.