INTRODUCTION TO MPLS
Speaker Name
Date
AGENDA
1. Introduction to MPLS
2. MPLS Terminology
3. Fundamentals of MPLS
3
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
INTRODUCTION TO MPLS
MPLS TECHNOLOGY OFFERS MANY SERVICES, INCLUDING LAYER 2 AND LAYER 3 VPN SERVICES,
TRAFFIC ENGINEERING, AND RESILIENCY
4
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
5
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
IMPROVING PACKET FORWARDING PERFORMANCE
Label switching was initially considered an improvement over IP packet routing as it involves a
simpler lookup
- 20-bit fixed label size versus 32/128-bit longest match IP destination lookup
Advances in network processors lead to MPLS for Layer 3 packet forwarding performance being
an obsolete use-case
MPLS LABEL
IP SOURCE
IP SOURCE
IP DESTINATION
IP DESTINATION
OPTIONS
OPTIONS
PAYLOAD
PAYLOAD
6
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
IP ROUTING REVIEW
Longest match lookup on
destination address
R1
Prefix
Next-hop
Metric
10.1.1.0/24
R5
50
10.1.1.0/24
R6
20
10.1.0.0/16
R7
10
IP
IP
IP
L2
L2
L2
R2
R3
R5
R4
R6
R7
MPLS
LIMITATIONS OF IP FORWARDING PARADIGM
Destination based routing lookup only
- No ability to look at the source address of packets without complicated configuration such as PBR to determine
next-hop
- No ability to steer different types of traffic over different next-hops without PBR
MPLS
HOW IT HELPS
MPLS is a label based forwarding paradigm
- Separating IP destination from the forwarding lookup
Separating packet forwarding from destination lookup gives operators flexibility to solve some of
the problems discussed on the previous slide
9
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
HOW IT HELPS DESTINATION BASED FORWARDING LOOKUP
FEC
In-Label
Out-label
Next-Hop
1000
2000
R2
1234
4567
R2
IP
IP
IP
1000
2000
3000
L2
L2
L2
R1
R2
R3
R4
MPLS changes the forwarding paradigm by using labels and switching between them in the
center of the network
Only edge routers need to be IP aware, core routers are label-aware
Label tables contain ingress label, egress label, next-hop, and action information (push, pop,
swap)
10
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
HOW IT HELPS TRAFFIC ENGINEERING
R2
R3
R1
R4
R5
R6
MPLS gives operators flexibility for traffic engineering (TE) in their networks, including the
ability to use multiple links
Typically, IP will pick the best path (commonly, lowest metric). In topologies such as shown
here, ECMP is not possible to implement due to multiple links and metrics
MPLS-TE can force traffic at the ingress node (R1) to pick specific links, or share traffic across
multiple paths
11
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
HOW IT HELPS TRAFFIC ENGINEERING
1G
10G
1G
R2
R3
10G
1G
R1
1G
10G
1G
R5
R4
R6
MPLS
HOW IT HELPS
Service flexibility and convergence
- Since MPLS matured and the primary goal of IP performance improvements became less relevant, MPLS
has been optimised for service flexibility and delivery
- Delivering Layer 2 services such as point-to-point pseudowires or multipoint services like VPLS
- Delivering Layer 3 services such as L3VPNs (aka VRF, VPRN, IP-VPN, RFC2547bis, RFC4364)
- This allows a single IP core to provide many service types across the network optimizing CAPEX and OPEX
for service providers
Network resiliency
- As part of signalling paths through an IP network, MPLS can signal for backup / alternate paths and allow
both the originating router and mid-point routers perform protection of paths should a link fail
- Typically this is seen as IP networks competing with traditional optical protection mechanisms in SDH or
DWDM platforms
MPLS TERMINOLOGY
iLER
CE
PE
eLER
MPLS Terminology
-
PE
14
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
CE
MPLS TERMINOLOGY
LABEL SWITCHED PATHS
Label
Push
PACKET
CE
Label
Swap
LABEL 1
PE
PACKET
Label
Swap
LABEL 2
PACKET
Label
Pop
LABEL 3
PACKET
PACKET
PE
CE
LSP
Labels are pushed onto packets when they enter the service provider network
Labels are swapped across the network as they transit a core/transit router
Labels are popped when they reach the egress edge of the network
LSPs refer to the end-to-end unidirectional tunnel across the network, regardless of how many
labels it consists of
MPLS TERMINOLOGY
FORWARDING EQUIVALENCE CLASS
The Forwarding Equivalence Class (FEC) refers to packets that are forwarded in the same
manner over the same path with the same forwarding treatement
In MPLS networks, FECs can be defined based on destination IP prefixes and other administrative
criteria
- MPLS based FEC lookups are performed only at the ingress LER on incoming packets
- The FEC lookup determines the next-hop LSR and the label to be pushed onto the packet
16
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS TERMINOLOGY
FORWARDING EQUIVALENCE CLASS
FEC
In-Label
Out-label
Next-Hop
1000
2000
R2
1234
4567
R2
R1
FEC lookup
IP
IP
IP
1000
2000
3000
L2
L2
L2
R2
R3
R4
Label swap
FEC lookup is performed at the ingress LER (R1 in this example), and the label is imposed based
on the FEC lookup
LSRs R2 and R3 perform label swap operations
17
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS TERMINOLOGY
PLANES
The Control Plane in a router refers to the processes running
control protocols, such as routing information and MPLS
Control Plane
RIB
OSPF
LIB
BGP
FIB
IS-IS
LFIB
Data Plane
18
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS ARCHITECTURE
MPLS LABELS
MPLS labels use a 32-bit field thats inserted between the L2 and L3 headers, often referred to
as a shim header
- Known as frame mode
Header format:
-
20 bit Label
3 bit Traffic Class field (aka EXPerimental, or Class of Service)
1 bit Bottom of Stack field
MPLS
Ethernet
Packet
8 bit Time To Live (TTL) field
Shim
MAC
Payload
(0x8847 or
0x8848)
20 bits
3 bits 1 8 bits
Label
TC
19
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
TTL
MPLS ARCHITECTURE
SPECIAL LABEL VALUES
Some special MPLS label values have been reserved:
-
20
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS ARCHITECTURE
MPLS LABEL STACK
MPLS allows multiple labels to be inserted to a packet, referred to as stacking
These labels are typically used to provide different functions in the network
- A service label might identify a customer specific VPN
- A transport label might identify the LSP between two routers
- Other labels might be added depending on network complexity and topology, such as Fast Reroute labels
MPLS
LABEL ASSIGNMENT AND DISTRIBUTION
Labels are locally significant
- Meaning that they are only relevant to an LSR
When LSRs are exchanging label binding information, two approaches can be taken:
- Unsolicited mode where the downstream LSR advertises label bindings to all adjacent LSRs, regardless of
whether the adjacent LSR demands the label or not (MP-iBGP, LDP)
- On-demand mode where the downstream LSR advertises label bindings to adjacent LSRs which demand
the label binding (RSVP-TE)
22
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
COMPARISON OF UNSOLICITED AND ON-DEMAND
Unsolicited mode:
20|10.1.2.0/24
Downstream-on-demand mode:
30|10.1.3.0/24
Request label
for 10.1.3.0/24
40|10.1.3.0/24
FEC
In-Label
Out-label
FEC
Next-Hop
In-Label
10.1.2.0/24
20
R2
10.1.3.0/24
40
R2
10.1.3.0/24
10.1.2.0/24
20
Loopback
10.1.3.0/24
40
30
R3
40
R2
10.1.2.0/24
20
Loopback
10.1.3.0/24
40
30
R3
R3
10.1.3.0/24
R3
-
Next-Hop
R2
R2
30
Out-label
R1
R1
10.1.3.0/24
30|10.1.3.0/24
Loopback
23
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
30
Loopback
MPLS
CONTROL MODES
Ordered Control
- LSRs will advertise FECs upstream only when downstream routers have advertised a label for it first
Independent Control
- LSRs will advertise FECs upstream regardless of whether a downstream router has advertised a label for it
I know where
10.1.3.0/24 is and I
will advertise it
now!
I know where
10.1.3.0/24 is, but
I will not advertise
it yet
--|10.1.3.0/24
--|10.1.3.0/24
24
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LABEL RETENTION MODES
LSRs maintain received label bindings through two approaches
Conservative Retention mode
- A router that does not need a specific label binding will not hold the binding
30|10.1.3.0/24
30|10.1.3.0/24
25
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
PENULTIMATE HOP POPPING
Penultimate Hop Popping (PHP) is when the label at the top of the stack is popped by the
upstream LSR of the egress LER
The egress LER requests the popping through the label distribution protocol
- Egress LER advertises the implicit-null label
MPLS
IMPLICIT AND EXPLICIT NULLS
When a downstream router advertises a FEC with the Implicit Null label, it is requesting the
upstream router perform Penultimate Hop Popping
- This removes the transport tunnel MPLS header and leaves the router with only the payload (or service
tunnel header), and can result in a loss of QoS information as the MPLS Transport Class field is no longer
present
- Note: Implicit Null label is a signaling-only label, and not visible in the forwarding plane
A downstream router may also advertise a FEC with the Explicit Null label, which can also be
used for PHP
- The upstream LSR will send the packet to the LER with the Explicit Null label set, which preserves the
Transport Class field
- The LER will not use the MPLS header for anything other than the QoS information
- Thus, the Explicit Null header is visible in the forwarding plane
27
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
TRANSPORT TUNNEL SIGNALING PROTOCOLS
Label Distribution Protocol (LDP)
Defined in RFC5036
Defined in RFC3209
Simple configuration
Liberal retention
Conservative retention
28
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
SERVICE TUNNEL SIGNALING PROTOCOLS
Targeted LDP (T-LDP)
Defined in RFC4447
29
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LABEL DISTRIBUTION PROTOCOL (LDP) INTRODUCTION
RFC 3036, later updated by RFC 5036, defines LDP as a label distribution protocol
Routers configured for LDP establish an LDP session between them and become peers
The LDP sessions enable the exchange of label/FEC binding (mapping) information
LDP operates in two distinct modes:
- Link (or interface) LDP - Establishing Transport Tunnels
- Targeted LDP - Establishing Service Tunnels between PE routers
30
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: TRANSPORT AND SERVICE TUNNELS
Service 1
Service Tunnel 1
Service 1
Service Tunnel 2
Service 2
Transport Tunnel
Service 2
31
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: LINK LDP
Link LDP sessions are established between all directly adjacent LDP routers
Routers exchange label bindings with each other over LDP sessions
This creates a full-mesh of transport tunnels in the network
LDP relies on IGP for operation and convergence
32
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: LINK LDP OPERATION OVERVIEW
The following four processes create and maintain a Link LDP session:
- Peer Discovery Routers use LDP Hello messages to automatically discover other LDP peers
- Session Establishment and Management LDP sessions are built between LDP peering routers. Sessions
are maintained via keepalive messages
- Label Management After sessions are established, LDP distributes label bindings, and withdraws them if
necessary
- Notification LDP uses notification messages to alert LDP peering routers about errors
33
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: PDU STRUCTURE
Version ( 1 )
PDU Length ( 26 )
LDP Header
Message Length ( 16 )
Message ID
F
FEC Type ( prefix FEC == 2 )
Length ( 8 )
34
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: PEER DISCOVERY PROCESS (HELLO)
35
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: HELLO PARAMETERS
LDP-ID (LDP Identifier): 6-byte field that identifies an LSR uniquely along with its label space.
Used in all the LDP messages
- The LSR ID is typically a loopback/system address
- The Label Space ID identify label space within the LSR. For platform-wide label spaces, it is always set to
zero
LSR ID
Label Space ID
(32-bit router ID)
(16 bits)
Transport Address: A necessary parameter to establish the subsequent LDP session with the
neighbor
Hello Timeout: Routers continue exchanging LDP Hellos after a successful discovery. A neighbor
is declared down if no hello messages are received from that neighbor within the timeout period
36
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: LDP SESSION ESTABLISHMENT
37
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: MESSAGE TYPES
TYPE
NAME
FUNCTION
0x0001
Notification
0x0100
Hello
0x0200
Initialization
0x0201
KeepAlive
0x0300
Address
0x0301
Address Withdraw
0x0400
Label Mapping
0x0401
Label Request
0x0402
Label Withdraw
Requests the peer remove from its LIB a previously signaled label
0x0403
Label Release
Signals the peer the LSR no longer needs specific FEC-label mappings previously
requested of and/or advertised by the peer
0x404
0x3E00 0x3EFF
Vendor Private
0x3F00 0x3FF
Experimental
38
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: LABEL ADVERTISEMENT
Version =1
LDP-Id = 10.0.0.6:0
203.0.113.0/24
Message-Type = Label
Mapping (0x400)
FEC = 203.0.113.0/24
Label = 132071
39
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: TARGETED LDP
T-LDP
40
COPYRIGHT 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED.
MPLS
LDP: TARGETED LDP OPERATION