Provided by Colasoft Co., Ltd.

MPLS ( Multi-Protocol Label Switching )

Home > Protocols > MPLS Update: 2006-09-01 17:20:43    I have words to say about this protocol
On this page
SUMMARY
Protocol : Multi-Protocol Label Switching
Protocol suite : TCP/IP
Layer : Network Layer
EtherType : 0x8847 unicast;
SNMP MIBs : iso.org.dod.internet.mgmt.mib-2.transmission.mplsStdMIB (1.3.6.1.2.1.10.166)
Related protocols : LDP,
CR-LDP,
RSVP-TE,
IP,
ATM,
ATM PNNI,
RSVP,
OSPF,
BGP,
GMPLS
Working groups : mpls, Multiprotocol Label Switching
tewg, Internet Traffic Engineering
DESCRIPTION
In computer networking and telecommunications, Multi-protocol Label Switching (MPLS) is a data-carrying mechanism which emulates some properties of a circuit-switched network over a packet-switched network. MPLS operates at an OSI Model layer that is generally considered to lie between traditional definitions of Layer 2 (data link layer) and Layer 3 (network layer), and thus is often referred to as a 'Layer 2.5' protocol. It was designed to provide a unified data-carrying service for both circuit-based clients and packet-switching clients which provide a datagram service model. It can be used to carry many different kinds of traffic, including IP packets, as well as native ATM, SONET, and Ethernet frames.

Background
A number of different technologies were previously deployed with essentially identical goals, such as frame relay and ATM. MPLS is now replacing these technologies in the marketplace, mostly because it is better aligned with current and future technology and needs.

In particular, MPLS dispenses with the cell-switching and signalling-protocol baggage of ATM. MPLS recognizes that small ATM cells are not needed in the core of modern networks, since modern optical networks (as of 2001) are so fast (at 10 Gbit/s and well beyond) that even full-length 1500 byte packets do not incur significant real-time queuing delays (the need to reduce such delays, to support voice traffic, having been the motivation for the cell nature of ATM).

At the same time, it attempts to preserve the traffic engineering and out-of-band control that made frame relay and ATM attractive for deploying large scale networks.

One original motivation was to allow the creation of simple high-speed switches, since for a significant length of time it was impossible to forward IP packets entirely in hardware. However, advances in VLSI have made such devices possible. The systemic advantages of MPLS, such as the ability to support multiple service models, do traffic management, etc, remain.

Architecture
As a packet of a connectionless network layer protocol travels from one router to the next, each router makes an independent forwarding decision for that packet. That is, each router analyzes the packet's header, and each router runs a network layer routing algorithm. Each router independently chooses a next hop for the packet, based on its analysis of the packet's header and the results of running the routing algorithm.

Packet headers contain considerably more information than is needed simply to choose the next hop. Choosing the next hop can therefore be thought of as the composition of two functions. The first function partitions the entire set of possible packets into a set of ''Forwarding Equivalence Classes (FECs)'. The second maps each FEC to a next hop. Insofar as the forwarding decision is concerned, different packets which get mapped into the same FEC are indistinguishable. All packets which belong to a particular FEC and which travel from a particular node will follow the same path (or if certain kinds of multi-path routing are in use, they will all follow one of a set of paths associated with the FEC).



Header format
The format of the MPLS label stack is shown in the following illustration:
MPLS label stack
12345678
Label(20 bits)
CoSS
TTL


  • Label

  • The field contains the actual value for the label. This gives information on the protocol in the network layer and further information needed to forward the packet.

  • CoS

  • Class of Service. The setting of this field affects the scheduling and/or discard algorithms which are applied to the packet as it is transmitted through the network.

  • S

  • Set to one for the last entry in the label stack (i.e., for the bottom of the stack) and cleared to zero for all other label stack entries.

  • TTL

  • Time to Live, 8-bit field used to encode a time to live value.



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.

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 short fixed length value known as a "label". When a packet is forwarded to its next hop, the label is sent along with it; that is, the packets are "labeled" before they are forwarded.

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.

