Download the Full Seminar Report For Multiprotocol Label Switching - MPLS
Multiprotocol Label Switching (MPLS) encapsulates packets with labels of short and fixed length. MPLS obtains service from various link layers (such as PPP, ATM, frame relay, Ethernet, and etc.) and provides connection-oriented service for network layer. MPLS can obtain support from IP routing protocol and control protocol and, at the same time, it supports policy-based restraint route. It possesses powerful and flexible routing functions and is capable of satisfying the requirements for the network from various new applications. Formerly this technology was originated from IPv4. however, its core technology can be extended to multiple network protocols (IPv6, IPX, AppleTalk, DECnet, CLNP and etc.).
MPLS is a protocol initially put forward for increasing forwarding speed of the routers. However, its application is not limited only to this due to its natural advantages. It is also widely used in such aspects as traffic engineering, VPN, QoS and increasingly becomes an important standard for large-scale IP network.
MPLS Basic Concepts
Label is of short and fixed length with local significance, which is used to identify a particular Forwarding Equivalence Class (FEC). The label on a specific packet represents the FEC assigned to this packet.
Label assignment and distribution
In the MPLS architecture, the decision to bind a particular label to a particular FEC is made by downstream Label Switching Router (LSR), and then the downstream LSR notifies the upstream LSR. That is to say, the label is specified by the downstream LSR, and the label is distributed from downstream to upstream.
Label distribution mode
There are two label-distribution modes in MPLS, i.e., downstream unsolicited label distribution and downstream-on-demand label distribution.
For a specific FEC, it is not necessary for LSR to obtain label request message from upstream, namely label assignment and distribution mode, which is referred to as downstream unsolicited label distribution.
For a specific FEC, LSR performs label assignment and distribution after it has received the explicit label request, which is referred to as downstream-on-demand label distribution.
It must be agreed on which label distribution mode is used between the upstream LSR and the downstream LSR with label distribution neighbor relationship.
Label retention mode
There are two label-retention modes: liberal label retention mode and conservative label retention mode.
For example, there are two LSRs: Ru and Rd. For a specific FEC, if LSR Ru has received the label binding from LSR Rd, in case Rd is not the next hop of Ru and Ru saves this binding, then it is called liberal label retention mode. and if Ru discards this binding, then it is called conservative label retention mode.
In case it is required that LSR is capable of adapting route variation rapidly, liberal label retention mode can be adopted. in case it is required that a few labels are saved in LSR, then conservative label retention mode can be used.
Label location in the packet
The label is located between link layer frame header and network layer packet, as shown in Figure 1-1.
Figure 1-1 Label location in the packet
The encapsulation structure of the label is shown in Figure 1-2.
Figure 1-2 Label encapsulation structure
The 4-byte label contains four fields:
- Label: label value, 20bits, used as the pointer for forwarding.
- Exp: 3bits, reserved.
- S: 1bit, MPLS supports hierarchical label structure, i.e., multi-layer label. Value 1 refers to the label of bottom layer.
- TTL: 8bits, with the same meaning as TTL in IP packet.
MPLS Network Structure
As shown in Figure 1-3, the basic composing unit of MPLS network is LSR, and the network consisting of LSRs is called MPLS domain. The LSR that is located at the edge of the domain and connected with other customer network is called edge LSR (LER, Labeled Edge Router). The LSR located inside the domain is called core LSR. The core LSR can be either the router that supports MPLS or the ATM-LSR upgraded from ATM switch. The labeled packets are transmitted along the Label Switched Path (LSP) composed of a series of LSRs, among them the import LSR is called Ingress, and the export LSR is called Egress.
Figure 1-3 MPLS basic principle
Forwarding Labeled Packets
In Ingress, the packets entering the network are classified into Forwarding Equivalence Class (FEC) according to their characteristics. Usually, FEC is classified according to the IP address prefix or host address. The packets with the same FEC will pass through the same path (i.e., LSP) in MPLS area. LSR assigns a short label of fixed length for the incoming FEC packet, and then forwards it through the corresponding interface.
On the LSR along the LSP, the mapping table of the import/export labels has been established (the element of this table is referred to as Next Hop Label Forwarding Entry (NHLFE)). When the labeled packet arrives, LSR only needs to find the corresponding NHLFE from the table according to the label and replace the original label with the new special label, and then forwards the labeled packet. This process is called incoming Label Map (ILM).
On the Ingress, MPLS specifies FEC of a specific packet, and the following routers only need to forward it by label switching, therefore this method is much simpler than the routine network layer forwarding.
For labeled packet, it is necessary to copy the TTL value in the original IP packet into the TTL field in the label. While forwarding the label type packet, LSR will perform minus one operation for the TTL field of the label on the top of the stack. When the label is out of the stack, the TTL value on the top of the stack is copied back to IP packet or the label of lower layer.
However, while LSP goes through the non-TTL LSP segment composing of ATM-LSR or FR-LSR, the LSR inside the non-TTL LSP segment is not capable of processing TTL field. In this case, it is necessary to carry out unified processing for TTL while entering non-TTL LSP segment, namely, to reduce for one time the value that reflects the length of this non-TTL LSP.
Actually, LSP establishment refers to the process of binding FEC with the label, and then advertising this binding to the adjacent LSR on LSP. This process is implemented via Label Distribution Protocol (LDP). LDP regulates the message in interactive processing and message structure between LSRs as well as route selection mode.
LDP working process
Through sending Hello message periodically, LSR finds LSR neighbor and then establishes LDP session with the newly discovered adjacent LSR. Via LDP session, the adjacent LSRs advertise such information as label switching mode, label space, session keepalive timer value to each other. LDP session is TCP connection, which needs to be maintained via LDP message. In case there is not any other LDP message during the time period specified by the session keepalive timer value, and then it is necessary to send session keepalive message to maintain the existence of LDP session. Figure 1-4 illustrates the diagram of LDP label distribution.
Figure 1-4 Label distribution process
Suppose Ru and Rd have agreed to bind label L to FEC F, for packets sent from Ru to Rd. Then with respect to this binding, Ru is the "upstream LSR", and Rd is the "downstream LSR". On LSP1 as shown in Figure 1-4, LSR B is the upstream LSR of LSR C.
For the label distribution mentioned previously, there are two modes: DoD (downstream-on-demand) mode and DU (downstream unsolicited) mode. The major difference between these two modes is that the label map issuing is an upstream solicited one or a downstream unsolicited one.
In DoD mode, the label is distributed in this way: the upstream LSR sends label request message (containing FEC descriptive information) to the downstream LSR, and the downstream LSR distributes label for this FEC, and then it sends the bound label back to the upstream LSR through label map message. The time when the downstream LSR feeds back the label map message depends on whether this LSR uses independent label control mode or sequential label control mode. When the sequential label control mode is used by the downstream LSR, the label map message is sent back to its upstream LSR if only it has received the label map message from its downstream LSR. When the independent label control mode is used by the downstream LSR, then it will send label map message to its upstream LSR immediately, no matter if it has received the returned label map message from its downstream LSR. Usually, the upstream LSR selects the downstream LSR according to the information in its routing table. In Figure 1-4, the sequential label control mode has been used by the LSRs on the way along LSP1, and the independent label control mode has been used by for the LSRs on LSP2.
In DU mode, the label is distributed in the following way: when LDP session is established successfully, the downstream LSR will actively distribute label map message to its upstream LSR. The upstream LSR saves the label map information and processes the received label map information according to the routing table information.
Constrain-based routing LDP
MPLS also supports Constrain-based Routing LDP mechanism (CR-LDP). The so-called CR-LDP refers to that, while originating the establishment of LSP, the ingress node adds some constrain information for LSP routing in label request message. These constrain information may be either exact designation for the LSRs along the way or unspecific restriction for selecting downstream LSR, and in the former case it is referred to as strict explicit routing and in the latter case it is referred to as loose explicit routing.
LSP loop control
While establishing LSP in MPLS domain, it is also necessary to prevent path loop. To avoid the LSP path loop, such two methods as maximum hop count and path vector can be used.
The maximum hop count method refers to that the hop-count information is contained in the message bound with the forwarding label, and this value is added by one for each hop. When the value exceeds the specified maximum value, it is considered that a loop happens, and the process for establishing LSP is terminated.
The path vector method refers to that the path information is recorded in the message bound with the forwarding label, and, for every hop, the corresponding router checks if its ID is contained in this record. If not, the router adds its ID into the record; and if yes, it indicates that a loop happens and the process for establishing LSP is terminated.
LSP Tunnel and Hierarchy
MPLS supports LSP tunnel technology. On an LSP path, LSR Ru and LSR Rd are upstream and downstream for each other. However, the path between LSR Ru and LSR Rd may not be part of the path provided by routing protocol. MPLS allows establishing an another LSP path between LSR Ru and LSR Rd, and LSR Ru and LSR Rd are respectively the starting point and ending point of this LSP. The LSP between LSR Ru and LSR Rd is referred to as the LSP tunnel, which avoids the traditional encapsulated tunnel on the network layer. If the route along which the tunnel passes and the route obtained hop by hop from routing protocol are consistent, this tunnel is called hop-by-hop routing tunnel. If the two routes are not in consistency, then the tunnel of this type is called explicit routing tunnel.
Figure 1-5 LSP tunnel
As shown in Figure 1-5, LSP is a tunnel between R2 and R3.
Multi-layer label stack
When the packet is sent in LSP tunnel, there will be multiple layers for the label of the packet. Then, on the ingress and egress of each tunnel, it is necessary to implement incoming and outgoing operation for the label stack. For each incoming operation, the label will be added with one layer. And there is no depth limitation for the label stack from MPLS.
The labels are organized according to the principle “last in, first out” in the label stack, and MPLS processes the labels beginning from the top of the stack.
Suppose that a packet has the label stack depth of m, then the label at the bottom of the stack is the label of first level, and the label at the top of the stack is the label of level m. The packet with no label can be regarded as the packet of blank label stack (namely, the label stack depth is zero).
MPLS and other Protocols
MPLS and Routing Protocols
When LDP establishes LSP in hop-by-hop mode, the next hop will be determined by using the information that is usually collected via such routing protocols as IGP, BGP in each LSR route forwarding table on the way. However, LDP just uses the routing information indirectly, rather than being associated with various routing protocols directly.
On the other hand, although LDP is the special protocol for implementing label distribution, but it is not the sole protocol for label distribution. The existing protocols such as BGP, RSVP, after being extended, can also support MPLS label distribution. For some MPLS applications, it is also necessary to extend some routing protocols. For example, MPLS-based VPN application needs the extension of BGP so that the BGP is capable of supporting the sending of VPN routing information. And also, MPLS-based Traffic Engineering (TE) needs the extension of OSPF or IS-IS protocol so as to carry link status information.
RSVP Extension for MPLS
Resource Reservation Protocol (RSVP), after being extended, can support MPLS label distribution. At the same time, while transmitting label-binding message, it is also capable of carrying resource reservation information. The LSP established in this way is of resource reservation function, namely, the LSRs on the way can distribute some resources for this LSP so as to ensure the service transmitted on it.
The extension of RSVP mainly refers to adding new objects in its Path message and Resv message. Besides carrying label binding information, these new objects are also capable of carrying the constrain information for searching path for the LSRs on the way so as to support LSP constraining function on routing. The extended RSVP also supports fast rerouting, namely, when it is necessary to change LSP under some condition, the original service flow can be rerouted to the newly established LSP without interrupting the customer service.
For traditional VPN, the transmission of the data flow between private networks on the public packet switched network is usually realized via such tunneling protocols as GRE, L2TP and PPTP, and LSP itself is the tunnel on the public network. The realization of VPN using MPLS is of natural advantages. MPLS-based VPN connects the geographically different branches of private network by using LSP, forming a united network. MPLS-based VPN also supports the interconnection between different VPNs.
Figure 1-6 MPLS-based VPN
The basic structure of MPLS-based VPN is shown in Figure 1-6. CE is the customer edge device, and it may either be a router or a switch, or perhaps a host. PE is a service provider edge router, which is located on the backbone network. PE is responsible for the management of VPN customers, establishing LSP connection between various PEs, route allocation among different branches of the same VPN customer.
Usually the route allocation between PEs is realized by using extended BGP. MPLS-based VPN supports the IP address multiplexing between different branches and the interconnection between different VPNs. Compared with traditional route, it is necessary to add a branch and VPN distinguisher information in VPN route. So, it is necessary to extend BGP so as to carry VPN routing information.
MPLS-based Traffic Engineering
Application of traffic engineering
Network congestion is the main problem affecting the backbone network performance. Usually the network is congested due to insufficient network resources or partially due to unbalanced network resources. Traffic engineering is used to solve the congestion due to unbalanced load. Through monitoring network traffic and the load on network element dynamically, then adjusting traffic management parameters and routing parameters as well as resource constraining parameters in real time, the network prevents the congestion and the network resources is optimized.
Advantages of MPLS-based traffic engineering
The existing IGPs are all driven by the topology, and only the static connection of the network is taken into account. However, such dynamic status as bandwidth and traffic characteristics cannot be reflected. This is just the main reason resulting in unbalanced network load. MPLS, which is different from those of IGP, just satisfies the requirement of traffic engineering: MPLS supports the explicit LSP routing that is different from routing protocol path. Compared with traditional single IP packet forwarding, LSP is more convenient for management and maintenance. Constrain-routing-based LDP is capable of realizing various policies of traffic engineering. The system expense for MPLS-based traffic engineering is even lower than that for other realization modes.
MPLS-based traffic engineering realization
While realizing traffic engineering by using MPLS, first it is necessary to generate MPLS derived graph according to the topology of physical network, i.e., the derived topology chart composed of such three elements as LSR, the LSP connecting LSR, and LSP attribute. Meanwhile, the data passing through MPLS domain are divided into several traffic trunks. Usually the traffic trunks are defined as all one-way traffic passing through Ingress and Egress in MPLS domain. Traffic trunks are of multiple attributes, including traffic parameters, path selection and maintenance mode, precedence, capability of preemption, resource affinity and etc. Some other attributes are also defined for the resources, such as resource level, maximum distribution multiplexing degree and so on. Then, the traffic trunk attributes, resource attributes and network status information are used as the policies for generating constrain route to find out traffic trunk path. The traffic trunk path can be adjusted dynamically according to network status variation.
Download the Full Seminar Report For Multiprotocol Label Switching - MPLS