SlideShare a Scribd company logo
Issue Date:
Revision:
APNIC eLearning:
Introduction to MPLS
31 OCTOBER 2018
11:00 AM AEST Brisbane (UTC+10)
20 May 2016
3.0
Introduction
• Presenter/s
• Reminder: please take time to fill-up the survey
Jessica Bei Wei
Training Officer
jwei@apnic.net
Specialties:
Routing & Switching
MPLS IPv6
QoS
2
Overview
• Definition of MPLS
• Advantages of MPLS
• MPLS Application
• MPLS Architecture
• MPLS Labels
• LSP Setup
• Forwarding Operations
3
Definition of MPLS
• Multi Protocol Label Switching
– Multiprotocol, it supports ANY network layer protocol, i.e.
IPv4, IPv6, IPX, CLNP, etc.
– A short label of fixed length is used to encapsulate
packets
– Packets are forwarded by label switching instead of by IP
switching
4
…
128.89/16
171.69/16
Address
Prefix I/F
1
0
IP Forwarding Table
…
128.89/16
171.69/16
Address
Prefix I/F
0
1
IP Forwarding Table
Initial Motivation of MPLS
5
A label-swapping protocol was the need for speed.
• In mid 1990s, IP address lookup was considered more
complex and take longer time.
– Longest matching
01
128.89
0
128.89.25.4 Data 128.89.25.4 Data128.89.25.4 Data
…
128.89/16
171.69/16
Address
Prefix I/F
0
1
IP Forwarding Table
128.89.25.4 Data
Decoupling Routing and Forwarding
6
• MPLS can allow core routers to switch packets based on
some simplified header.
• But, hardware of routers became better and looking up
longest best match was no longer an issue.
• More importantly, MPLS de-couples forwarding from
routing, and support multiple service models.
1
0
1
128.89.25.4 Data 128.89.25.4 Data20 128.89.25.4 Data30 128.89.25.4 Data
128.89
01 0
VPN B
Site 1
VPN B
Site 3
VPN B
Site 2
VPNA
Site 2
MPLS VPN
7
• MPLS Layer 3/ Layer 2 VPN
MPLS Core
CE
CE
CE
CE
CE
PE
PE
PE
PE
P
P
P
VPNA
Site 1
Optimal Traffic Engineering
8
IP TE MPLS TE
Shortest path Determines the path at the source based on additional
parameters (available resources and constraints, etc.)
Equal cost load balancing Load sharing across unequal paths can be achieved.
FE
FE
FE
GE
GETunnel 1
BW: 300 Mb/s
Tunnel 2 BW
: 50
M
b/s
R1 R2
R3
R4 R5
R6
VPN Site
IP Domain
MPLS QoS
• MPLS does NOT define a new QoS architecture.
– Similar parts with IP DiffServ: functional components and where they
are used.(such as marking and traffic policing at network edge, etc)
– Difference: packets are differentiated by MPLS Traffic Class bits
9
MPLS Domain
CE PE PP
QoS in MPLS VPN Architecture
DSCP
MPLS Header
Traffic Class
IP Packet
IP Packet
- Packet
Technology Comparison
IP Native Ethernet MPLS
Forwarding
• Destination address
based
• Forwarding table learned
from control plane
• TTL support
• Destination address
based
• Forwarding table
learned from data plane
• No TTL support
• Label based
• Forwarding table
learned from control
plane
• TTL support
Control Plane Routing protocols
Ethernet loop avoidance
and signaling protocols
Routing protocols
Label distribution protocols
Packet
Encapsulation
IP header 802.3 header MPLS Header
QoS 8 bit TOS in IP header 3 bit 802.1p in VLAN tag 3 bit TC in label
OAM IP Ping, traceroute E-OAM MPLS Ping, traceroute
10
Evolution of MPLS
• Technology Evolution and Main Growth Areas
11
1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
Complete base MPLS portfolio
Optimize MPLS for video
Optimize MPLS for
packet transport
Optimize MPLS
for Cloud
Today
Formation of
the IETF MPLS
working group
First MPLS
L3VPN &TE
Deployed
First MPLS
RFCs
Released
First L2VPN
Deployments
Large Scale
L3VPN
Deployments
Large
Scale
MPLS TE
Deployed
Large Scale
L2VPN
Deployments
First LSM
Deployme
nts
First MPLS
TP
Deployments
1996, Ipsilon, Cisco and IBM announced label
switching plans, till now, there are over 280
RFCs of MPLS tech.
Bring MPLS to Market
MPLS Application Scenario
12
MPLS CORE
Enterprise
Enterprise
Enterprise
L3VPN
L3VPN
L2VPN L2VPN
Enterprise
L2VPN
TE Main Path for PE1-PE3
TE Backup Path for PE1-PE3
PE1 P
PE2
PE3
PE4
P
P P
QoS Operations:
Congestion
management,
congestion avoidance
QoS Operations:
Traffic marking,
police, shaping
QoS Operations :
Traffic marking,
police, shaping
MPLS Architecture
13
IP Routing
Protocols
Label
Distribution
Protocols
Control Plane
Routing Information
Exchange with other
routers
Data Plane
Label Binding and
Exchange with other
routers
Incoming
IP Packet
Incoming
Labeled Packet
Routing
Information
Base (RIB)
Forwarding
Information
Base (FIB)
Label
Information
Base (LIB)
Label Forwarding
Information
Base (LFIB)
IP Domain
MPLS Topology
14
• LSR (Label Switch Router) is a router that supports MPLS.
• LER (Label Edge Router), also called edge LSR, is an LSR that operates at
the edge of an MPLS network.
• LSP (Label Switched Path) is the path through the MPLS network or a part
of it that packets take.
MPLS Domain
Edge
LSR
LSR LSR
Edge
LSR
IP PacketLabel IP PacketLabel IP PacketLabel IP PacketIP Packet
IP Domain
MPLS Label
15
TC = Traffic Class: 3 Bits; S = Bottom of Stack: 1 Bit; TTL = Time to Live
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Label - 20bits TC S TTL-8bits
MPLS LabelDatalink Layer Header Layer 2/ Layer 3 Packet
MPLS Label Encapsulation
MPLS Label Stacking
16
• Multiple labels can be used for MPLS packet encapsulation.
network. This is done by packing the labels into a stack.
• Some MPLS applications (VPN, etc.) actually need more
than one labels in the label stack to forward the labeled
packets.
MPLS Label Stack
LAN MAC Label Header
S=1
Bottom of Stack Bit Set
S=0
MAC Header Label S Label S Layer 3 Packet
LSP Setup Overview
• Before forwarding packets, labels must be allocated to
establish an LSP.
• Protocols for label distribution: LDP, RSVP-TE, MP-BGP.
17
Establishing an LSP
Labels are allocated from downstream LSRs to upstream LSRs.
R2
To 100.1.1.1/32
Label=100
To 100.1.1.1/32
Label=200
To 100.1.1.1/32
Label=300
R1 R3 R4
LSP
DownstreamUpstream
100.1.1.1/32
Basic Concepts of MPLS Forwarding
• FEC
– Forwarding Equivalence Class, is a group or flow of packets that are
forwarded along the same path and are treated the same with regard to
the forwarding treatment.
– For example, packets with Layer 3 destination IP address matching a
certain prefix.
• Push
– A new label is added to the packet between the Layer 2 header and the
IP header or to the top of the label stack.
• Swap
– The top label is removed and replaced with a new label.
• Pop
– The top label is removed. The packet is forwarded with the remaining
label stack or as an unlabeled packet.
18
MPLS Forwarding Operations
Prefix: 100.1.1.1/32
Local Label Null
Out Interface E1
Out Label 100
Operation Push
19
R2
E0
R3 R4
IP: 100.1.1.1
IP:100.1.1.1100
100.1.1.1/32
IP:100.1.1.1200 IP:100.1.1.1300
IP: 100.1.1.1
R1
E1 E1 E1E0 E0 E0
Prefix: 100.1.1.1/32
Local Label 100
Out Interface E1
Out Label 200
Operation Swap
Prefix: 100.1.1.1/32
Local Label 200
Out Interface E1
Out Label 300
Operation Swap
Prefix: 100.1.1.1/32
Local Label 300
Out Interface --
Out Label --
Operation POP
Push Swap Swap Pop
Loopback0
Why PHP(Penultimate Hop Popping)?
Prefix: 100.1.1.1/32
Local Label Null
Out Interface E1
Out Label 100
Operation Push
20
R2
E0
R3 R4
IP: 100.1.1.1
IP:100.1.1.1100
100.1.1.1/32
IP:100.1.1.1200 IP:100.1.1.1300
IP: 100.1.1.1
R1
E1 E1 E1E0 E0 E0
Prefix: 100.1.1.1/32
Local Label 100
Out Interface E1
Out Label 200
Operation Swap
Prefix: 100.1.1.1/32
Local Label 200
Out Interface E1
Out Label 300
Operation Swap
Prefix: 100.1.1.1/32
Local Label 300
Out Interface --
Out Label --
Operation POP
Push Swap Swap Pop
Review what R4 has done:
1. First, lookup the label in the LFIB;
Remove the label
2. Then, IP lookup and forward IP packet.
Is the first lookup
necessary?
Can we simplify it?
Loopback0
Penultimate Hop Popping
Prefix: 100.1.1.1/32
Local Label Null
Out Interface E1
Out Label 100
Operation Push
21
R2
E0
R3 R4
IP: 100.1.1.1
IP:100.1.1.1100
100.1.1.1/32
IP:100.1.1.1200 IP:100.1.1.1
IP: 100.1.1.1
R1
E1 E1 E1E0 E0 E0
Prefix: 100.1.1.1/32
Local Label 100
Out Interface E1
Out Label 200
Operation Swap
Prefix: 100.1.1.1/32
Local Label 200
Out Interface E1
Out Label imp-null
Operation Pop
Prefix: 100.1.1.1/32
Local Label imp-null
Out Interface --
Out Label --
Operation --
Push Swap Pop
The implicit NULL label is the label that has a value of 3, the label 3
will never be seen as a label in the label stack of an MPLS packet.
Loopback0
MPLS TTL Processing (1)
• MPLS processes the TTL to prevent loops and implement
traceroute.
• By default, TTL propagation is enabled as above.
22
IP Domain
MPLS Domain
Edge
LSR
LSR LSR
Edge
LSR
TTL=250TTL=251
IP Domain
TTL=250 TTL=249 TTL=250 TTL=248 TTL=247
Decreased & CopiedDecreased & Copied
Only the TTL in the
top level decreased
MPLS TTL Processing (2)
• TTL propagation can be disabled to hide the MPLS network topology.
• Disabling TTL propagation makes routers set the value 255 into the TTL
field of the label when an IP packet is labeled.
23
IP Domain
MPLS Domain
Edge
LSR
LSR LSR
Edge
LSR
TTL=255TTL=251
IP Domain
TTL=250 TTL=254 TTL=250 TTL=249 TTL=248
DecreasedSet 255
Only the TTL in the
top level decreased
Decreased
After disabled TTL propagation
MPLS LSP Ping
24
MPLS Domain
R2 R3 R4R1
4.4.4.4/32
R1#ping mpls ipv4 4.4.4.4/32
Sending 5, 100-byte MPLS Echos to 4.4.4.4/32,
timeout is 2 seconds, send interval is 0 msec:
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
'P' - no rx intf label prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' - unknown upstream index,
'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
'X' - unknown return code, 'x' - return code 0
Type escape sequence to abort.
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/14/16 ms
Total Time Elapsed 128 ms
MPLS Echo
Request
MPLS Echo
Reply
Cisco IOS
MPLS LSP Trace
25
MPLS Domain
R2 R3 R4R1
4.4.4.4/32
R1#traceroute mpls ipv4 4.4.4.4/32
Tracing MPLS Label Switched Path to 4.4.4.4/32, timeout is 2 seconds
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
'P' - no rx intf label prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' - unknown upstream index,
'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
'X' - unknown return code, 'x' - return code 0
Type escape sequence to abort.
0 12.1.1.1 MRU 1500 [Labels: 200 Exp: 0]
L 1 12.1.1.2 MRU 1500 [Labels: 19 Exp: 0] 16 ms
L 2 23.1.1.2 MRU 1504 [Labels: implicit-null Exp: 0] 12 ms
! 3 34.1.1.2 12 ms Cisco IOS
IP MTU
• MTU indicates the maximum size of the IP packet that can
still be sent on a data link, without fragmenting the packet.
26
IP Domain
R2 R3 R4R1
MTU=1500 MTU=1500 MTU=1500
IP Packet
size=1500
DF=1
PASS PASS PASS
IP Header
TCP
Header
Payload
Ethernet MTU
IP MTU
TCP MSS
20 byte 20 byte 1460 byte
MPLS MTU Issue
27
MPLS Domain
R2 R3 R4R1
MTU=1500 MTU=1500 MTU=1500
Labeled Packet
size=1508
DF=1
DROP
LDP
Label
VPN
Label
IP Header
TCP
Header
Payload
Ethernet MTU
IP MTU
TCP MSS
20 byte 20 byte 1460 byte4 byte 4 byte
• In MPLS L3VPN network, 2 labels are added into the packet, the
labeled packets are slightly bigger than the IP packets. This
would lead to the need to fragment the packet.
How to Optimize Fragmentation?
• Solution 1. Change MPLS MTU: Make sure that you
configure this value on all the links in the path so that the
packets are not dropped.
• Solution 2. Change the TCP MSS to be smaller:
28
R1(config)#interface ethernet1/0
R1(config-if)#mpls mtu 1508
R1#show mpls interfaces Ethernet 1/0 detail
Interface Ethernet1/0:
IP labeling enabled
LSP Tunnel labeling not enabled
BGP labeling not enabled
MPLS not operational
MTU = 1508
R1(config)#interface ethernet 1/0
R1(config-if)#ip tcp adjust-mss 1452
For detailed, please refer to: https://blog.apnic.net/2014/12/15/ip-mtu-and-tcp-mss-missmatch-an-evil-for-network-performance/
Questions
• Please remember to fill out the
feedback form
– https://www.surveymonkey.com/r/a
pnic-20181031-eL1
• Slides are available for download
from APNIC FTP.
• Acknowledgement to Cisco
System.
29
APNIC Helpdesk Chat
31
Thank You!END OF SESSION