In the MPLS forwarding paradigm, once a packet is assigned to a FEC, no further header analysis is done by subsequent routers; all forwarding is driven by the labels. This has a number of advantages over conventional network layer forwarding.

  • MPLS forwarding can be done by switches which are capable of doing label lookup and replacement, but are either not capable of analyzing the network layer headers, or are not capable of analyzing the network layer headers at adequate speed.


  • Since a packet is assigned to a FEC when it enters the network, the ingress router may use, in determining the assignment, any information it has about the packet, even if that information cannot be gleaned from the network layer header. For example, packets arriving on different ports may be assigned to different FECs. Conventional forwarding, on the other hand, can only consider information which travels with the packet in the packet header.


  • A packet that enters the network at a particular router can be labeled differently than the same packet entering the network at a different router, and as a result forwarding decisions that depend on the ingress router can be easily made. This cannot be done with conventional forwarding, since the identity of a packet's ingress router does not travel with the packet.


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


  • Sometimes it is desirable to force a packet to follow a particular route which is explicitly chosen at or before the time the packet enters the network, rather than being chosen by the normal dynamic routing algorithm as the packet travels through the network. This may be done as a matter of policy, or to support traffic engineering. In conventional forwarding, this requires the packet to carry an encoding of its route along with it ("source routing"). In MPLS, a label can be used to represent the route, so that the identity of the explicit route need not be carried with the packet.


Some routers analyze a packet's network layer header not merely to choose the packet's next hop, but also to determine a packet's "precedence" or "class of service". They may then apply different discard thresholds or scheduling disciplines to different packets. MPLS allows (but does not require) the precedence or class of service to be fully or partially inferred from the label. In this case, one may say that the label represents the combination of a FEC and a precedence or class of service.

MPLS stands for "Multi-protocol" Label Switching, multi-protocol because its techniques are applicable to ANY network layer protocol. In this document, however, we focus on the use of IP as the network layer protocol.

A router which supports MPLS is known as a "Label Switching Router", or LSR.

Top of Page

EXAMPLES

Top of Page


PROTOCOL RELATIONS
Parent layer
Child layer
Ethernet
MPLS
IP
IPv6
Ethernet II
IEEE 802.3
Top of Page

GLOSSARY
ATM
Asynchronous Transfer Mode (ATM) is a network technology based on transferring data in cells or packets of a fixed size. The cell used with ATM is relatively small compared to units used with older technologies. The small, constant cell size allows ATM equipment to transmit video, audio, and computer data over the same network, and assure that no single type of data hogs the line.

BGP
Border Gateway Protocol (BGP) is an exterior gateway routing protocol that enables groups of routers (called autonomous systems) to share routing information so that efficient, loop-free routes can be established. BGP is commonly used within and between Internet Service Providers (ISPs).

Ethernet
A local-area network (LAN) architecture developed by Xerox Corporation in cooperation with DEC and Intel in 1976. Ethernet uses a bus or star topology and supports data transfer rates of 10 Mbps. The Ethernet specification served as the basis for the IEEE 802.3 standard, which specifies the physical and lower software layers. Ethernet uses the CSMA/CD access method to handle simultaneous demands. It is one of the most widely implemented LAN standards.

A newer version of Ethernet, called 100Base-T (or Fast Ethernet), supports data transfer rates of 100 Mbps. And the newest version, Gigabit Ethernet supports data rates of 1 gigabit (1,000 megabits) per second.

FEC
FEC (Forwarding Equivalence Class) is a group of IP packets which are forwarded in the same manner (e.g., over the same path, with the same forwarding treatment).


IP
The IP (Internet Protocol) is a protocol which uses datagrams to communicate over a packet-switched network. IP specifies the format of packets, also called datagrams, and the addressing scheme. Most networks combine IP with a higher-level protocol called Transmission Control Protocol (TCP), which establishes a virtual connection between a destination and a source.

IP by itself is something like the postal system. It allows you to address a package and drop it in the system, but there's no direct link between you and the recipient. TCP/IP, on the other hand, establishes a connection between two hosts so that they can send messages back and forth for a period of time.

The current version of IP is IPv4. A new version, called IPv6 or IPng, is under development.

