Thứ Sáu, 24 tháng 12, 2010

MPLS Tutorial

 What is MPLS (Multi Protocol Label SwitchingChapter 1

Introduction
The exponential growth of the Internet over the past several years has placed a tremendous strain on the service provider networks. Not only has there been an increase in the number of users but there has been a multifold increase in connection speeds, backbone traffic and newer applications. Initially ordinary data applications required only store and forward capability in a best effort manner. The newer applications like voice, multimedia traffic and real-time e-commerce applications are pushing toward higher bandwidth and better guarantees, irrespective of the dynamic changes or interruptions in the network.
To honor the service level guarantees, the service providers not only have to provide large data pipes (which are also costlier), but also look for architectures which can provide & guarantee QoS guarantees and optimal performance with minimal increase in the cost of network resources.
MPLS technology enables Service Providers to offer additional services for their customers, scale their current offerings, and exercise more control over their growing networks by using its traffic engineering capabilities. On the other hand, Diffserv using its scalable differentiation enables differential pricing scheme for providing differential QoS. Putting it simply, MPLS is a switching technology used to get packets from one place to another through a series of hops while DiffServ governs what happens to the packet at each hop. The marriage of these two technologies, Diffserv over MPLS, provides another interesting alternative solution to the bag of existing ones.
On the other hand, compared to Diffserv over MPLS which is still an evolving technology, SNMP is a widely deployed network management protocol capable of catering to a large number of device classes. SNMP, being such a widely accepted and understood management protocol standard, can be effectively used to gather traffic characteristics from the routers in the core network. The information gathered can be used for provisioning and for traffic engineering by the network operators at the Network Operating Centre (NOC).
Chapter 2
MPLS and Its Benefits
2.1 MPLS Operation

IP-based networks typically lack the quality-of-service features available in circuit-based networks, such as Frame Relay and ATM. MPLS brings the sophistication of a connection-oriented protocol to the connectionless IP world. Based on simple improvements in basic IP routing, MPLS brings performance enhancements and service creation capabilities to the network.
MPLS stands for Multiprotocol Label Switching; multiprotocol because its techniques are applicable to ANY network layer protocol, of which IP is the most popular.
Before explaining MPLS, here are some of the terms which are used extensively in MPLS jargon:
1. Forwarding Equivalence Class (FEC): a group of IP packets which are forwarded in the same manner (e.g., over the same path, with the same forwarding treatment).
2. MPLS header: The 32-bit MPLS header contains the following fields:
i. The label field (20-bits) carries the actual value of the MPLS label.
ii. The Class of Service (CoS) field (3-bits) can affect the queuing and discard algorithms applied to the packet as it is transmitted through the network. Since the CoS field has 3 bits, therefore 8 distinct service classes can be maintained.
iii. The Stack (S) field (1-bit) supports a hierarchical label stack. Although MPLS supports a stack, the processing of a labeled packet is always based on the top label, without regard for the possibility that some of other labels may have been above it in the past, or that some number of other labels may be below it at present. An unlabeled packet can be thought of as a packet whose label stack is empty (i.e., whose label stack has depth 0). If a packet's label stack is of depth m, we refer to the label at the bottom of the stack as the level 1 label, to the label above it (if such exists) as the level 2 label, and to the label at the top of the stack as the level m label. The label stack is used for routing packets through LSP Tunnels.
iv. The TTL (time-to-live) field (8-bits) provides conventional IP TTL functionality.
Fig.2.1 MPLS Header
3. If the Layer 2 technology supports a label field (such as the ATM VPI/VCI or the Frame Relay DLCI fields), the native label field encapsulates the MPLS label. However, if the Layer 2 technology does not support a label field, the MPLS label is encapsulated in a standardized MPLS header that is inserted between the Layer 2 and IP headers.
Fig.2.2 L2, MPLS, L3 headers
4. MPLS label: is a short fixed length physically contiguous identifier which is used to identify a FEC, usually of local significance. [1]
5. Label Switched Path (LSP): The path through one or more LSRs at one level of the hierarchy which is followed by packets in a particular FEC. [1]

In conventional IP forwarding, a particular router will typically consider two packets to be in the same FEC if there is some address prefix X in that router's routing tables such that X is the "longest match" for each packet's destination address. As the packet traverses the network, each hop in turn reexamines the packet and assigns it to a FEC.

On the other hand, in MPLS, the assignment of a particular packet to a particular FEC is done just once, as the packet enters the network. The FEC to which the packet is assigned is encoded as a label. When a packet is forwarded to its next hop, the label is sent along with it. At subsequent hops, there is no further analysis of the packet's network layer header. Rather, the label is used as an index into a table which specifies the next hop, and a new label. The old label is replaced with the new label, and the packet is forwarded to its next hop.

Fig 2.3 MPLS Operation (from Cisco's site)

2.2 MPLS Benefits

The initial goal of label based switching was to bring the speed of Layer 2 switching to Layer 3. Label based switching methods allow routers to make forwarding decisions based on the contents of a simple label, rather than by performing a complex route lookup based on destination IP address. This initial justification for technologies such as MPLS is no longer perceived as the main benefit, since Layer 3 switches (ASIC-based routers) are able to perform route lookups at sufficient speeds to support most interface types.
However, MPLS brings many other benefits to IP-based networks. Forwarding packets based on labels rather than routing them based on headers results in several important advantages:
1. Since a packet is assigned to a FEC when it enters the network, information that cannot be gleaned from the network layer header, can be used for FEC assignment. For example, classification of packets based on the source of the packets.
2. Packets can be assigned a priority label, making Frame Relay and ATM-like quality-of-service guarantees possible. This function relates to the CoS field.
3. The considerations that determine how a packet is assigned to a FEC can become ever more and more complicated, without any impact at all on the routers that merely forward labeled packets.
4. Packet payloads are not examined by the forwarding routers, allowing for different levels of traffic encryption and the transport of multiple protocols.
5. In MPLS, a packet can be forced to follow an explicit route rather than the route chosen by normal dynamic algorithm as the packet travels through the network. This may be done to support traffic engineering, as a matter of policy or to support a given QoS.
In addition to all the above advantages, one of the most important advantages of MPLS is that it is independent of the layer 2 and layer 3 technologies and hence allows integration of networks with different layer 2 and layer 3 protocols.