More Related Content

PDF
MPLS - Multiprotocol Label Switching
PDF
Implementing cisco mpls
PDF
MPLS Concepts and Fundamentals
PDF
Mpls basics introduction
PDF
Doc6 mpls vpn-ppt
PDF
Deploy MPLS Traffic Engineering
PDF
MPLS Presentation
PPTX
Mpls technology
MPLS - Multiprotocol Label Switching
Implementing cisco mpls
MPLS Concepts and Fundamentals
Mpls basics introduction
Doc6 mpls vpn-ppt
Deploy MPLS Traffic Engineering
MPLS Presentation
Mpls technology

What's hot (20)

PDF
Deploying IP/MPLS VPN - Cisco Networkers 2010
PDF
MPLS Deployment Chapter 1 - Basic
PDF
MPLS Lecture1(H)-102020.pdf
PPT
PDF
Bidirectional Forwarding Detection (BFD)
PDF
MPLS (Multiprotocol Label Switching)
PPTX
Label Distribution Protocol
PDF
VXLAN BGP EVPN: Technology Building Blocks
PPTX
Multiprotocol label switching
PPT
Mpls Services
PPTX
MENOG-Segment Routing Introduction
PDF
PPT
Mpls L3_vpn
PDF
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
PPSX
PPTX
MPLS L3 VPN Tutorial, by Nurul Islam Roman [APNIC 38]
PPT
MPLS (Multi-Protocol Label Switching)
PPTX
Module 1: ConfD Technical Introduction
PDF
MPLS Traffic Engineering
Deploying IP/MPLS VPN - Cisco Networkers 2010
MPLS Deployment Chapter 1 - Basic
MPLS Lecture1(H)-102020.pdf
Bidirectional Forwarding Detection (BFD)
MPLS (Multiprotocol Label Switching)
Label Distribution Protocol
VXLAN BGP EVPN: Technology Building Blocks
Multiprotocol label switching
Mpls Services
MENOG-Segment Routing Introduction
Mpls L3_vpn
Cisco Live! :: Introduction to Segment Routing :: BRKRST-2124 | Las Vegas 2017
MPLS L3 VPN Tutorial, by Nurul Islam Roman [APNIC 38]
MPLS (Multi-Protocol Label Switching)
Module 1: ConfD Technical Introduction
MPLS Traffic Engineering
Ad

