Intro MPLS Ldeghein
Intro MPLS Ldeghein
Luc De Ghein
ldeghein@cisco.com
Cisco Public
Agenda
History of MPLS
Benefits of MPLS MPLS Technology Introduction
MPLS Applications
Cisco Public
Before MPLS
Several WAN protocols existed
ATM, Frame-Relay
History of MPLS
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009+
Time
Cisco Public
Benefits of MPLS
One unified network infrastructure
Better IP over ATM integration BGP-free core
economics
Cisco Public
IPv4 IPv6 Layer 2 frames (Ethernet, ATM, FrameRelay, HDLC, PPP) TDM
PPP
IP/MPLS
Frame Relay
Internet VoIP
Ethernet
Adding labels to the packet enables the possibility to carry other protocols than just IP over an MPLS-enabled Layer 3 IP backbone, similarly to what was previously only possible with Frame Relay or ATM Layer 2 networks
PSTN
Cisco Public
All these methods were cumbersome to implement and troubleshoot. A better solution for integrating IP over ATM was one of the driving reasons for the invention of MPLS. The prerequisites for MPLS on ATM switches were that the ATM switches had to become more intelligent. The ATM switches had to run an IP routing protocol and implement a label distribution protocol.
Cisco Public
BGP-Free Core
MPLS network
BGP Route Reflector (RR)
BGP sessions
BGP-free core
edge MPLS router edge MPLS router
MPLS labeling is done on edge routers the label assigned is the one associated with the BGP next-hop address The BGP next-hop address is known in the network via the IGP
Cisco Public
10
routing peering
Provider Edge router
routing peering
Cisco Public
11
VPN red CE
VPN red CE
VPN red CE
VPN red CE
VPN red CE
VPN red CE
VPN red CE
overlay model
peer-to-peer model
Layer 2 devices in the core: customer routers interconnect through them by means of virtual circuits (VC) created In order for any router to send traffic directly to any other router at the edge, a virtual circuit must be created between them directly For optimal traffic flow in all cases: full mesh needed For n customer routers: (n-1) * n / 2 number of VCs needed
Peer-to-peer MPLS VPN model has optimal traffic flow in all cases No VCs per customer
Cisco Public
12
C
IP
B E F
13
Cisco Public
14
Label # 20bits
EXP S
TTL-8bits
PPP Header
Label
MAC Header
Label
Cisco Public
15
Label Stacking
There may be more than one label in an MPLS packet
Each label at a different place in the label stack has its meaning
Examplethere can be one label for routing the packet to an egress point and another that separates a customer A packet from customer B Inner labels can be used to designate services
Outer label used to route/switch the MPLS packets in the network Last label in the stack is marked with EOS bit Allows building services such as
MPLS VPNs
Traffic engineering and fast reroute VPNs over traffic engineered core Any transport over MPLS Inner Label
Intro to MPLS Luc De Ghein
VPN Label
IP Header
Cisco Public
16
MPLS Label
MPLS Label has local significance
One router assigns the MPLS label independently There is no global assignment for the whole network
No global authority
Normal MPLS labels are: 16-1048575 Reserved label range is: 0-15
See later slides for some examples
Intro to MPLS Luc De Ghein 2009 Cisco Systems, Inc. All rights reserved. Cisco Public
17
LDP
LDP label advertisement
10.0.0.0/8 label L2
PE
PE
Local/In label
L1
Intro to MPLS Luc De Ghein
Prefix
10.0.0.0/8
Out Intf
POS0/0/0
Remote/Out Label
L2
LFIB
LDP = Label Distribution Protocol, defined in RFC 3035 and 3036 LDP advertises label bindings Label binding = IP prefix + MPLS label LDP is a superset of Tag Distribution Protocol
2009 Cisco Systems, Inc. All rights reserved. Cisco Public
18
LDP
IP Label L3 IP
PE
PE
Local/In label
L1
Prefix
10.0.0.0/8
Out Intf
POS0/0/0
Remote/Out Label
L2
Cisco Public
19
LIB
MPLS Process
LFIB
FIB
MPLS Traffic
IP Traffic
Cisco Public
20
LIB
Label Information Base holds the label bindings One local label (in label) allocated by the router per prefix One or more remote labels (out label) per prefix LIB stores all received label bindings
PE1#show mpls ldp binding tib entry: 10.1.1.0/24, rev 3 local binding: tag: imp-null remote binding: tsr: 10.100.1.3:0, tag: imp-null remote binding: tsr: 10.100.1.6:0, tag: 16 tib entry: 10.1.5.0/24, rev 20 local binding: tag: imp-null remote binding: tsr: 10.100.1.3:0, tag: 18 remote binding: tsr: 10.100.1.6:0, tag: imp-null tib entry: 10.100.1.2/32, rev 4 local binding: tag: imp-null remote binding: tsr: 10.100.1.3:0, tag: 16 remote binding: tsr: 10.100.1.6:0, tag: 19 tib entry: 10.100.1.4/32, rev 18 local binding: tag: 22 remote binding: tsr: 10.100.1.3:0, tag: 19 remote binding: tsr: 10.100.1.6:0, tag: 21
Intro to MPLS Luc De Ghein
...
2009 Cisco Systems, Inc. All rights reserved. Cisco Public
21
LFIB
Label Forwarding Information Base LFIB stores one local and one remote label per prefix LFIB is used to forward labeled incoming packet
Outgoing packet can be labeled Outgoing packet can be unlabeled
20
21 22 23
Pop tag
Aggregate 19 Untagged
10.100.1.6/32
11.1.1.0/24[V] 10.100.1.4/32 11.100.1.1/32[V]
0
0 0 0
Et0/0
Se3/0 Se2/0
10.1.5.6
point2point point2point
Cisco Public
22
IP
IP
IP
IP
POP
23 16 16
UNTAG/ NO LABEL
23 16
IP
IP
IP
IP
Cisco Public
23
IP
IP
Label L1
IP
Label L2
IP
10.100.1.0/24
PE
P
LDP label advertisement
10.0.0.0/8 label 3
PE
P#show mpls ldp bindings 10.100.1.0 24 tib entry: 10.100.1.0/24, rev 14 local binding: tag: 17 remote binding: tsr: 10.100.1.6:0, tag: 19 remote binding: tsr: 10.100.1.1:0, tag: imp-null remote binding: tsr: 10.100.1.4:0, tag: 19 Intro to MPLS
Luc De Ghein 2009 Cisco Systems, Inc. All rights reserved. Cisco Public
24
IP
IP
Label L1
IP
Label L2
IP
Label 0
10.100.1.0/24
PE
P
LDP label advertisement
10.0.0.0/8 label 0
PE
P#show mpls ldp bindings 10.100.1.0 24 tib entry: 10.100.1.0/24, rev 14 local binding: tag: 17 remote binding: tsr: 10.100.1.6:0, tag: 19 remote binding: tsr: 10.100.1.4:0, tag: 19 remote binding: tsr: 10.100.1.1:0, tag: exp-null P#show Local tag 17 mpls forwarding-table 10.100.1.0 Outgoing Prefix Bytes tag tag or VC or Tunnel Id switched 0 10.100.1.0/24 0
Cisco Public
25
Cisco Public
26
red VPN
eBGP IGP
CE
PE
IGP LDP
IGP LDP
IGP LDP
PE
CE
VRF interface
VRF interface
Route Distinguisher (RD): 8-byte fieldunique value assigned by a provider to each VPN to make different VPN routes unique VPNv4 address: RD+VPN IP prefix Route Target (RT): 8-byte field, unique value assigned by a provider to define the import/export rules for the routes from/to each VPN MP-iBGP: facilitates advertisement of VPNv4* prefixes + labels between BGP peers Virtual Routing Forwarding Instance (VRF): contains VPN site routes; only on PE routers Intro MPLS to Multi-VRF CE (VRF-Lite): CE device supporting multiple VRFs w/o MP-iBGP & VPN labels 27
Luc De Ghein 2009 Cisco Systems, Inc. All rights reserved. Cisco Public
LDP
IP VPN Label IP
red VPN
CE
PE
PE
CE
Ingress PE router: lookup in VRF RIB, adds vpn label, add LDP label P routers: label swapping (top label only) Egress PE router: looks up vpn label in LFIB, forwards IP packet onto VRF interface
Cisco Public
28
L2VPN Options
L2VPN Models VPWS
Virtual Private Wire Service
Point to Point
VPLS
Virtual Private LAN Service
Point to Multipoint
MPLS Core
L2TPv3
IP Core
AToM
MPLS Core
Ethernet
Ethernet
Frame Relay ATM (AAL5 and Cell) PPP and HDLC
Intro to MPLS Luc De Ghein
Ethernet
Frame Relay ATM (AAL5 and Cell) PPP and HDLC
AToM = Any Transport over MPLS
Cisco Public
29
AC
PSN Tunnel
pseudo wires
AC
AC
PE
PE
AC
emulated services
The pseudowire (PW) is a connection between 2 PE routers emulating an end-to-end service and connecting 2 Attachments Circuits (AC)
2009 Cisco Systems, Inc. All rights reserved. Cisco Public
30
Provider Edge
FR
PPP
An L2VPN is comprised of switched connections between subscriber endpoints over a shared network Non-subscribers do not have access to those same endpoints
Intro to MPLS Luc De Ghein 2009 Cisco Systems, Inc. All rights reserved. Cisco Public
31
Control Connection
Transport Component
Tunneling Component
Emulated L2 PDU
Cisco Public
32
Any Transport over MPLS Control Plane How PWs Are Established
2. PE1 Starts Targeted LDP session with PE2 if one does not already exist
CE
PE1
PE2
CE
1. CE-PE: AC connection 3. PE1 Allocates VC Label for new interface and binds to configured VC ID 5. PE2 Receives VC Type and VC Label that matches Local VCID Note: PE2 Repeats Steps 15 so that Bidirectional Label/VCID Mappings Are Established
Cisco Public
33
L2 frame VC Label
L2 frame
CE
PE1
PE2
CE
VC label is only looked up at egress PE Tunnel label (LDP/IGP label) is changed at every hop
Cisco Public
34
PE1
PE2
Site2 CE
MPLS WAN
Site3 CE VPLS defines an architecture that delivers Ethernet Multipoint Services (EMS) over an MPLS network VPLS operation emulates an IEEE Ethernet bridge. VPLS network acts like a virtual switch that emulates conventional L2 bridge.
Forwarding of ethernet frames Forwarding of unicast frames with unknown destination MAC address Forwarding of multicast and broadcast frames Dynamic learning of MAC addresses MAC address aging
It supports communication between fully meshed L2 sites without the spanning tree complexities Intro to MPLS
Luc De Ghein 2009 Cisco Systems, Inc. All rights reserved. Cisco Public
35
VPLS Components
full mesh of Targeted-LDP sessions exchange VC labels Attachment Circuit
n-PE PW CE PW CE Red VSI Blue VSI Green VSI Directed LDP session between participating PEs Tunnel LSP PW CE CE Red VSI Blue VSI Green VSI
CE
CE
n-PE
CE
Virtual Switching Instance: VSI or VFI (Virtual Forwarding Instance) VPN ID: Unique value for each VPLS VPN Attachment VCs are port mode or VLAN ID
Intro to MPLS Luc De Ghein 2009 Cisco Systems, Inc. All rights reserved. Cisco Public
36
Tactical
IP/MPLS
R8 R2 R2
R8
R8 R2 R2
R8
ISIS-TE
IP/MPLS
OSPF-TE
CBTS
Forwarding Adjacency
Tunnel select
Intro to MPLS Luc De Ghein 2009 Cisco Systems, Inc. All rights reserved. Cisco Public
38
TE Fundamentals
1. Information Distribution
need Link State protocol IS-IS or OSPF
2. 3. 4. 5.
Path selection/calculation Path setup Trunk admission control Forwarding traffic on to tunnel 6. Path maintenance headend
tailend midpoints
Path Calculation (PCALC/CSPF) uses IGP advertisements to compute constrained paths TE tunnel
Upstream
Intro to MPLS Luc De Ghein 2009 Cisco Systems, Inc. All rights reserved. Cisco Public
Unidirectional Tunnel
Downstream
39
PATH
TE tunnel
40
R8
R2
Cisco Public
41
IP/MPLS
R3
R6
R7
Backup terminates on Merge Point (MP) where traffic rejoins primary Restoration time expected under ~50 ms
16
22
R5
Primary TE LSP
Backup TE LSP
Intro to MPLS Luc De Ghein
Cisco Public
42
Point of Local Repair (PLR) swaps next-hop label and pushes backup label
Backup terminates on Merge Point (MP) where traffic rejoins primary Restoration time depends on failure detection time
R1
R2
R4
R5
R6
16
22
36
R5
Primary TE LSP
Backup TE LSP
Intro to MPLS Luc De Ghein
Cisco Public
43
R1
R2
R3
R4
Primary TE LSP
Backup TE LSP
Intro to MPLS Luc De Ghein
Cisco Public
44
Q&A
Cisco Public
45
Terminology Reference
Terminology
AC
ECMP IGP Equal Cost Multipath Interior Gateway Protocol
Description
Attachment Circuit. An AC Is a Point-to-Point, Layer 2 Circuit Between a CE and a PE.
LAN
LDP LER LFIB LIB LSP LSR P Router PE Router PSN Tunnel
Cisco Public
46
Terminology Reference
Terminology
Pseudo-Wire PWE3 RD RIB RR RT RSVP-TE VPN VFI
Description
A Pseudo-Wire Is a Bidirectional Tunnel" Between Two Features on a Switching Path. Pseudo-Wire End-to-End Emulation Route Distinguisher Routing Information Base (Routing Table) Route Reflector Route Target Resource Reservation Protocol based Traffic Engineering Virtual Private Network Virtual Forwarding Instance
VPLS
VPWS VRF VSI
Cisco Public
47
Cisco Public
48