Introduction To MPLS
Introduction To MPLS
• In early 2001 the first MPLS RFC (RFC 3031) was released
MPLS Fundamentals
Multiprotocol Label Switching
10.1.1.0/24
10.2.1.0/24
RTR-2 RTR-3
Port 1
RTR-A RTR-1 RTR-4 RTR-A
3 Po
rt rt 2
Port 2 Po Port 2
Port 2 Port 3
Port 3 Port 1 Port 1 Port 3
RTR-5
IGP 10.2.2.0/24
10.1.2.0/24
RTR-A FIB Prefix via RTR-2 FIB Prefix via RTR-4 FIB Prefix via
IP Benefits IP Caveats
Scalability Hyper Aggregation
Overall network resiliency End to end service limitations
Simple addressing scheme Address-based forwarding is limiting
Forwarding Equivalence Class (FEC) - MPLS
RTR-2 RTR-3
RTR-5
Packet Forwarding in an MPLS Domain
RTR-2 RTR-3
Port 1
RTR-1 Label Switched Path RTR-4
MPLS Network
RTR-5
IGP
RTR-2 RTR-3
RTR-5
• Permits delivery of new services that are not readily supported by conventional
IP routing techniques
− Traffic Engineering
− ToS and CoS based forwarding
− Layer 2 and Layer 3 Virtual Private Networks (VPN)
• Runs over almost any Data Link layer technology
• Supports the forwarding of both unicast and multicast traffic flows
• Minimizes the IP lookup, forwarding, and classification process over traditional
IP networks
The MPLS Label
Layer 2 Header
L2 n …. 1 Payload
Payload
(eg. PPP, 802.3, (Ethernet, ATM,
ATM, Frame Relay) SCADA RS232,
Frame-Relay)
4 Bytes
IGP shortcuts
− Reduces requirement for full iBGP mesh
Traffic engineering
− More efficient use of network resources
− Provide service guarantees and resource reservations
− Enable other constraints on traffic flow
High availability and redundancy
− Set up alternate paths to provide high availability services
− Enable fast reroute to adapt quickly to topology changes
Virtual Private Network services (VPNs)
− Provide virtual point-to-point links
− Emulate private Layer 2 and Layer 3 networks
− Support any other tunnelling requirements
IGP Shortcut
BGP RR
IP/MPLS
PE PE
PE PE
BGP traffic is tunneled through the core, removing the need for the routers
inside the IP/MPLS core to maintain BGP routing information.
Traffic Engineering
Hyper aggregation leads to some links being congested while others are
underutilised
Primary
Link
Alternate
Link
Primary
Link
Alternate
Link
Primary Path
Secondary Path
Customer A Customer B
VPRN
VPRN
Customer B Customer B
VPRN VPRN
VPRN VPRN
Customer A
Customer A
P P
CE
PE
CE
CE PE
P
MPLS Terminology – iLER, eLER and LSR
• The router at the beginning of an LSP is called the ingress Label Edge Router
(iLER)
• The router at the end of an LSP is called the egress Label Edge Router (eLER)
• The router(s) at the intermediate points along the LSP between the iLER and
eLER is called the Label Switching Router (LSR)
LSR LSR
iLER iLER
MPLS Terminology - Label Switch Path (LSP)
• A Label Switched Path (LSP) is the unidirectional logical path across an MPLS
domain based on a specific FEC
• It is similar to a PVC (or SVC) in an ATM network
• An LSP is often referred to as a Transport Tunnel
• Ingress and egress are relative to the packet flow
• Provides the capability to establish connection oriented paths over a
connectionless IP network
LSR LSR
iLER iLER
MPLS – Packet Forwarding
10.1.1.0/24
RTR-2 RTR-3 10.2.1.0/24
RTR-A
RTR-1 RTR-4
Label Switched Path RTR-C
RTR-B
RTR-5
10.1.1.0/24
RTR-2 RTR-3 10.2.1.0/24
RTR-A
RTR-1 RTR-4
Label Switched Path RTR-C
RTR-B
RTR-5
PUSH
• The iLER assigns the incoming packet to a FEC, which was a corresponding
LSP identified by a label
Packet Forwarding via the Label Switched Path (LSP)
10.1.1.0/24
RTR-2 RTR-3 10.2.1.0/24
RTR-A
RTR-1 RTR-4
Label Switched Path RTR-C
RTR-B
RTR-5
RTR-2 In Label Out Next hop RTR-3 In Label Out Next hop
Label Label
SWAP SWAP
• LSRs use label switching only to forward a the packet
Packet Forwarding via the Label Switched Path (LSP)
10.1.1.0/24
RTR-2 RTR-3 10.2.1.0/24
RTR-A
RTR-1 RTR-4
Label Switched Path RTR-C
RTR-B
RTR-5
POP
• The eLER removes the label and forwards the packet based on traditional
IP forwarding
Packet Forwarding via the Label Switched Path (LSP)
10.1.1.0/24
RTR-2 RTR-3 10.2.1.0/24
RTR-A
RTR-1 RTR-4
Label Switched Path RTR-C
RTR-B
RTR-5
IP Forward
• Rtr C performs convention IP forwarding of the unlabeled packet
Router Control Plane and Data Plane
• Nokia 7750 is functionally and physically separated into a control plane and data,
or forwarding plane
• Control plane
− Exchanges routing information with other routers using standard routing
protocols
− Information is stored in the routing table or RIB
− Communicates label binding information with other LSRs using label exchange
protocols
− Information is stored in a label database or LIB
• Data plane
− Forwarding information base (FIB) is populated from the RIB
− Used for forwarding unlabeled packets
− Label forwarding information base (LFIB) is populated from LIB
− Used for forwarding labelled packets
Control Plane vs. Data Plane – IP Router
Routing
Exchange Route
RIB Table
Control Plane
Data Plane
• A packet may arrive at the LER labelled or unlabeled and may leave the
router labelled or unlabeled
Routing
Exchange Route
RIB Table
Label Binding
Exchange
LIB Control Plane
Data Plane
LFIB labelled IP Packet
• A packet may arrive at the LER labelled or unlabeled and may leave the
router labelled or unlabeled
Routing
Exchange Route
RIB Table
Label Binding
Exchange
LIB Control Plane
Data Plane
labelled IP Packet LFIB
Routing
Exchange Route
RIB Table
Label Binding
Exchange
LIB Control Plane
Data Plane
labelled IP Packet LFIB labelled IP Packet
FIB
Label Distribution
Label Signaling and Distribution
• The MPLS architecture does not assume a single label distribution protocol
• Options are available for implementing label signaling and exchange in an MPLS
enabled network
• MPLS signaling protocols include the following
− Manual - Static
− Dynamic via LDP (Label Distribution Protocol)
− Dynamic via RVSP-TE (Resource Reservation Protocol for Traffic Engineering)
LSP Types - Static
• Static LSPs are established by manually defining fixed paths across the MPLS
domain
− All transit routers must be configured manually with labels and label actions
− An LSP must be established in both directions
− Dynamic signaling protocols are not required
LSP Types - Signaled
LSR-3
10.2.2.0/24
10.1.2.0/24
eLER Prefix Cost Peer eLER FEC Label eLER FEC Label
• Egress router floods the IGP area with a Link State Advertisement of its
known networks
• Sends Label Mapping messages with labels to reach them
Label Distribution – RSVP-TE Snapshot
10.1.1.0/24
10.2.1.0/24
LSR-1 LSR-2
LSR-3
10.2.2.0/24
10.1.2.0/24
Payload
Layer 2 Transport
Service Label (Ethernet, ATM, SCADA
Header Label
RS232, Frame-Relay)
Payload
Layer 2 Transport
Service Label (Ethernet, ATM, SCADA
Header Label
RS232, Frame-Relay)
Tunnel labels are advertised by RSVP-TE | LDP and are used to switch
the frame across the backbone
LSR LSR
iLER eLER
Service (Inner Label)
Payload
Layer 2 Transport
Service Label (Ethernet, ATM, SCADA
Header Label
RS232, Frame-Relay)
Service labels are advertised by T-LDP | BGP and are used to identify
to which service or customer a packet belongs. Create a per service
tunnel that isolates traffic from other services.
LSR LSR
iLER eLER
MPLS service types
LSR LSR
epipe
LSP
cpipe
CE iLER eLER CE
VPLS (L2VPN) over MPLS
A class of VPN that allows the connection of multiple sites in a single bridged
domain over a managed MPLS network
PE
A PE
Unknown/broadcast
Traffic replicated in a service domain B
Per-Service VC labels
A
Negotiated using draft-Martini B
PE
RFC 4762
LSP
VRPN (L3VPN) OVER MPLS
• Each PE router maintains a separate logical routing table for each VPRN:
VPN Routing and Forwarding Instance (VRF)
• No communication is possible between IPVPN (unless specified),
strict traffic | service isolation
• Uses MP-BGP for label signalling (RFC 4356)
VRF A VRF A
CE CE
PE PE
CE CE
VRF B VRF B
VRPN (L3VPN) – VPN-IPV4 Address Family
IPv4
Route Distinguisher + Prefix = VPN-IPv4 Prefix
• The VPN-IPv4 address family is only used in the MPLS core when
exchanging updates
10.1.1.0/24 10.1.2.0/24
CE CE
PE PE
VRF A VRF A
MP-BGP
VRF B
PE PE
VRF B
CE CE
IPv4 IPv4
VPN-IPv4 Prefix
10.1.1.0/24 Prefix Prefix 10.1.2.0/24
eg: VRF B 10.1.1.0/24 65001:100:10.1.1.0/24 10.1.1.0/24
Route Target (RT)
MP-BGP Update
VPN-IPv4 Prefix
Other
Attributes
RT n …. RT 2 RT 1
MP-BGP Attributes
Multiprotocol BGP (MP-BGP)
10.1.1.0/24 10.1.2.0/24
CE CE
PE PE
VRF A VRF A
MP-BGP
VRF B
PE PE
VRF B
CE CE
IPv4 IPv4
VPN-IPv4 Prefix RT
10.1.1.0/24 Prefix Prefix 10.1.2.0/24
eg: VRF B 10.1.1.0/24 65001:100:10.1.1.0/24 64496:20 10.1.1.0/24
VPRN Label signalling
MP-BGP Update
Other VPN
VPN-IPv4 Prefix RT
Attributes LABEL
Nokia SROS terminology - Service definition
• A service is a unique entity that refers to the type of connectivity for either
Internet (Layer 3) or VPN (Layer 2 or Layer 3) connectivity
Subscriber
Customer
SAP
1/2/3
SDP
VC-ID Transport Tunnel Service Tunnel
Service
Nokia SROS terminology - Service Distribution Point (SDP)
• A SDP is a logical entity used to direct traffic from one router to another
through a unidirectional service tunnel
• SDPs are locally unique
• Many services can be mapped to the same SDP
Subscriber
Customer
SAP SDP 3
VC-ID Service Tunnel
1/2/3 80 Transport Tunnel
VC-ID Service Tunnel
Service 20
Distributed VPWS Service
Subscriber A Subscriber A
Site 1 Site 2
Customer Customer
SAP 1 1 SAP
1/2/3 4/1/2
SDP 3 Demux
Service VC-ID
100
100 SDP 7
VC-ID Service
Demux 100 100
Logical View
Subscriber A Subscriber A
Site 1 Site 2
VPLS Service
Subscriber A Subscriber A
Site 1 Site 2
Customer Customer
SAP 1 1 SAP
1/2/4 4/1/2
SDP 3 Demux
Service VC-ID
150
150 SDP 7
SAP VC-ID Service
1/2/5 Demux 150 150
Subscriber A
Site 3
Logical View
Subscriber A Subscriber A
Site 1 Site 2
Subscriber A
Site 3
VPRN Service
Subscriber A Subscriber A
Site 1 Site 2
Customer Customer
SAP 1 1 SAP
1/2/3 4/1/2
Service MP-BGP Service
200 200
SAP
1/2/5
Subscriber A
Site 3
Logical View
Subscriber A Subscriber A
Site 1 Site 2
Subscriber A
Site 3
Life of a Packet – VPWS example
HTTP HTTP
IP IP TCP
TCP MPLS100
Service MPLS100
Service Layer 2 TCP
IP MPLS Transport
10 MPLS Transport
58 MPLS100
Service IP
CE PE P P PE CE
(Penultimate hop popping enabled)
Life of a Packet – VPRN example
HTTP HTTP
TCP MPLS200
Service MPLS200
Service IP TCP
IP MPLS Transport
11 MPLS Transport
65 MPLS200
Service IP
CE PE P P PE CE
(Penultimate hop popping enabled)