Similar to 01 introduction to mpls (20)

PPT
MPLS101.ppt
PPT
Mpls101
PPT
MPLS_cisco.ppt
PPT
Mpls te
PPTX
MPLS (Multi-Protocol Label Switching)
PPT
MPLS-jpl.ppt
PPT
Pot for getting to learn the basics of mpls
PPT
MPLS_TEFGREGERGDFSGERTGERGRFGERGERGRG.ppt
PPT
Digital network lecturer3
PDF
MPLS
PPTX
Multi Protocol Label Switching. (by Rahil Reyaz)
PPTX
An introduction to MPLS networks and applications
PPT
mpls.ppt
PPT
Broadband Network Presentation
PPT
MPLS.ppt
PPT
Mpls by vidhu
 
PPTX
DOCX
MPLS101.ppt
Mpls101
MPLS_cisco.ppt
Mpls te
MPLS (Multi-Protocol Label Switching)
MPLS-jpl.ppt
Pot for getting to learn the basics of mpls
MPLS_TEFGREGERGDFSGERTGERGRFGERGERGRG.ppt
Digital network lecturer3
MPLS
Multi Protocol Label Switching. (by Rahil Reyaz)
An introduction to MPLS networks and applications
mpls.ppt
Broadband Network Presentation
MPLS.ppt
Mpls by vidhu
 
