Вы находитесь на странице: 1из 9

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

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

Label structure

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 Architecture
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.

 Note:

TTL Processing:
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.

LSP Establishment

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

LSP tunnel

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.

MPLS Application
MPLS-based VPN

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.

Вам также может понравиться