MPLS
MPLS (Multiprotocol Label Switching) is an IETF initiative that integrates Layer 2 information about network links (bandwidth, latency, utilization) into Layer 3 (IP) within a particular autonomous system--or ISP--in order to simplify and improve IP-packet exchange.

OSI
ISO (Open Systems Interconnection) is a worldwide communications that defines a networking framework for implementing protocols in seven layers. Control is passed from one layer to the next, starting at the application layer in one station, proceeding to the bottom layer, over the channel to the next station and back up the hierarchy.

At one time, most vendors agreed to support OSI in one form or another, but OSI was too loosely defined and proprietary standards were too entrenched. Except for the OSI-compliant X.400 and X.500 e-mail and directory standards, which are widely used, what was once thought to become the universal communications standard now serves as the teaching model for all other protocols.

Most of the functionality in the OSI model exists in all communications systems, although two or three OSI layers may be incorporated into one.

OSI is also referred to as the OSI Reference Model or just the OSI Model.

OSPF
OSPF is an interior gateway protocol which is used for routing within a group of routers. It uses link-state technology in which routers send each other information about the direct connections and links which they have to other routers.

RSVP
RSVP (Resource Reservation Setup Protocol) is a new Internet protocol being developed to enable the Internet to support specified Qualities-of-Service (QoS's). Using RSVP, an application will be able to reserve resources along a route from source to destination.

Top of Page

REFERENCES
RFCs:
[RFC 2547] BGP/MPLS VPNs.
                
[RFC 2702] Requirements for Traffic Engineering Over MPLS.
                
[RFC 2917] A Core MPLS IP VPN Architecture.
                
[RFC 3031] Multiprotocol Label Switching Architecture.
                
[RFC 3032] MPLS Label Stack Encoding.
                Updated by: RFC 4182.
                
[RFC 3034] Use of Label Switching on Frame Relay Networks Specification.
                
[RFC 3035] MPLS using LDP and ATM VC Switching.
                
[RFC 3036] LDP Specification.
                
[RFC 3063] MPLS Loop Prevention Mechanism.
                
[RFC 3107] Carrying Label Information in BGP-4.
                
[RFC 3270] Multi-Protocol Label Switching (MPLS) Support of Differentiated Services.
                
[RFC 3353] Overview of IP Multicast in a Multi-Protocol Label Switching (MPLS) Environment.
                
[RFC 3429] Assignment of the OAM Alert Label' for Multiprotocol Label Switching Architecture (MPLS) Operation and Maintenance (OAM) Functions.
                
[RFC 3443] Time To Live (TTL) Processing in Multi-Protocol Label Switching (MPLS) Networks.
                Updates: RFC 3032.
                
[RFC 3468] The Multiprotocol Label Switching (MPLS) Working Group decision on MPLS signaling protocols.
                
[RFC 3469] Framework for Multi-Protocol Label Switching (MPLS)-based Recovery.
                
[RFC 3471] Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description.
                Category: Standards Track.
                Updated by: RFC 4201, RFC 4328.
                
[RFC 3472] Generalized Multi-Protocol Label Switching (GMPLS) Signaling Constraint-based Routed Label Distribution Protocol (CR-LDP) Extensions.
                
[RFC 3473] Generalized Multi-Protocol Label Switching (GMPLS) Signaling Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions.
                
                Updated by: RFC 4003.
[RFC 3477] Signalling Unnumbered Links in Resource ReSerVation Protocol - Traffic Engineering (RSVP-TE).
                
[RFC 3564] Requirements for Support of Differentiated Services-aware MPLS Traffic Engineering.
                
[RFC 3811] Definitions of Textual Conventions (TCs) for Multiprotocol Label Switching (MPLS) Management.
                iso.org.dod.internet.mgmt.mib-2.transmission.mplsStdMIB (1.3.6.1.2.1.10.166).
                
[RFC 3812] Multiprotocol Label Switching (MPLS) Traffic Engineering (TE) Management Information Base (MIB).
                iso.org.dod.internet.mgmt.mib-2.transmission.mplsStdMIB.MPLS-TE-STD-MIB (1.3.6.1.2.1.10.166.3).
                
[RFC 3813] Multiprotocol Label Switching (MPLS) Label Switching Router (LSR) Management Information Base (MIB).
                iso.org.dod.internet.mgmt.mib-2.transmission.mplsStdMIB.MPLS-LSR-STD-MIB (1.3.6.1.2.1.10.166.2).
                
[RFC 3814] Multiprotocol Label Switching (MPLS) Forwarding Equivalence Class To Next Hop Label Forwarding Entry (FEC-To-NHLFE) Management Information Base (MIB).
                iso.org.dod.internet.mgmt.mib-2.transmission.mplsStdMIB.MPLS-FTN-STD-MIB (1.3.6.1.2.1.10.166.8).
                
[RFC 3815] Definitions of Managed Objects for the Multiprotocol Label Switching (MPLS), Label Distribution Protocol (LDP).
                iso.org.dod.internet.mgmt.mib-2.transmission.mplsStdMIB.MPLS-LDP-STD-MIB (1.3.6.1.2.1.10.166.4).
                iso.org.dod.internet.mgmt.mib-2.transmission.mplsStdMIB.MPLS-LDP-ATM-STD-MIB (1.3.6.1.2.1.10.166.5).
                iso.org.dod.internet.mgmt.mib-2.transmission.mplsStdMIB.MPLS-LDP-FRAME-RELAY-STD-MIB (1.3.6.1.2.1.10.166.6).
                iso.org.dod.internet.mgmt.mib-2.transmission.mplsStdMIB.MPLS-LDP-GENERIC-STD-MIB (1.3.6.1.2.1.10.166.7).
                
[RFC 3919] Remote Network Monitoring (RMON) Protocol Identifiers for IPv6 and Multi Protocol Label Switching (MPLS).
                
[RFC 3945] Generalized Multi-Protocol Label Switching (GMPLS) Architecture.
                
[RFC 3946] Generalized Multi-Protocol Label Switching (GMPLS) Extensions for Synchronous Optical Network (SONET) and Synchronous Digital Hierarchy (SDH) Control.
                Defines CR-LDP TLV 0x0838 (SONET/SDH Traffic Parameters).
                Defines RSVP 0x0904 (SONET/SDH FLOWSPEC) and 0x0C04 (SONET/SDH SENDER_TSPEC).
                
[RFC 4003] GMPLS Signaling Procedure for Egress Control.
                Updates: RFC 3473.
                
[RFC 4023] Encapsulating MPLS in IP or Generic Routing Encapsulation (GRE).
                Defines IP protocol 137 (MPLS in IP).
                
[RFC 4105] Requirements for Inter-Area MPLS Traffic Engineering.
                
[RFC 4126] Max Allocation with Reservation Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering & Performance Comparisons.
                
[RFC 4127] Russian Dolls Bandwidth Constraints Model for Diffserv-aware MPLS Traffic Engineering.
                
[RFC 4139] Requirements for Generalized MPLS (GMPLS) Signaling Usage and Extensions for Automatically Switched Optical Network (ASON).
                
[RFC 4182] Removing a Restriction on the use of MPLS Explicit NULL.
                Updates: RFC 3032.
                
[RFC 4201] Link Bundling in MPLS Traffic Engineering (TE).
                Updates: RFC 3471, RFC 3472, RFC 3473.
                
[RFC 4202] Routing Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS).
                