Ad

More from Achmad Mardiansyah (20)

PDF
Solaris 10 Container
PDF
Backup & Restore (BR) in Solaris OS
PDF
Mikrotik User Meeting Manila: bgp vs ospf
PDF
PHPID online Learning #6 Migration from procedural to OOP
PDF
Troubleshooting load balancing
PDF
ISP load balancing with mikrotik nth
PDF
Mikrotik firewall mangle
PDF
Wireless CSMA with mikrotik
PDF
SSL certificate with mikrotik
PDF
BGP filter with mikrotik
PDF
Mikrotik VRRP
PDF
Mikrotik fasttrack
PDF
Mikrotik fastpath
PDF
Jumpstart your router with mikrotik quickset
PDF
Mikrotik firewall NAT
PDF
Using protocol analyzer on mikrotik
PDF
Routing Information Protocol (RIP) on Mikrotik
PDF
IPv6 on Mikrotik
PDF
Mikrotik metarouter
PDF
Mikrotik firewall filter
Solaris 10 Container
Backup & Restore (BR) in Solaris OS
Mikrotik User Meeting Manila: bgp vs ospf
PHPID online Learning #6 Migration from procedural to OOP
Troubleshooting load balancing
ISP load balancing with mikrotik nth
Mikrotik firewall mangle
Wireless CSMA with mikrotik
SSL certificate with mikrotik
BGP filter with mikrotik
Mikrotik VRRP
Mikrotik fasttrack
Mikrotik fastpath
Jumpstart your router with mikrotik quickset
Mikrotik firewall NAT
Using protocol analyzer on mikrotik
Routing Information Protocol (RIP) on Mikrotik
IPv6 on Mikrotik
Mikrotik metarouter
Mikrotik firewall filter

