1 MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential MPLS Bootcamp MPLS VPN Khalid Raza, Kyle Bearden, & Munther Antoun March, 2001 Version 0.1
Dec 24, 2015
1MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS BootcampMPLS VPN
MPLS BootcampMPLS VPN
Khalid Raza, Kyle Bearden, &
Munther Antoun
March, 2001
Version 0.1
Khalid Raza, Kyle Bearden, &
Munther Antoun
March, 2001
Version 0.1
2MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPNAgenda
MPLS VPNAgenda
• VPN Concepts
• MPLS VPN Functional Components
• MPLS VPN Architectural Components
• VPN Routing & Forwarding
• MPLS VPN Route Distribution
• MPLS VPN Data Plane
• MPLS VPN Topologies
• Convergence & Scaling Considerations
• QoS
• Deployment Strategies
• MPLS VPN Labs
3MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Virtual Private Networks
Virtual Private Networks
ConceptsConcepts
3© 2000, Cisco Systems, Inc.NW’00 Paris
4MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Virtual Private NetworksVirtual Private Networks
• An IP Network Infrastructure Delivering Private Network Services over a Public Infrastructure
Certainly not a new concept
Leased Lines --> Statistical Multiplexing
Delivered at Layer-2 (SP backbone) or Layer-3 (IP backbone)
Private connectivity amongst multiple sites
Controlled access into the VPN
Global or non-unique private IP addressing space amongst the different VPNs
5MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Virtua l Networks
V irtua l Private Networks V irtua l D ia lup Networks V irtua l LANs
O verlay VPN Peer-to-Peer VPN
Layer-2 VPN Layer-3 VPN
X.25 F /R ATM G RE IPSec
Access lists(Shared router)
Split routing(Dedicated router)
M PLS/VPN
Virtual Private NetworksVirtual Private Networks
6MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VPN - Overlay ModelVPN - Overlay Model
Service Provider Network
Provider Edge (PE) device
Provider Edge (PE) device
VPN Site VPN Site
Virtual Circuit
CPE (CE) Device
CPE (CE) Device
Layer-3 Routing Adjacency
Private Trunks Across a Telco/SP Shared Infrastructure
Leased/Dialup LinesFR/ATM Virtual CircuitsIP(GRE) Tunnelling
Point-to-point Solution between Customer SitesHow to Size Inter-site Circuit Capacities?Full Mesh Requirement for Optimal RoutingCPE Routing Adjacencies between Sites
7MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Service Provider Network
Provider Edge Router
Provider Edge Router
VPN Site 1 VPN Site 2
CPE Router CPE Router
Layer-3 Routing Adjacencies
VPN - Peer-to-Peer ModelVPN - Peer-to-Peer Model
Provider Edge Device Exchanges Routing Information with CPEAll customer routes carried within SP IGPSimple routing scheme for VPN customerRouting between sites is optimalCircuit sizing no longer an issue
Private Addressing is NOT an OptionAddition of New Sites is Simpler
No overlay mesh to contend with
8MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Service Provider Network
Provider Edge (PE) Router
Provider Edge (PE) Router
VPN Site 1 VPN Site 2
Customer Edge (CE)
Router
Customer Edge (CE) Router
Static, RIP, OSPF, or eBGP Routing
VPN - MPLS VPN ModelVPN - MPLS VPN Model
Combines Benefits of Overlay and Peer-to-peer Paradigms Overlay (security and isolation amongst customers)Peer-to-peer (simplified customer routing)
PE Routers only Hold Routes for Attached VPNsReduces size of PE routing informationProportional to number of VPNs attached
MPLS Used to Forward Packets (not Traditional IP Routing)Full routing within backbone no longer required
MP-iBGP Session
9MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Functional Components
MPLS VPN Functional Components
10MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Connection ModelThe Whole Picture
MPLS VPN Connection ModelThe Whole Picture
VPN_A
VPN_A
VPN_B10.3.0.0
10.1.0.0
11.5.0.0
P P
PP PE
PE CE
CE
CE
VPN_A
VPN_B
VPN_B
10.1.0.0
10.2.0.0
11.6.0.0
CEPE
PECE
CE
VPN_A
10.2.0.0
CE
iBGP sessions
• P Routers (LSRs) are in the core of the MPLS cloud
• PE Routers (Edge LSRs or LERs) use MPLS with the core and plain IP with CE routers
• P and PE routers share a common IGP
• PE routers are MP-iBGP fully-meshed
or use Route-Reflectors (RRs)
Confederations supported in IOS 12.1(5)T & higher [maybe also 12.0(14)ST?]
11MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
P-Network
PE Router PE Router
C-Network
CE Router CE Router
VPN Site
P Router
VPN Site
MPLS VPN ModelMPLS VPN Model
12MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Connectivity ModelMPLS VPN Connectivity Model
• A VPN is a collection of sites sharing common routing information
Same set of routes within the routing table
• A site may belong to more than one VPN
through sharing of routing information
• A VPN can be thought of as a closed user group (CUG) or community of interest
13MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Architectural Components
MPLS VPN Architectural Components
14MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPNArchitectural Components
MPLS VPNArchitectural Components
• Control Planes
LDP/TDP, MP-BGP, CE-PE Peering, IGP
Forwarding Table
VRF
• Data Plane
15MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
• PEs Maintain Separate Routing Tables
Global Routing Table
Contains all PE and P routes (perhaps non-VPN BGP)
Populated by the VPN backbone IGP
VRF (VPN Routing & Forwarding)
Routing & forwarding table associated with one or more directly connected sites (CE Routers)
VRF is associated with any type of interface, whether logical or physical (e.g. Sub/Virtual/Tunnel)
Interfaces may share the same VRF if the connected sites share the same routing information
VPN Routing & Forwarding Instance (VRF)
VPN Routing & Forwarding Instance (VRF)
16MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VPN Routing & Forwarding Instances (VRF)
VPN Routing & Forwarding Instances (VRF)
PE
CE
VPN-A
VPN-A
CEVPN-B
Global Routing Table
VRF for VPN-A
VRF for VPN-B
VPN Routing Table
CE
Multiple routing & forwarding instances (VRFs) provide
separation amongst different customers
IGP & non-VPN BGP
Paris
London
Munich
17MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Connectivity ModelMPLS VPN Connectivity Model
• Private addressing in multiple VPNs no longer an issue
Provided that members of a VPN do not use the same address range
VPN A
VPN B VPN C
London
Milan
Paris Munich
Brussels Vienna
Address space for VPN A and B must be
unique
10.2.1.0/24 10.22.12.0/24
10.2.1.0/24 10.3.3.0/24 10.2.12.0/24
10.4.12.0/24
18MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VRF Route PopulationVRF Route Population
• VRF populated locally through PE and CE routing protocol
RIP, OSPF, BGP-4 & Static routing
• Separate routing context for each VRF
Routing Protocol Context (BGP-4 & RIP V2)
Separate Process (OSPF)
PE
CE
CE
Site-2
Site-1
EBGP,OSPF, RIPv2,Static
19MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VRF Route DistributionVRF Route Distribution
• PE routers distribute local VPN information across the MPLS VPN backbone
through MP-iBGP & redistribution from VRF
Receiving PE imports routes into attached VRFs
PE PE CE Router CE Router
P Router
Site Site MP-iBGP
20MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Multi-Protocol BGP (MP-BGP) VPN Components
Multi-Protocol BGP (MP-BGP) VPN Components
21MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
• Route Distinguisher (RD)
• Route Target (RT)
• Site of Origin (SOO)
MP-BGPVPN Components
MP-BGPVPN Components
22MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VPN Routing & ForwardingInstances
VPN Routing & ForwardingInstances
23MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
• The global (non-VRF) routing table is populated through IGP protocols
May also contain BGP-4 (IPv4) routes
No VPN routes
• VRF routing tables contain VPN-specific routes
MP-iBGP routes imported into VRFs
CE routes populate VRFs based on routing protocol context
MPLS VPN Table PopulationMPLS VPN Table Population
24MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VRF Population of MP-iBGPVRF Population of MP-iBGP
PE
CE
VPN-A
VPN-A
CEVPN-B
VRF VPN-A VRF VPN-B
CE
MP-iBGP
PE
BGP Table
Routes from VPN-A Routes from VPN-B
Re-distribution from VRFs into MP-iBGP for VPN information exchange
Paris
London
Munich
25MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VRF Population through MP-iBGPVRF Population through MP-iBGP
• Receiving PE router needs to understand:
where the route originated from
into which VRF(s) the route should be placed
how to distinguish between duplicate addresses
• Uniqueness of IPv4 prefix achieved through the use of a Route Distinguisher
RD (64-bit) identifier
VPNv4 Route: 96-bit NLRI (RD + 32-bit IPv4 NLRI)
26MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Extended Community AttributeExtended Community Attribute
• Permits placement in the proper VRF and site origin
• BGP transitive optional attributes containing a set of extended communities
Route Target
Identifies set of sites to which a particular route should be exported
SOO (Site of Origin)
(Optionally) refers to the site that originated a particular route
27MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VRF Population of MP-iBGPVRF Population of MP-iBGP
PE
CE-1
MP-iBGP
PE
BGP, OSPF, RIPv2 update for 149.27.2.0/24,NH=CE-1
VPN-v4 update:RD:1:27:149.27.2.0/24, Next-hop=PE-1SOO=Paris, RT=VPN-A, Label=(28)
CE-2
• PE Routers Translate (32-bit) IPv4 Prefix into (96-bit) VPN-v4 Route
Assign a RD, RT and (Optional) SOO based on configurationRe-write next-hop attribute (to PE loopback)Assign a label based on VRF and/or interface
Send MP-iBGP update to all PE neighbors
Paris London
28MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
• VPN-V4 Address
Route Distinguisher (64 bits)
Makes the IPv4 route globally unique
RD is configured in the PE for each VRF
RD may or may not be related to a site or a VPN
IPv4 address (32bits)
• Route Target (RT) & Optional Site of Origin (SOO)
MP-iBGP UpdateMP-iBGP Update
29MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MP-iBGP UpdateMP-iBGP Update
• Any other standard BGP attribute
Local PreferenceMEDNext-hopAS_PATHStandard community
• A Label identifying: The outgoing interface or VRF where a lookup has
to be performed (Aggregate/Connected)
MP-iBGP utilizes a second label in the label stack
30MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VRF Population of MP-iBGPVRF Population of MP-iBGP
PE
CE-1
MP-iBGP
PE
ip vrf VPN-B
route-target import VPN-AVPN-v4 update:RD:1:27:149.27.2.0/24, Next-hop=PE-1SOO=Paris, RT=VPN-A, Label=(28)
CE-2
• Receiving PE routers translate to IPv4
Insert the route into the VRF identified by the RT
attribute (based on PE configuration)
• The label associated to the VPN-V4 address will be set on packets forwarded towards the destination
VPN-v4 update is translated into IPv4 address and put into VRF VPN-A as RT=VPN-A and optionally advertised to CE-2
Paris London
31MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
P RouterP Router
MPLS VPN BackboneMPLS VPN BackboneVPN A VPN A
VPN A
SITE-2SITE-2
VPN A
Site-1 routes Site-1 routes Site-2 routes Site-2 routes Site-3 routes Site-3 routes Site-4 routesSite-4 routes
MP-iBGP
Basic Intranet ModelBasic Intranet Model
Site-3 & Site-4 routes Site-3 & Site-4 routes RT=VPN-A RT=VPN-A
Site-1 & Site-2 routes Site-1 & Site-2 routes RT=VPN-ART=VPN-A
Site-1 routes Site-1 routes Site-2 routes Site-2 routes Site-3 routes Site-3 routes Site-4 routesSite-4 routes
SITE-1SITE-1 SITE-3SITE-3
SITE-4SITE-4
32MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MP-BGPRoute Target (RT)
andSite of Origin (SOO)
MP-BGPRoute Target (RT)
andSite of Origin (SOO)
33MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
RT & SOO
• Two EXTENDED (64-bit) BGP Attributes Used to DefineRoute-target
Set of routers the route has to be exported to
SOO (Site of Origin Identifier)
Routers where the route has been originated
• This enables the closed user group functionality
• Set by PE routers in order to define import/export policies on a per-site/VRF basis
34MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP-4 EnhancementsBGP-4 Enhancements
35MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Extended Community
• Extended community attribute type code: TBD
Type Field: 2 bytesValue Field: 6 bytes
• Types 0 through 0x7FFF inclusive are assigned by IANA
• Types 0x8000 through 0xFFFF inclusive are vendor-specific
36MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Extended Community
• High order bit of the type field 0x00 Administrator sub-field: 2 bytes (AS#)
Assigned number sub-field: 4 bytes
Example: 9177:123
• High order bit of the type field 0x01Administrator sub-field: 4 bytes (IP address)
Assigned number sub-field: 2 bytes
Example: 141.253.1.1:123
37MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Extended Community
• Router origin community
• Identifies one or more routers that inject a set of routes (that carry this community) into BGPThe Type field for the Route Origin community is
0x0001 or 0x0101
• Similar to the Site of Origin (SOO)Site of Origin use code 0x0003 and 0x0103
38MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Extended Community
• Route target community
Identifies one or more routers that may receive a set of routes (that carry this community) carried by BGP
The type field for the route target community is 0x0002 or 0x0102
39MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Extended Community
• Site of Origin (SOO)
• Identifies customer site
• Used to prevent loops when AS_PATH cannot be used
• The type field for SOO is 0x0003 or 0x0103
40MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
PE
CE
Site-1
Site of OriginSite of Origin
ip vrf odd rd 100:1 route-target export 100:3 route-target import 100:3!interface Serial1 ip vrf forwarding odd ip address 192.168.65.6 255.255.255.0
!router bgp 100 no synchronization no bgp default ipv4-unicast neighbor 192.168.0.7 remote-as 100 neighbor 192.168.0.7 update-source Loop0 neighbor 192.168.0.7 activate neighbor 192.168.0.7 next-hop-self no auto-summary ! address-family ipv4 vrf odd neighbor 192.168.65.5 remote-as 250 neighbor 192.168.65.5 activate neighbor 192.168.65.5 route-map setsoo in no auto-summary no synchronization exit-address-family ! address-family vpnv4 neighbor 192.168.0.7 activate neighbor 192.168.0.7 send-community extended no auto-summary exit-address-family!route-map setsoo permit 10 set extcommunity soo 100:65
7200-1#sh ip route vrf oddC 192.168.65.0/24 is directly connected, Serial2B 192.168.0.5 [20/0] via 192.168.65.5, 00:08:44, Serial27200-1#7200-1#sh ip bgp vpn all Network Next Hop Metric LocPrf Weight PathRoute Distinguisher: 100:1 (default for vrf odd)*> 192.168.0.5/32 192.168.65.5 0 0 250 i7200-1#sh ip bgp vpn all 192.168.0.5BGP routing table entry for 100:1:192.168.0.5/32, version 17Paths: (1 available, best #1) Advertised to non peer-group peers: 192.168.0.7 250 192.168.65.5 from 192.168.65.5 (192.168.0.5) Origin IGP, metric 0, localpref 100, valid, external, best Extended community: SoO:100:65 RT:100:37200-1#
192.168.0.5/32
41MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Site of Origin
PE-1
CE-1 Site-1SOO=100:65
192.168.0.5/32
PE-2
CE-2
eBGP4 update: 192.168.0.5/32
intCE1
VPN-IPv4 update:RD:192.168.0.5/32, Next-hop=PE-1SOO=100:65, RT=100:3, Label=(intCE1)
eBGP4 update: 192.168.0.5/32
PE-2 will not propagate the route since the update SOO is equal to the one configured for the site
42MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Multi-Protocol BGP
• Extension to the BGP protocol in order to carry routing information about other protocolsMulticastMPLSIPv6…
• Exchange of Multi-Protocol NLRI must be negotiated at session set up
BGP Capabilities negotiation
43MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Multi-Protocol BGP - RFC2858
• Obsoletes RFC2283
• New non-transitive and optional BGP attributesMP_REACH_NLRI
“Carry the set of reachable destinations together with the next-hop information to be used for forwarding to these destinations”
MP_UNREACH_NLRICarry the set of unreachable destinations
• Attribute contains one or more triplesAddress Family Information (AFI)Next-Hop InformationNLRI
44MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Labelled VPN-IPV4 Addresses in BGP-4
• Labelled VPN-IPV4 address appears in BGP NLRI
AFI = 1 - Sub-AFI = 128
• NLRI is encoded as one or more triples
Length: total length of Label + prefix (RD included)
Label: 24 bits
Prefix: RD (64 bits) + IPv4 prefix (32 bits)
45MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Labelled VPN-IPV4 Addresses in BGP-4
• The label is assigned by the router originating the NLRI
i.e., the router identified by the next-hop value
• The label is changed by the router that modifies the next-hop value
Typically the EBGP speaker
Or iBGP forwarder configured with next-hop-self
46MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Labelled VPN-IPV4 addresses in BGP-4
• Next-hop address must be of the same family of the NLRI
The next-hop will be a VPN-IPv4 address with RD set to 0
• BGP will consider two VPN-IPV4 comparable even with different labels
A withdrawn of a VPN-IPv4 address will be considered for all NLRI corresponding to the VPN-IPV4 address, whatever are the different assigned labels
47MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Capabilities Negotiation
• BGP routers establish BGP sessions through the OPEN message
• OPEN message contains optional parameters
• BGP session is terminated if OPEN parameters are not recognised
• A new optional parameter: CAPABILITIES
48MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Capabilities Negotiation
• A BGP router sends an OPEN message with CAPABILITIES parameter containing its capabilities:
Multiprotocol extension
Route Refresh
Co-operative Route Filtering
...
49MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Capabilities Negotiation
• BGP routers determine capabilities of their neighbors by looking at the capabilities parameters in the open message
• Unknown or unsupported capabilities may trigger the transmission of a NOTIFICATION message
“The decision to send the NOTIFICATION message and terminate peering is local to the speaker. Such peering should not be re-established automatically”draft-ietf-idr-bgp4-cap-neg
50MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Capabilities Negotiation
• BGP routers use BGP-4 Multiprotocol Extension to carry label (label) mapping informationMultiprotocol Extension capability
Used to negotiate the Address Family Identifier
AFI = 1
Sub-AFI = 128 for MPLS-VPN
51MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Route Refresh
• New BGP Capability: Route Refresh
• Allows a router to request to any neighbor the re-transmission of BGP updates
Useful when inbound policy has been modified
Similar to Cisco “soft-reconfiguration”
without need to store any route
• BGP speakers may send “Route-Refresh” message only to neighbors from which the capability has been exchanged
52MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Route Refresh
• When the inbound policy has been modified, the BGP speaker sends a Route-Refresh message to its neighborsWith AFI, Sub-AFI attributes
• Neighbors will re-transmit all routes for that particular AFI and Sub-AFI
53MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Co-operative Route Filtering
• In order to reduce amount of BGP traffic and CPU used to process updates, routers exchange filter configurations
• BGP speakers advertise to downstream neighbors the outbound filter(s) they have to use
• Filters are described in ORF entriesOutbound Route Filter
• ORF entries are part of the Route-Refresh message
54MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Co-operative Route Filtering
• ORF capability must be negotiated during session set-upCapability negotiation
• ORF capable BGP speaker will install ORFs per neighbor
• Each ORF will be defined by the upstream neighbor through route-refresh messages
55MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Co-operative Route FilteringORF Entry
• ORF EntryAFI/Sub-AFI
Filter will apply only to selected address families
ORF-Type
Determine the content of ORF-Value
NLRI is one ORF-Type
NLRI is used to match IP addresses (subnets)
56MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Co-operative Route FilteringORF Entry
• ORF EntryAction
ADD: Add an ORF entry to the current ORF
DELETE: Delete a previously received ORF entry
DELETE ALL: Delete all existing ORF entries
Match
PERMIT: Pass routes that match the ORF entry
DENY: Do not pass routes that match the ORF entry
57MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Co-operative Route FilteringORF Entry
• ORF Entry ORF-Value (for ORF-Type=NLRI) is <Scope,NLRI>
Scope
EXACT: Remote peer should consider routes equal to the NLRI specified in the ORF
REFINE: Remote peer should consider routes that are part of a subset of the NLRI specified in the ORF
NLRI: <length, prefix>
Multiple ORF entries will follow longest match
58MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
ORF Entries and Route-Refresh
• ORF entries are carried in BGP Route-Refresh messages
• AFI/Sub-AFI are encoded into the AFI/Sub-AFI field of the route refresh message
WHEN-TO-REFRESH field
IMMEDIATE: apply the filter immediately
DEFER: wait for subsequent route-refresh message
ORF-Type to be extended for Extended Communities
59MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Packet ForwardingMPLS VPN Data Plane
Packet ForwardingMPLS VPN Data Plane
60MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
T1 L7L2 L8L3 L9L4 L7L5 LBL6 LBL7 L8
MPLS VPN Forwarding
VPN_A
VPN_A
VPN_B
10.3.0.0
10.1.0.0
11.5.0.0
P1 P3
P4P2PE4
CE
CE
CE
Data
<RD_B,10.1> , iBGP next hop PE1<RD_B,10.2> , iBGP next hop PE2<RD_B,10.3> , iBGP next hop PE3<RD_A,11.6> , iBGP next hop PE1<RD_A,10.1> , iBGP next hop PE4<RD_A,10.4> , iBGP next hop PE4<RD_A,10.2> , iBGP next hop PE2
<RD_B,10.2> , iBGP NH= PE2 , L2 L8• Ingress PE Receives Normal IP
Packets from CE Router
• PE Router Does “IP Longest Match” in VRFVRF , Finds iBGP Next Hop PE2PE2 and Imposes a Stack of Labels: Second Level Label L2L2 + Top Label L8L8
DataL8L2
VPN_A
VPN_B
VPN_B
10.1.0.0
10.2.0.0
11.6.0.0
CEPE1
PE2CE
CE
VPN_A
10.2.0.0
CE
PE3
61MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Forwarding
VPN_A
VPN_A
VPN_B
10.3.0.0
10.1.0.0
11.5.0.0
P1 P3
P4P2PE4
CE
CE
CE
T7T8L9LaLb
LuLwLxLyLz
L8, POP
L2 Data
Data
outin /
• All subsequent P routers switch packet solely on top label
• Egress PE router’s upstream LDP neighbor (Penultimate Hop or PH) removes top label (PHP)
• Egress PE uses bottom (VPN) label to select which VPN/CEto forward the Packet to
• Bottom label is removed and packet forwarded to CE router
VPN_A
VPN_B
VPN_B
10.1.0.0
10.2.0.0
11.6.0.0
CEPE1
PE2CE
CE
VPN_A
10.2.0.0 CE
L2 DataData
LAL2
Data
PE3
62MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
P routerP router
In Label FEC Out Label
- 197.26.15.1/32 -
In Label FEC Out Label
41 197.26.15.1/32 POP
In Label FEC Out Label
- 197.26.15.1/32 41
MPLS VPN Packet ForwardingMPLS VPN Packet Forwarding
Paris
Use label implicit-null for destination 197.26.15.1/32
Use label 41 for destination 197.26.15.0/24
VPN-v4 update:RD:1:27:149.27.2.0/24, NH=197.26.15.1SOO=Paris, RT=VPN-A, Label=(28)
PE-1
London
• PE and P routers have BGP next-hop reachability through the backbone IGP
• Labels are distributed through LDP corresponding to BGP next-hops
or RSVP with Traffic Engineering
149.27.2.0/24
63MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Packet ForwardingMPLS VPN Packet Forwarding
• Label Stack is used for packet forwarding
Top label indicates BGP next-hop (exterior label)
Second level label indicates outgoing interface or VRF(interior VPN label)
• MPLS nodes forward packets based on top labelany subsequent labels are ignored
64MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
In Label FEC Out Label
- 197.26.15.1/32 41
MPLS VPN Packet ForwardingMPLS VPN Packet Forwarding
Paris
149.27.2.27
PE-1
London149.27.2.0/24
• Ingress PE receives normal IP packets
• PE router performs IP Longest Match from VPN FIB, finds iBGP next-hop and imposes a stack of labels <IGP, VPN>
149.27.2.272841
VPN-A VRF149.27.2.0/24,
NH=197.26.15.1Label=(28)
65MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
In Label FEC Out Label
68 197.26.15.1/32 POP
MPLS VPN Packet ForwardingMPLS VPN Packet Forwarding
Paris
149.27.2.27
PE-1
London149.27.2.0/24
VPN-A VRF149.27.2.0/24,
NH=197.26.15.1Label=(28)
In Label FEC Out Label
28(V) 149.27.2.0/24 -
VPN-A VRF149.27.2.0/24,
NH=Paris
149.27.2.27
• Penultimate PE router removes the IGP label
Penultimate Hop Popping procedures (implicit-null label)
• Egress PE router uses the VPN label to select which VPN/CE to forward the packet to
• VPN label is removed and the packet is routed toward the VPN site
2868 149.27.2.27149.27.2.2728149.27.2.272841
In Label FEC Out Label
41 197.26.15.1/32 68
66MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN TopologiesMPLS VPN Topologies
67MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Extranet SupportMPLS VPN Extranet Support
• Extranet support is simply the import of routes from one VRF into another VRF which services a different VPN
• Controlled through the use of Route Target
if we import the route, we have access
• Various topologies are viable using this technique
68MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Extranet SupportMPLS VPN Extranet Support
PE
VPN-A
VPN-A
CE
VPN-B
VRF for VPN-A
VRF for VPN-B
VPN-A Paris Routes VPN-B Munich RoutesCE
Sharing of VPN information between VRFs provides Extranet support
Extranet VPN Routing
Table
Paris
Munich
69MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Central Services ModelCentral Services Model
• Common topology is central services VPN
client sites may access central services but may not communicate directly with other client sites
• Once again controlled through the use of route target
client sites belong to unique VRF, servers share common VRF
client exports routes using client-rt and imports server-rt
server exports routes using server-rt and imports server-rt & client-rt
70MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Central Services Model
VPN A
Central Server Site
VPN B
195.12.2.0/24
146.12.7.0/24
146.12.9.0/24
VPN A VRFVPN A VRF 195.12.2.0/24 195.12.2.0/24 146.12.9.0/24146.12.9.0/24
VPN B VRFVPN B VRF 146.12.7.0/24 146.12.7.0/24 146.12.9.0/24146.12.9.0/24
VPN A VRF (Export RT=client-rt) (Import RT=server-rt)
VPN B VRF (Export RT=client-rt)
(Import RT=server-rt)
Server VRF (Export RT=server-rt) (Import RT=server-rt) (Import RT=client-rt)
MP-iBGP Update RD:195.12.2.0/24,
RT=client-rt
MP-iBGP Update RD:146.12.9.0/24,
RT=server-rt
MP-iBGP Update RD:146.12.7.0/24,
RT=client-rt
71MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Internet ConnectivityStatic Default Route
MPLS VPN Internet ConnectivityStatic Default Route
• VPN sites may require Internet access
either directly or via a central site - no full routing
• Default route provided through static or dynamic route within the VRF
extension to ‘ip route’ command - Global keyword
Internet gateway points to an exit point whose address is within the global routing table
• PE router generates VPN customer routes into BGP through global static routes
72MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Internet ConnectivityStatic Default Route
MPLS VPN Internet ConnectivityStatic Default Route
VPN A
Global Internet Access
VPN B
VPN A VRFVPN A VRF 0.0.0.0 NH=Internet-PE0.0.0.0 NH=Internet-PE
VPN B VRFVPN B VRF 0.0.0.0 NH=Internet PE0.0.0.0 NH=Internet PE
Internet Routing Internet Routing TableTable
MPLS VPN BackboneMPLS VPN Backbone
ip route vrf VPN_A 0.0.0.0 0.0.0.0 Internet-PE global ip route 195.12.2.0 255.255.255.0 serial 1/0
ip route vrf VPN_B 0.0.0.0 0.0.0.0 Internet-PE global ip route 146.12.9.0 255.255.255.0 serial 1/1
195.12.2.0/24
146.12.9.0/24
73MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN BackboneMPLS VPN BackboneVPN AVPN A
VPN A VPN A Central SiteCentral Site
VPN B VPN B Central SiteCentral Site
VPN-IPv4 Update VPN-IPv4 Update Net=0.0.0.0/0 Net=0.0.0.0/0
RT=RT=17:2217:22
VPN-IPv4 Update VPN-IPv4 Update Net=0.0.0.0/0 Net=0.0.0.0/0
RT=RT=17:2817:28
VPN-IPv4 Update VPN-IPv4 Update Net=0.0.0.0/0 Net=0.0.0.0/0
RT=RT=17:2817:28
VPN-IPv4 Update VPN-IPv4 Update Net=0.0.0.0/0 Net=0.0.0.0/0
RT=RT=17:2217:22
Export VPN A default with Export VPN A default with RT=RT=17:22 17:22 and VPN B default and VPN B default
with RT=with RT=17:2817:28
VPN BVPN B
MPLS VPN Internet ConnectivityDynamic Default Route
MPLS VPN Internet ConnectivityDynamic Default Route
VPN A VRF (Import RT=17:22)
VPN B VRF (Import RT=17:28)
74MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Internet ConnectivitySeparate BGP Session PE/CE Link
MPLS VPN Internet ConnectivitySeparate BGP Session PE/CE Link
• Many clients wish to send/receive routes directly with the Internet
default route is not sufficient in this environment
• Routes reside on the PE router
but within the global not VRF tables
• Mechanism needed to distribute this routing information to VPN customer sites
and also receive routes and place them into the global, and not VRF table
75MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
• Achieved by using a second interface to the client site
either physical or logical, such as sub-interface or tunnel
MPLS VPN Internet ConnectivitySeparate BGP Session PE/CE Link
MPLS VPN Internet ConnectivitySeparate BGP Session PE/CE Link
PEVPN Site
Global Internet
Internet Routes
(sub)interface associated with global routing table
(sub)interface associated with VRF
CE
76MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Internet ConnectivityGlobal Internet Table Association
MPLS VPN Internet ConnectivityGlobal Internet Table Association
• If multiple exit points, then possibility to associate full Internet routes with a VRF
if only one exit point, then default pointing to Internet exit point interface will normally suffice
• With multiple interfaces, sub-optimal routing a possibility with default route generation
as multiple defaults would allow load balancing but no best path selection
• Association of Internet routes with VRF provide ability to generate aggregate default
77MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
ISP BISP BISP AISP A
Export default route with Export default route with Internet_access route targetInternet_access route target
Export default route with Export default route with Internet_access route targetInternet_access route target
Full Internet Routes
Full Internet Routes Full Intern
et Routes
Full Intern
et Routes
PEPE
Static default pointing to loopback interface so lookup
in VRF will occur on incoming packets
MPLS VPN Internet ConnectivityGlobal Internet Table Association
MPLS VPN Internet ConnectivityGlobal Internet Table Association
78MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
• Optimal routing between providers now possible
• Need to filter everything other than default
cpu and administrative overhead
• Label assignment will occur for every route within the VRF
memory overhead even though labels are never used
• If full routes distributed, could result in multiple copies of Internet routing table
MPLS VPN Internet ConnectivityGlobal Internet Table Association
MPLS VPN Internet ConnectivityGlobal Internet Table Association
79MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN ConvergenceMPLS VPN Convergence
80MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Routing ConvergenceRouting Convergence
• Convergence needs to be assessed in two main areas
convergence within the MPLS VPN backbone
convergence between VPN client sites
• Both areas are completely independent ...
but work together to provide end-to-end convergence as perceived by the VPN client
therefore must be assessed in conjunction
81MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
PE PE
VPN Client VPN Client AA
VPN Client VPN Client AA
New VPN route New VPN route advertisedadvertised
Advertisement of new Advertisement of new VPN route to relevant VPN route to relevant
VPN sitesVPN sites
New VPN route imported New VPN route imported into relevant VRFsinto relevant VRFs
End-to-End Routing ConvergenceEnd-to-End Routing Convergence
Client-to-client and MPLS VPN backbone IGP convergence are independent
New VPN route propagated across MP-
iBGP session
If link fails, MPLS VPN backbone IGP converges on new path to BGP next-hop
82MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Convergence Across BackboneConvergence Across Backbone
• Convergence of MPLS VPN backbone IGP will not affect client-to-client route convergence
unless BGP next-hop becomes unavailable;
but will affect client-to-client traffic while backbone converges
• Backbone may be router-only based or based on ATM switches
convergence will be different for the MPLS forwarding plane - cell-mode versus frame-mode implementation
83MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Convergence - Router Based Backbone
Convergence - Router Based Backbone
• Unsolicited Downstream
Bindings advertised as soon as route is in the routing table
• Liberal Label Retention
If multiple neighbors, next-hop change causes new label to be used for forwarding
• Immediate Notification of Routing Table Change
A route change (addition/deletion) immediately propagated to MPLS process
84MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
PE-1
P-1
VPN Client VPN Client AA
VPN Client VPN Client AA
Convergence - Router Based Backbone
Convergence - Router Based Backbone
MPLS & IGP backbone convergence are closely entwined
If P-1 to PE-2 link fails, PE-1 next-hop to destinations reachable via 197.26.15.1/32 (PE-2 Loopback) will change to P-3. As label exists (41), convergence is as quick as the IGP
PE-2
Use label 41 for destination 197.26.15.1/32 Use label POP for destination
197.26.15.1/32
Use label 23 for destination 197.26.15.1/32
Use label 25 for destination 197.26.15.1/32 P-2
P-3
Use label POP for destination 197.26.15.1/32
85MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Convergence - ATM BackboneConvergence - ATM Backbone
• Downstream-on-demand
Affects convergence as LSR must signal for downstream label binding
• Conservative Label Retention
Convergence is affected as LSR must signal for downstream label binding if one does not exist
Next-hop change will cause label request
• Two-stage Convergence:
IGP: converge around topology changesMPLS: re-establish label mappings
86MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
PE-1
P-1
VPN Client VPN Client AA
VPN Client VPN Client AA
Convergence - ATM Based Backbone
Convergence - ATM Based Backbone
MPLS LSR must re-converge on IGP change AND re-signal for label mapping to downstream next-hop
If P-1 to PE-2 link fails, PE-1 next-hop to destinations reachable via 197.26.15.1/32 (PE-2 Loopback) will change to P-3. As label does not exist, PE-1 must signal the next-hop downstream ATM-LSR
PE-2
Label request for destination 197.26.15.1/32
Use label 1/239 for destination 197.26.15.1/32
P-2
P-3
Use label 1/321 for destination 197.26.15.1/32
Label request for destination 197.26.15.1/32
Label request for destination 197.26.15.1/32
87MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Client-to-Client ConvergenceClient-to-Client Convergence
• Four Main Convergence Areas
–Advertisement of routes from CE to PE and placement into VRF
–Propagation of routes across the MPLS VPN backbone
–Import process of these routes into relevant VRFs
–Advertisement of VRF routes to attached VPN sites
88MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Backbone Route PropagationBackbone Route Propagation
• Changes are not propagated to other BGP speakers immediately
Batched together and sent at “advertisement-interval”Default = 5 seconds for iBGP, 30 for eBGP
• Can be tweaked using the “neighbor advertisement-interval” command
Needs to be changed for both backbone and CE routers if BGP between PE & CE
89MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Import ProcessImport Process
• Import Process Uses a Separate Invocation of the Scanner Process
Default = 15 seconds
Can be tuned using the “bgp scan-time import” command
• Can take up to 15 Seconds for a Route to be Placed into a Receiving VRF
and then potentially another 30 Seconds to be advertised to CE if eBGP is in operation!
90MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Scanner ProcessScanner Process
• Scanner process will also have an effect on convergence
Used to check next-hop reachability and to process any “network” commands within the BGP process
Invoked every 60 seconds by default
Can be tuned with the “bgp scan-time” command
Large BGP table and small scan-time can be VERY CPU intensive - beware !
91MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
BGP Route AdvertisementBGP Route Advertisement
• In addition to the scanning and importing of routes, each PE router needs to advertise the best routes within each VRF to all its VRF neighbors
This occurs at both ingress and egress of the MPLS VPN network
With eBGP CE neighbors, advertisement of these routes occurs every 30 seconds
With (iBGP) PE neighbors, routes advertisement occurs every 5 seconds
Can be tuned with the “neighbor a.b.c.d advertisement-interval” command
92MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN ScalingMPLS VPN Scaling
93MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
ScalingScaling
• Existing BGP techniques can be used to scale the route distribution: route reflectors (RRs) & BGP confederations (Inter-AS VPN)
• Each edge router needs only the information for the directly-connected VPNs it supports
• RRs are used to distribute VPN routing information
94MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS-VPNScaling BGP
Route Reflectors
• Route reflectors may be partitioned
Each RR stores routes for a set of VPNs
• Thus, no BGP router needs to store information on ALL VPNs
• PEs will peer to RRs according to the VPNs they support
95MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS-VPN ScalingBGP Updates Filtering
• iBGP full mesh amongst PEs results in flooding of all VPN routes to all PEs
• Scaling problems when large amount of routes.
• PEs need routes for only attached VRFs
96MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS-VPN ScalingBGP Updates Filtering
• Each PE will discard any VPN-IPv4 route that hasn’t a route-target configured to be imported in any of the attached VRFs
• This reduces significantly the amount of information each PE has to store
• Volume of BGP table is equivalent of volume of attached VRFs (nothing more)
97MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS-VPN ScalingBGP Updates Filtering
• Each VRF has an import and export policy configured
• Policies use route-target attribute (extended community)
• PE receives MP-iBGP updates for VPN-IPv4 routes
• If route-target is equal to any of the import values configured in the PE, the update is accepted
• Otherwise it is silently discarded
PE
MP-iBGP sessions
VRFs for VPNsyellowgreen
VPN-IPv4 update:RD:Net1, Next-hop=PE-XSOO=Site1, RT=Green, Label=XYZ
VPN-IPv4 update:RD:Net1, Next-hop=PE-XSOO=Site1, RT=Red, Label=XYZ
Import RT=yellow
Import RT=green
98MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS-VPN ScalingRoute Refresh
• Policy may change in the PE if VRF modifications are done
New VRFs, removal of VRFs
• However, the PE may not have stored routing information which become useful after a change
• PE request a re-transmission of updates to neighbors
Route-Refresh
PE
VPN-IPv4 update:RD:Net1, Next-hop=PE-XSOO=Site1, RT=Green, Label=XYZ
VPN-IPv4 update:RD:Net1, Next-hop=PE-XSOO=Site1, RT=Red, Label=XYZ
Import RT=green
Import RT=red1. PE doesn’t have red routes (previously filtered out)
2. PE issue a Route-Refresh to all neighbors in order to ask for re-transmission
3. Neighbors re-send updates and “red” route-target is now accepted
99MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS-VPN ScalingOutbound Route Filters - ORF
• PE router will discard update with unused route-target
• Optimisation requires these updates NOT to be sent
• Outbound Route Filter (ORF) allows a router to tell its neighbors which filter to use prior to propagate BGP updates
PE
VPN-IPv4 update:RD:Net1, Next-hop=PE-XSOO=Site1, RT=Green, Label=XYZ
Import RT=yellow
Import RT=green
1. PE doesn’t need red routes
2. PE issue a Route-Refresh message with a ORF entry to neighbors in order not to receive red routes:
Permit RT = Green, Yellow
3. Neighbors dynamically configure the outbound filter and send updates accordingly
VPN-IPv4 update:RD:Net1, Next-hop=PE-XSOO=Site1, RT=Red, Label=XYZ
100MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Connecting MPLS-VPN Backbones
Connecting MPLS-VPN Backbones
101MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Connecting MPLS-VPN Backbones
• Providers exchange routes between PE-ASBR routers
• MP-eBGP for (Labelled) VPNv4 addresses between ASBRsNext-hop and labels are re-written by the PE-ASBRs
• Requires PE-ASBRs to store VPN routes that need to be exchanged
• Routes are in the MP-BGP table but not in any routing tablePE-ASBRs do not have any VRFs
MP-eBGP labels are used in LFIB
102MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Connecting MPLS-VPN backbones
PE-1
PE-ASBR1
CE-2
PE-ASBR2
PE-3
CE-1
PE-2
CE-5
CE-4
CE-3
RR-1
Core of P LSRs
RR-2 Core of P LSRs
MP-eBGP VPNv4 routeswith label distribution
PE-ASBRs exchange VPNv4 addresses with labels
RR-1 reflects VPNv4 internal routesPE-ASBR1 advertises VPNv4 external routes
RR-2 reflects VPNv4 internal routesPE-ASBR2 advertises VPNv4 external routes
103MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Connecting MPLS-VPN backbones
PE-1
PE-ASBR1
CE-2
PE-ASBR2
PE-3
CE-1
PE-2
CE-5
CE-4
CE-3
RR-1
Core of P LSRs
RR-2 Core of P LSRs
Network=RD1:NNext-hop=PE1Label=L1
Network=RD1:NNext-hop=PE-ASBR1Label=L2
Network=RD1:NNext-hop=PE1Label=L1 Network=RD1:N
Next-hop=PE-ASBR2Label=L3
Network=RD1:NNext-hop=PE-ASBR2Label=L3
Network=NNext-hop=CE2
Network=NNext-hop=PE3
104MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Multi-AS MPLS-VPN backbonesVPNV4 routes exchanged between
PE-ASBRs
PE-1
PE-ASBR1
CE-2
PE-ASBR2
PE-3
CE-1
PE-2
CE-5
CE-4
CE-3
RR-1
Core of P LSRs
RR-2 Core of P LSRs
Dest=N
LDP-PE-ASBR2-labelL3Dest=N
L3Dest=N
L2Dest=N
LDP-PE1-labelL1Dest=N
L1Dest=N
Dest=N
105MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN ConfigurationMPLS VPN Configuration
106MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN ConfigurationMPLS VPN Configuration
• VPN knowledge is on PE routers
• Several basic steps are necessary to provision a PE router for VPN service
configuration of VRFs
configuration of Route Distinguishers
configuration of import/export policies
configuration of PE to CE links
association of VRFs to interfaces
configuration of MP-BGP
107MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VRF & RD ConfigurationVRF & RD Configuration
• RD is configured on PE routers
separate RD per VRF
good practise is to use the same RD for the same VPN in all PE routers
although this is not mandatory
• VRF configuration commands
ip vrf <vrf-symbolic-name> rd <route-distinguisher-value> route-target import <Import route-target community> route-target export <Import route-target community>
108MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
VRF ConfigurationVRF Configuration
PE
CE
VPN-A
VPN-A
CEVPN-B
VRF VPN-A VRF VPN-B
CE
Paris
London
Munich
ip vrf VPN-A rd 1:129 route-target export 100:1 route-target import 100:1ip vrf VPN-B rd 1:131 route-target export 100:2 route-target import 100:2
VRFfor VPN-A(RT100:1)
Paris routesLondon routes
VRFfor VPN-B(RT100:2)
Munich routes
109MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
PE/CE Routing ProtocolPE/CE Routing Protocol
• PE/CE can use BGP, RIPv2, OSPF or Static
• Routing context used for all except OSPF which uses a separate process
• Routing contexts are defined within the routing protocol instance
router rip version 2! address-family ipv4 vrf <vrf symbolic-name> version 2 network 195.27.15.0! address-family ipv4 vrf <vrf symbolic-name> ..
110MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
router ospf 100 vrf <vrf-symbolic-name>!router ospf 200 vrf <vrf symbolic-name>
• OSPF uses a different process
PE/CE Routing ProtocolPE/CE Routing Protocol
• BGP uses address-family command
router bgp <AS #>! address-family ipv4 vrf <vrf symbolic-name>! address-family vpnv4
• Static routes are configured per-VRF
ip route vrf <vrf symbolic-name>
111MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
PE
CE
VPN-A
VPN-A
CEVPN-B
CE
Paris
London
Munich
interface Serial3/5 ip vrf forwarding VPN-A ip address 192.168.61.6 255.255.255.252 encapsulation ppp!interface Serial3/6 ip vrf forwarding VPN-A ip address 192.168.61.9 255.255.255.252 encapsulation ppp!interface Serial3/7 ip vrf forwarding VPN-B ip address 192.168.62.6 255.255.255.252 encapsulation ppp
router bgp 109 no bgp default ipv4-unicast neighbor 195.27.2.1 remote-as 100 neighbor 195.27.2.1 update-source Loopback0! address-family ipv4 vrf VPN-B neighbor 192.168.62.5 remote-as 65503 neighbor 192.168.62.5 activate exit-address-family ! address-family ipv4 vrf VPN-A neighbor 192.168.61.5 remote-as 65501 neighbor 192.168.61.5 activate neighbor 192.168.61.10 remote-as 65502 neighbor 192.168.61.10 activate exit-address-family! address-family vpnv4 neighbor 195.27.2.1 activate neighbor 195.27.2.1 send-community extended exit-address-family
PE/CE Routing ProtocolPE/CE Routing Protocol
112MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
• All show commands are VRF based
show ip route vrf <vrf-symbolic-name>show ip protocol vrf <vrf-symbolic-name>show ip cef vrf <vrf-symbolic-name>
• Ping and Telnet commands are VRF based
ping x.x.x.x vrf <vrf-symbolic-name>telnet x.x.x.x /vrf <vrf-symbolic-name>
VRF Based CommandsVRF Based Commands
113MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Internet Routing VRF Specific Default Route
PE
PE
Internet
Site-1
PE-IG
Site-2
Network 171.68.0.0/16
Serial0
192.168.1.1
192.168.1.2
ip vrf VPN-A
rd 100:1
route-target both 100:1
!
Interface Serial0
ip address 192.168.10.1 255.255.255.0
ip vrf forwarding VPN-A
!
Router bgp 100
no bgp default ipv4-unicast
network 171.68.0.0 mask 255.255.0.0
neighbor 192.168.1.1 remote 100
neighbor 192.168.1.1 activate
neighbor 192.168.1.1 next-hop-self
neighbor 192.168.1.1 update-source loopback0!address-family ipv4 vrf VPN-A neighbor 192.168.10.2 remote-as 65502 neighbor 192.168.10.2 activate exit-address-family
!
address-family vpnv4 neighbor 192.168.1.2 activateexit-address-family
!
ip route 171.68.0.0 255.255.0.0 Serial0
ip route vrf VPN-A 0.0.0.0 0.0.0.0 192.168.1.1 global
BGP-4
MP-BGP
114MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Internet Routing VRF Specific Default Route
PE
PE
Internet
Site-1
PE-IG
Site-2
Network 171.68.0.0/16
Serial0
192.168.1.1
192.168.1.2
Site-2 VRF
0.0.0.0/0 192.168.1.1 (global)
Site-1 routesSite-2 routes
Global Table and LFIB
192.168.1.1/32 Label=3
192.168.1.2/32 Label=5
...
IP packetD=cisco.com
Label = 3 IP packetD=cisco.com
IP packetD=cisco.com
115MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Internet RoutingSeparated (sub)Interfaces
PE
PE
Internet
Site-1
PE-IG
Site-2
Network 171.68.0.0/16
Serial0.1
192.168.1.1
192.168.1.2
ip vrf VPN-A
rd 100:1
route-target both 100:1
!
Interface Serial0
no ip address
!
Interface Serial0.1
ip address 192.168.20.1 255.255.255.0
ip vrf forwarding VPN-A
!
Interface Serial0.2
ip address 171.68.10.1 255.255.255.0
!
Router bgp 100
no bgp default ipv4-unicast
neighbor 192.168.1.1 remote 100
neighbor 192.168.1.1 activate
neighbor 192.168.1.1 next-hop-self
neighbor 192.168.1.1 update-source loopback0
network 171.68.0.0 mask 255.255.0.0
neighbor 171.68.10.2 remote 502!address-family ipv4 vrf VPN-A neighbor 192.168.20.2 remote-as 502 neighbor 192.168.20.2 activate exit-address-family
!
address-family vpnv4 neighbor 192.168.1.2 activateexit-address-family
BGP-4
MP-BGP
Serial0.2
BGP-4
116MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN Internet RoutingSeparate (sub)Interfaces
PE
PE
Internet
Site-1
PE-IG
Site-2
Network 171.68.0.0/16
Serial0.1
192.168.1.1
192.168.1.2
Serial0.2
Serial0.1Serial0.2
CE routing table
Site-1 routes ----> Serial0.1
Internet routes ---> Serial0.2
IP packetD=cisco.com
PE Global Table
Internet routes ---> 192.168.1.1
192.168.1.1, Label=3
Label = 3 IP packetD=cisco.com
IP packetD=cisco.com
117MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS-VPN ScalingRoute Refresh
PE
VPN-IPv4 update:RD:Net1, Next-hop=PE-XSOI=Site1, RT=Green, Label=XYZ
VPN-IPv4 update:RD:Net1, Next-hop=PE-XSOI=Site1, RT=Red, Label=XYZ
Import RT=yellow
Import RT=green
Import RT=red1. PE doesn’t have red routes (previously filtered out)
2. PE issue a Route-Refresh to all neighbors in order to ask for re-transmission
3. Neighbors re-send updates and “red” route-target is now accepted• New BGP capability: route refresh
• Allows a router to request to any neighbor the re-transmission of BGP updates
Useful when inbound policy has been modified
Similar to Cisco “soft-reconfiguration”
without need to store any route
• BGP speakers may send “Route-Refresh” message only to neighbors from which the capability has been exchanged
• draft-chen-bgp-route-refresh-02.txt
118MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS-VPN ScalingOutbound Route Filters - ORF
PE router will discard update with unused route-target
Optimisation requires these updates NOT to be sent
Outbound Route Filter (ORF) allows a router to tell its neighbors which filter to use prior to propagate BGP updates
draft-chen-bgp-route-filter-00.txt
PE
VPN-IPv4 update:RD:Net1, Next-hop=PE-XSOI=Site1, RT=Green, Label=XYZ
VPN-IPv4 update:RD:Net1, Next-hop=PE-XSOI=Site1, RT=Red, Label=XYZ
Import RT=yellow
Import RT=green
1. PE doesn’t need red routes
2. PE issue a ORF message to all neighbors in order not to receive red routes
3. Neighbors dynamically configure the outbound filter and send updates accordingly
119MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN - Configuration
Site-1 Site-2 Site-3 Site-4
PE1
PE2
PP
Multihop MP-iBGP
Site-1
Site-3
Site-4
Site-2
VPN-AVPN-C
VPN-B
VRFfor site-4(100:3)
Site-3 routesSite-4 routes
VRFfor site-2(100:2)
Site-1 routesSite-2 routesSite-3 routes
VRFfor site-3(100:2)
Site-2 routesSite-3 routesSite-4 routes
ip vrf site3 rd 100:2 route-target export 100:2 route-target import 100:2 route-target import 100:3 route-target export 100:3ip vrf site-4 rd 100:3 route-target export 100:3 route-target import 100:3!interface Serial4/6 ip vrf forwarding site3 ip address 192.168.73.7 255.255.255.0 encapsulation ppp!interface Serial4/7 ip vrf forwarding site4 ip address 192.168.74.7 255.255.255.0 encapsulation ppp
ip vrf site3 rd 100:2 route-target export 100:2 route-target import 100:2 route-target import 100:3 route-target export 100:3ip vrf site-4 rd 100:3 route-target export 100:3 route-target import 100:3!interface Serial4/6 ip vrf forwarding site3 ip address 192.168.73.7 255.255.255.0 encapsulation ppp!interface Serial4/7 ip vrf forwarding site4 ip address 192.168.74.7 255.255.255.0 encapsulation ppp
ip vrf site1 rd 100:1 route-target export 100:1 route-target import 100:1ip vrf site2 rd 100:2 route-target export 100:2 route-target import 100:2 route-target import 100:1 route-target export 100:1!interface Serial3/6 ip vrf forwarding site1 ip address 192.168.61.6 255.255.255.0 encapsulation ppp!interface Serial3/7 ip vrf forwarding site2 ip address 192.168.62.6 255.255.255.0 encapsulation ppp
ip vrf site1 rd 100:1 route-target export 100:1 route-target import 100:1ip vrf site2 rd 100:2 route-target export 100:2 route-target import 100:2 route-target import 100:1 route-target export 100:1!interface Serial3/6 ip vrf forwarding site1 ip address 192.168.61.6 255.255.255.0 encapsulation ppp!interface Serial3/7 ip vrf forwarding site2 ip address 192.168.62.6 255.255.255.0 encapsulation ppp
VRFfor site-1(100:1)
Site-1 routesSite-2 routes
120MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS VPN - ConfigurationPE/CE routing protocols
Site-1 Site-2 Site-3 Site-4
PE1 PE2
PP
MP-iBGP
Site-1
Site-3
Site-4
Site-2
VPN-AVPN-C
VPN-B
VRFfor site-1(100:1)
Site-1 routesSite-2 routes
VRFfor site-4(100:3)
Site-3 routesSite-4 routes
VRFfor site-2(100:2)
Site-1 routesSite-2 routesSite-3 routes
VRFfor site-3(100:2)
Site-2 routesSite-3 routesSite-4 routes
router bgp 100no bgp default ipv4-unicast neighbor 6.6.6.6 remote-as 100 neighbor 6.6.6.6 update-source Loop0! address-family ipv4 vrf site4
neighbor 192.168.74.4 remote-as 65504
neighbor 192.168.74.4 activate exit-address-family ! address-family ipv4 vrf site3
neighbor 192.168.73.3 remote-as 65503
neighbor 192.168.73.3 activate exit-address-family ! address-family vpnv4 neighbor 6.6.6.6 activate neighbor 6.6.6.6 next-hop-selfexit-address-family
router bgp 100no bgp default ipv4-unicast neighbor 6.6.6.6 remote-as 100 neighbor 6.6.6.6 update-source Loop0! address-family ipv4 vrf site4
neighbor 192.168.74.4 remote-as 65504
neighbor 192.168.74.4 activate exit-address-family ! address-family ipv4 vrf site3
neighbor 192.168.73.3 remote-as 65503
neighbor 192.168.73.3 activate exit-address-family ! address-family vpnv4 neighbor 6.6.6.6 activate neighbor 6.6.6.6 next-hop-selfexit-address-family
router bgp 100no bgp default ipv4-unicast neighbor 7.7.7.7 remote-as 100 neighbor 7.7.7.7 update-source Loop0! address-family ipv4 vrf site2
neighbor 192.168.62.2 remote-as 65502
neighbor 192.168.62.2 activate exit-address-family ! address-family ipv4 vrf site1
neighbor 192.168.61.1 remote-as 65501
neighbor 192.168.61.1 activate exit-address-family ! address-family vpnv4 neighbor 7.7.7.7 activate neighbor 7.7.7.7 next-hop-selfexit-address-family
router bgp 100no bgp default ipv4-unicast neighbor 7.7.7.7 remote-as 100 neighbor 7.7.7.7 update-source Loop0! address-family ipv4 vrf site2
neighbor 192.168.62.2 remote-as 65502
neighbor 192.168.62.2 activate exit-address-family ! address-family ipv4 vrf site1
neighbor 192.168.61.1 remote-as 65501
neighbor 192.168.61.1 activate exit-address-family ! address-family vpnv4 neighbor 7.7.7.7 activate neighbor 7.7.7.7 next-hop-selfexit-address-family
121MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
IOS Support forMPLS
IOS Support forMPLS
122MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
MPLS-VPN IOS Releases - LDP Status
MPLS-VPN IOS Releases - LDP Status
• Initial limited deployment release in 12.0(10)ST and up
• 12.0(11)ST available on CCO
• General deployment also planned for 12.2(1)T
• Will be based on the current IETF draft (draft-ietf-mpls-ldp-11.txt?)
123MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
ReferencesReferences
124MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
ReferencesReferences
• RFCs and Internet Draftsdraft-rosen-rfc2547bis-02.txt (was RFC2547)
RFC2858 (Obsoletes RFC2283)
draft-ietf-mpls-bgp4-mpls-02.txt
draft-ramachandra-bgp-extcommunities04.txt
• Textbook“MPLS and VPN Architectures,” by Ivan Pepelnjak, Jim Guichard (ISBN# 1-58705-002-1)
MPLS: Technology and Applications, by Bruce Davie, Yakov Rekhter (ISBN#1-55860-656-4)
• Useful URLshttp://wwwin-mpls.cisco.com/
http://wwwin-ch.cisco.com/SQA/devtest/tag-switching/
http://wwwin-people.cisco.com/sprevidi/
125MPLS Bootcamp © 2000, Cisco Systems, Inc. Cisco Confidential
Reference PointersReference Pointers
• Mailing Lists
tag-vpn@cisco.com<-- (mpls-vpn questions)
cs-tagswitching@cisco.com <-- (general mpls questions)
CS-rrr@cisco.com <--(mpls-te questions)
mpls-deployment@cisco.com
126© 2000, Cisco Systems, Inc.NW’00 Paris