[RFC 4203] OSPF Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS).
                Updates: RFC 3630.
                
[RFC 4206] Label Switched Paths (LSP) Hierarchy with Generalized Multi-Protocol Label Switching (GMPLS) Traffic Engineering (TE).
                
[RFC 4208] Generalized Multiprotocol Label Switching (GMPLS) User-Network Interface (UNI): Resource ReserVation Protocol-Traffic Engineering (RSVP-TE) Support for the Overlay Model.
                
[RFC 4216] MPLS Inter-Autonomous System (AS) Traffic Engineering (TE) Requirements.
                
[RFC 4221] Multiprotocol Label Switching (MPLS) Management Overview.
                
[RFC 4247] Requirements for Header Compression over MPLS.
                
[RFC 4257] Framework for Generalized Multi-Protocol Label Switching (GMPLS)-based Control of Synchronous Digital Hierarchy/Synchronous Optical Networking (SDH/SONET) Networks.
                
[RFC 4258] Requirements for Generalized Multi-Protocol Label Switching (GMPLS) Routing for the Automatically Switched Optical Network (ASON).
                
[RFC 4328] Generalized Multi-Protocol Label Switching (GMPLS) Signaling Extensions for G.709 Optical Transport Networks Control.
                 Category: Standards Track.
                 Defines RSVP 0x0905 (G.709) and 0x0C05 (G.709).
                 Updates: RFC 3471.
                