Recently uploaded (20)

PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PDF
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PPT
Design_with_Watersergyerge45hrbgre4top (1).ppt
PDF
The Internet -By the Numbers, Sri Lanka Edition
PPTX
presentation_pfe-universite-molay-seltan.pptx
PPTX
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
PDF
Slides PDF The World Game (s) Eco Economic Epochs.pdf
PPTX
Introduction to Information and Communication Technology
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
PPT
tcp ip networks nd ip layering assotred slides
PPTX
international classification of diseases ICD-10 review PPT.pptx
PPTX
Introuction about WHO-FIC in ICD-10.pptx
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PDF
Introduction to the IoT system, how the IoT system works
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PptxGenJS_Demo_Chart_20250317130215833.pptx
SASE Traffic Flow - ZTNA Connector-1.pdf
The New Creative Director: How AI Tools for Social Media Content Creation Are...
RPKI Status Update, presented by Makito Lay at IDNOG 10
Design_with_Watersergyerge45hrbgre4top (1).ppt
The Internet -By the Numbers, Sri Lanka Edition
presentation_pfe-universite-molay-seltan.pptx
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
Slides PDF The World Game (s) Eco Economic Epochs.pdf
Introduction to Information and Communication Technology
Cloud-Scale Log Monitoring _ Datadog.pdf
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
tcp ip networks nd ip layering assotred slides
international classification of diseases ICD-10 review PPT.pptx
Introuction about WHO-FIC in ICD-10.pptx
An introduction to the IFRS (ISSB) Stndards.pdf
Module 1 - Cyber Law and Ethics 101.pptx
Introduction to the IoT system, how the IoT system works
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
Introduction about ICD -10 and ICD11 on 5.8.25.pptx

01 introduction to mpls

  • 1. Issue Date: Revision: APNIC eLearning: Introduction to MPLS 31 OCTOBER 2018 11:00 AM AEST Brisbane (UTC+10) 20 May 2016 3.0
  • 2. Introduction • Presenter/s • Reminder: please take time to fill-up the survey Jessica Bei Wei Training Officer jwei@apnic.net Specialties: Routing & Switching MPLS IPv6 QoS 2
  • 3. Overview • Definition of MPLS • Advantages of MPLS • MPLS Application • MPLS Architecture • MPLS Labels • LSP Setup • Forwarding Operations 3
  • 4. Definition of MPLS • Multi Protocol Label Switching – Multiprotocol, it supports ANY network layer protocol, i.e. IPv4, IPv6, IPX, CLNP, etc. – A short label of fixed length is used to encapsulate packets – Packets are forwarded by label switching instead of by IP switching 4
  • 5. … 128.89/16 171.69/16 Address Prefix I/F 1 0 IP Forwarding Table … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table Initial Motivation of MPLS 5 A label-swapping protocol was the need for speed. • In mid 1990s, IP address lookup was considered more complex and take longer time. – Longest matching 01 128.89 0 128.89.25.4 Data 128.89.25.4 Data128.89.25.4 Data … 128.89/16 171.69/16 Address Prefix I/F 0 1 IP Forwarding Table 128.89.25.4 Data
  • 6. Decoupling Routing and Forwarding 6 • MPLS can allow core routers to switch packets based on some simplified header. • But, hardware of routers became better and looking up longest best match was no longer an issue. • More importantly, MPLS de-couples forwarding from routing, and support multiple service models. 1 0 1 128.89.25.4 Data 128.89.25.4 Data20 128.89.25.4 Data30 128.89.25.4 Data 128.89 01 0
  • 7. VPN B Site 1 VPN B Site 3 VPN B Site 2 VPNA Site 2 MPLS VPN 7 • MPLS Layer 3/ Layer 2 VPN MPLS Core CE CE CE CE CE PE PE PE PE P P P VPNA Site 1
  • 8. Optimal Traffic Engineering 8 IP TE MPLS TE Shortest path Determines the path at the source based on additional parameters (available resources and constraints, etc.) Equal cost load balancing Load sharing across unequal paths can be achieved. FE FE FE GE GETunnel 1 BW: 300 Mb/s Tunnel 2 BW : 50 M b/s R1 R2 R3 R4 R5 R6
  • 9. VPN Site IP Domain MPLS QoS • MPLS does NOT define a new QoS architecture. – Similar parts with IP DiffServ: functional components and where they are used.(such as marking and traffic policing at network edge, etc) – Difference: packets are differentiated by MPLS Traffic Class bits 9 MPLS Domain CE PE PP QoS in MPLS VPN Architecture DSCP MPLS Header Traffic Class IP Packet IP Packet - Packet
  • 10. Technology Comparison IP Native Ethernet MPLS Forwarding • Destination address based • Forwarding table learned from control plane • TTL support • Destination address based • Forwarding table learned from data plane • No TTL support • Label based • Forwarding table learned from control plane • TTL support Control Plane Routing protocols Ethernet loop avoidance and signaling protocols Routing protocols Label distribution protocols Packet Encapsulation IP header 802.3 header MPLS Header QoS 8 bit TOS in IP header 3 bit 802.1p in VLAN tag 3 bit TC in label OAM IP Ping, traceroute E-OAM MPLS Ping, traceroute 10
  • 11. Evolution of MPLS • Technology Evolution and Main Growth Areas 11 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 Complete base MPLS portfolio Optimize MPLS for video Optimize MPLS for packet transport Optimize MPLS for Cloud Today Formation of the IETF MPLS working group First MPLS L3VPN &TE Deployed First MPLS RFCs Released First L2VPN Deployments Large Scale L3VPN Deployments Large Scale MPLS TE Deployed Large Scale L2VPN Deployments First LSM Deployme nts First MPLS TP Deployments 1996, Ipsilon, Cisco and IBM announced label switching plans, till now, there are over 280 RFCs of MPLS tech. Bring MPLS to Market
  • 12. MPLS Application Scenario 12 MPLS CORE Enterprise Enterprise Enterprise L3VPN L3VPN L2VPN L2VPN Enterprise L2VPN TE Main Path for PE1-PE3 TE Backup Path for PE1-PE3 PE1 P PE2 PE3 PE4 P P P QoS Operations: Congestion management, congestion avoidance QoS Operations: Traffic marking, police, shaping QoS Operations : Traffic marking, police, shaping
  • 13. MPLS Architecture 13 IP Routing Protocols Label Distribution Protocols Control Plane Routing Information Exchange with other routers Data Plane Label Binding and Exchange with other routers Incoming IP Packet Incoming Labeled Packet Routing Information Base (RIB) Forwarding Information Base (FIB) Label Information Base (LIB) Label Forwarding Information Base (LFIB)
  • 14. IP Domain MPLS Topology 14 • LSR (Label Switch Router) is a router that supports MPLS. • LER (Label Edge Router), also called edge LSR, is an LSR that operates at the edge of an MPLS network. • LSP (Label Switched Path) is the path through the MPLS network or a part of it that packets take. MPLS Domain Edge LSR LSR LSR Edge LSR IP PacketLabel IP PacketLabel IP PacketLabel IP PacketIP Packet IP Domain
  • 15. MPLS Label 15 TC = Traffic Class: 3 Bits; S = Bottom of Stack: 1 Bit; TTL = Time to Live 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Label - 20bits TC S TTL-8bits MPLS LabelDatalink Layer Header Layer 2/ Layer 3 Packet MPLS Label Encapsulation
  • 16. MPLS Label Stacking 16 • Multiple labels can be used for MPLS packet encapsulation. network. This is done by packing the labels into a stack. • Some MPLS applications (VPN, etc.) actually need more than one labels in the label stack to forward the labeled packets. MPLS Label Stack LAN MAC Label Header S=1 Bottom of Stack Bit Set S=0 MAC Header Label S Label S Layer 3 Packet
  • 17. LSP Setup Overview • Before forwarding packets, labels must be allocated to establish an LSP. • Protocols for label distribution: LDP, RSVP-TE, MP-BGP. 17 Establishing an LSP Labels are allocated from downstream LSRs to upstream LSRs. R2 To 100.1.1.1/32 Label=100 To 100.1.1.1/32 Label=200 To 100.1.1.1/32 Label=300 R1 R3 R4 LSP DownstreamUpstream 100.1.1.1/32
  • 18. Basic Concepts of MPLS Forwarding • FEC – Forwarding Equivalence Class, is a group or flow of packets that are forwarded along the same path and are treated the same with regard to the forwarding treatment. – For example, packets with Layer 3 destination IP address matching a certain prefix. • Push – A new label is added to the packet between the Layer 2 header and the IP header or to the top of the label stack. • Swap – The top label is removed and replaced with a new label. • Pop – The top label is removed. The packet is forwarded with the remaining label stack or as an unlabeled packet. 18
  • 19. MPLS Forwarding Operations Prefix: 100.1.1.1/32 Local Label Null Out Interface E1 Out Label 100 Operation Push 19 R2 E0 R3 R4 IP: 100.1.1.1 IP:100.1.1.1100 100.1.1.1/32 IP:100.1.1.1200 IP:100.1.1.1300 IP: 100.1.1.1 R1 E1 E1 E1E0 E0 E0 Prefix: 100.1.1.1/32 Local Label 100 Out Interface E1 Out Label 200 Operation Swap Prefix: 100.1.1.1/32 Local Label 200 Out Interface E1 Out Label 300 Operation Swap Prefix: 100.1.1.1/32 Local Label 300 Out Interface -- Out Label -- Operation POP Push Swap Swap Pop Loopback0
  • 20. Why PHP(Penultimate Hop Popping)? Prefix: 100.1.1.1/32 Local Label Null Out Interface E1 Out Label 100 Operation Push 20 R2 E0 R3 R4 IP: 100.1.1.1 IP:100.1.1.1100 100.1.1.1/32 IP:100.1.1.1200 IP:100.1.1.1300 IP: 100.1.1.1 R1 E1 E1 E1E0 E0 E0 Prefix: 100.1.1.1/32 Local Label 100 Out Interface E1 Out Label 200 Operation Swap Prefix: 100.1.1.1/32 Local Label 200 Out Interface E1 Out Label 300 Operation Swap Prefix: 100.1.1.1/32 Local Label 300 Out Interface -- Out Label -- Operation POP Push Swap Swap Pop Review what R4 has done: 1. First, lookup the label in the LFIB; Remove the label 2. Then, IP lookup and forward IP packet. Is the first lookup necessary? Can we simplify it? Loopback0
  • 21. Penultimate Hop Popping Prefix: 100.1.1.1/32 Local Label Null Out Interface E1 Out Label 100 Operation Push 21 R2 E0 R3 R4 IP: 100.1.1.1 IP:100.1.1.1100 100.1.1.1/32 IP:100.1.1.1200 IP:100.1.1.1 IP: 100.1.1.1 R1 E1 E1 E1E0 E0 E0 Prefix: 100.1.1.1/32 Local Label 100 Out Interface E1 Out Label 200 Operation Swap Prefix: 100.1.1.1/32 Local Label 200 Out Interface E1 Out Label imp-null Operation Pop Prefix: 100.1.1.1/32 Local Label imp-null Out Interface -- Out Label -- Operation -- Push Swap Pop The implicit NULL label is the label that has a value of 3, the label 3 will never be seen as a label in the label stack of an MPLS packet. Loopback0
  • 22. MPLS TTL Processing (1) • MPLS processes the TTL to prevent loops and implement traceroute. • By default, TTL propagation is enabled as above. 22 IP Domain MPLS Domain Edge LSR LSR LSR Edge LSR TTL=250TTL=251 IP Domain TTL=250 TTL=249 TTL=250 TTL=248 TTL=247 Decreased & CopiedDecreased & Copied Only the TTL in the top level decreased
  • 23. MPLS TTL Processing (2) • TTL propagation can be disabled to hide the MPLS network topology. • Disabling TTL propagation makes routers set the value 255 into the TTL field of the label when an IP packet is labeled. 23 IP Domain MPLS Domain Edge LSR LSR LSR Edge LSR TTL=255TTL=251 IP Domain TTL=250 TTL=254 TTL=250 TTL=249 TTL=248 DecreasedSet 255 Only the TTL in the top level decreased Decreased After disabled TTL propagation
  • 24. MPLS LSP Ping 24 MPLS Domain R2 R3 R4R1 4.4.4.4/32 R1#ping mpls ipv4 4.4.4.4/32 Sending 5, 100-byte MPLS Echos to 4.4.4.4/32, timeout is 2 seconds, send interval is 0 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'l' - Label switched with FEC change, 'd' - see DDMAP for return code, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 12/14/16 ms Total Time Elapsed 128 ms MPLS Echo Request MPLS Echo Reply Cisco IOS
  • 25. MPLS LSP Trace 25 MPLS Domain R2 R3 R4R1 4.4.4.4/32 R1#traceroute mpls ipv4 4.4.4.4/32 Tracing MPLS Label Switched Path to 4.4.4.4/32, timeout is 2 seconds Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'l' - Label switched with FEC change, 'd' - see DDMAP for return code, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. 0 12.1.1.1 MRU 1500 [Labels: 200 Exp: 0] L 1 12.1.1.2 MRU 1500 [Labels: 19 Exp: 0] 16 ms L 2 23.1.1.2 MRU 1504 [Labels: implicit-null Exp: 0] 12 ms ! 3 34.1.1.2 12 ms Cisco IOS
  • 26. IP MTU • MTU indicates the maximum size of the IP packet that can still be sent on a data link, without fragmenting the packet. 26 IP Domain R2 R3 R4R1 MTU=1500 MTU=1500 MTU=1500 IP Packet size=1500 DF=1 PASS PASS PASS IP Header TCP Header Payload Ethernet MTU IP MTU TCP MSS 20 byte 20 byte 1460 byte
  • 27. MPLS MTU Issue 27 MPLS Domain R2 R3 R4R1 MTU=1500 MTU=1500 MTU=1500 Labeled Packet size=1508 DF=1 DROP LDP Label VPN Label IP Header TCP Header Payload Ethernet MTU IP MTU TCP MSS 20 byte 20 byte 1460 byte4 byte 4 byte • In MPLS L3VPN network, 2 labels are added into the packet, the labeled packets are slightly bigger than the IP packets. This would lead to the need to fragment the packet.
  • 28. How to Optimize Fragmentation? • Solution 1. Change MPLS MTU: Make sure that you configure this value on all the links in the path so that the packets are not dropped. • Solution 2. Change the TCP MSS to be smaller: 28 R1(config)#interface ethernet1/0 R1(config-if)#mpls mtu 1508 R1#show mpls interfaces Ethernet 1/0 detail Interface Ethernet1/0: IP labeling enabled LSP Tunnel labeling not enabled BGP labeling not enabled MPLS not operational MTU = 1508 R1(config)#interface ethernet 1/0 R1(config-if)#ip tcp adjust-mss 1452 For detailed, please refer to: https://blog.apnic.net/2014/12/15/ip-mtu-and-tcp-mss-missmatch-an-evil-for-network-performance/
  • 29. Questions • Please remember to fill out the feedback form – https://www.surveymonkey.com/r/a pnic-20181031-eL1 • Slides are available for download from APNIC FTP. • Acknowledgement to Cisco System. 29