Top of Page

OTHER PROTOCOLS OF TCP/IP SUITE
AARP   RRP   RTP Video   RTP Audio   RTP   COPS   Gopher   HSRP   ICP   MPLS   IEEE 802.2   CIP   FTP - Data   FTP - Ctrl   IMAPS   IP Fragment   LDAPS   PUP   MSSQL   RSH   SQL   POP3s   RTELNET   RSVP   STP   VLAN   MSN   H.323   MSRDP   HTTPS   WINS   LPD   GTP   ICMPv6   POP   TELNET   H.225   VRRP   PIM   RARP   SAP   OSPF   RLOGIN   SCTP   SIP   RTCP   PPPoE   Mobile IP   IMAP3   WhoIs   SLP   NCP   PPTP   MGCP   LDAP   L2TP   Kerberos   IPv6   GRE   Ethernet SNAP   AFP   CIFS   IEEE 802.3   Finger   NBDGM   NetBEUI   NBSSN   ESP   EIGRP   EGP   DHCP   CGMP   CDP   BOOTP   AH   NBNS   EthernetII   ICQ   PPP   ARP   RIP   IPX   IGRP   IGMP   SSH   RPC   NetBIOS   TFTP   SNMP   SNA   SMB   RADIUS   NTP   NNTP   UDP   TCP   BGP   DNS   SOCKS   IMAP   RTSP   NFS   ICMP   IP   FTP   Telnet   POP3   SMTP   HTTP  
Search RFCs:

Advanced Search
Search Glossary:
Exact search
Fuzzy search


All Protocols
Submit a Request

Recommend an Article

 Layer 7 Application Layer
  AFP
  BOOTP
  CIFS
  CIP
  COPS
  DHCP
  DNS
  Finger
  FTP
  FTP - Ctrl
  FTP - Data
  Gopher
  HSRP
  HTTP
  HTTPS
  ICP
  ICQ
  IMAP
  IMAP3
  IMAPS
  Kerberos
  LPD
  MGCP
  MSN
  MSRDP
  MSSQL
  NCP
  NFS
  NNTP
  NTP
  POP
  POP3
  POP3s
  RADIUS
  RLOGIN
  RRP
  RSH
  RTCP
  RTELNET
  RTP
  RTP Audio
  RTP Video
  RTSP
  SAP
  SIP
  SLP
  SMB
  SMTP
  SNA
  SNMP
  SOCKS
  SSH
  Telnet
  TELNET
  TFTP
  WhoIs
  WINS
 Layer 6 Presentation Layer
  NBNS
  NBSSN
  NCP
  NetBIOS
 Layer 5 Session Layer
  LDAP
  LDAPS
  NCP
  NetBEUI
  RPC
 Layer 4 Transport Layer
  H.225
  H.323
  NBDGM
  NetBEUI
  PUP
  SCTP
  TCP
  UDP
 Layer 3 Network Layer
  AARP
  AH
  BGP
  EGP
  EIGRP
  ESP
  GRE
  GTP
  ICMP
  ICMPv6
  IGMP
  IGRP
  IP
  IP Fragment
  IPv6
  IPX
  Mobile IP
  MPLS
  OSPF
  PIM
  PPPoE
  RIP
  RSVP
  STP
  VRRP
 Layer 2 Data Link Layer
  ARP
  CDP
  CGMP
  Ethernet SNAP
  EthernetII
  IEEE 802.2
  IEEE 802.3
  L2TP
  PPP
  PPTP
  RARP
  SQL
  VLAN
 Layer 1 Physical Layer
© 2006 - 2007 Colasoft Co., Ltd. All rights reserved.