advances in bgp - deniz aydinmonsterdark.com/wp-content/uploads/advances-in-bgp.pdf · • tested...
TRANSCRIPT
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
What is BGP?
3
Without BGP the Internet would not exist in its current stable and simple form
It is the plumbing technology of the Internet
What a Google search “bgp abbreviation” finds?
– Source: http://www.all-acronyms.com/BGP Border Gateway Protocol Bacterial Growth Potential Battlegroup Becker, Green and Pearson <sensored entry> Bermuda grass pollen Berri Gas Plant beta-glycerophosphate biliary glycoprotein blood group bone gamma-carboxyglutamic acid protei… bone gamma-carboxyglutamic acid-contai… bone gla protein bone Gla-containing protein Borders Group, Inc. brain-type glycogen phosphorylase Bridge Gateway Protocol Broader Gateway Protocol Bureau de Gestion de Projet Brain Gain Program
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Agenda
Motivation to Enhance BGP Scale and Performance Enhancements What happened in BGP Landscape? Some new Cool features that may interest you
4
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Agenda
Motivation to Enhance BGP Scale and Performance Enhancements What happened in BGP Landscape? Some new Cool features that may interest you
5
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
BGP started in 1989…
Motivation and Development of BGP: When the Internet grew and moved to an autonomous system (AS) mesh architecture it was needed to have stable, non-chatty and low CPU consuming protocol to connect all of these AS’s together. In June 1989, the first version of this
new routing protocol was formalized, with the publishing of RFC 1105, A Border Gateway Protocol (BGP).
6
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Service Provider Routing and Services progress
Multimedia, Mobile Internet and Cloud Services will generate massive bandwidth explosion Prefix growth is almost a linear curve Evolution of offered BGP services go from basic technologies to very advanced infrastructures
7
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Control-plane Evolution Most of services are progressing towards BGP
8
Service/transport Before 2008 2013 and future
IDR (Peering) BGP BGP (IPv6)
SP L3VPN BGP BGP + FRR + Scalability
SP Multicast VPN PIM BGP Multicast VPN
DDOS mitigation CLI BGP flowspec
Network Monitoring SNMP BGP monitoring protocol
Security Filters BGP Sec (RPKI), DDoS Mitigation
Proximity BGP connected app API
SP-L3VPN-DC BGP Inter-AS, VPN4DC
Business & CE L2VPN LDP BGP PW Sign (VPLS)
DC Interconnect L2VPN BGP MAC Sign (EVPN)
MPLS transport LDP BGP+Label (Unified MPLS)
Data Center OSPF/ISIS BGP + Multipath
Massive Scale DMVPN NHRP / EIGRP BGP + Path Diversity
Campus/Ent L3VPN BGP (IOS) BGP (NX-OS)
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Why BGP is so successful ?
Robustness: Run over TCP Low Overhead protocol: sends an update once and then remains silent Scalability: Path Vector Protocol, allows full mesh High Availability: NSR, PIC,… Well Known : Tons of engineers know BGP Simplicity: BGP is simple (even if knobs make BGP BIG and sometimes less trivial to read) Multi-protocol: IPv4, IPv6, L2VPN, L3VPN, Multicast Incremental: easy to extend: NLRI,Path Attribute, Community Flexible: Policy
9
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Scale & Performance Enhancements
Update Generation Enhancements – Update generation is the most important, time-critical task – Is now a separate process, to provide more CPU Quantum
Parallel Route Refresh – Significant delay (up to 15-30 minutes) seen in advertising incremental updates while RR is servicing route refresh requests or
converging newly established peers – Refresh and incremental updates run in parrallel
Keepalive Enhancements – Loosing or delayed keep-alive message result in session flaps – Hence keep-alive processing is now placed into a separate process using priority queuing mechanism
Adaptive Update Cache Size – Instead of using a fixed cache size, the new code dynamically adapts to the address family used, the available router memory
and the number of peers in an update group
BGP Scaling
10
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Agenda
Motivation to Enhance BGP Scale and Performance Enhancements What happened in BGP Landscape? Some new Cool features that may interest you
11
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Scale & Performance Enhancements
PE Scaling –PE-CE Optimization In old code slow convergence was experienced with large numbers of CE’s Improved by intelligently evaluating VPN prefixes based upon the prefixes in the CE’s VRF –VRF-Based Advertise Bits Increased memory consumption when number of VRF’s was scaled on a PE Smart reuse of advertise bit space for VRF
Route Reflector Scaling –Selective RIB Download A Route-Reflector needs to receive the full RIB, however not all prefixes MUST be in the Forwarding Information Base (FIB) So, we now allow by using user policy to only download selected prefixes in the FIB
More about BGP Performance tuning in BRKRST-3321
12
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
BGP Resiliency/HA Enhancement
Issue: Slow peers in update groups block convergence of other update group members by filling message queues/transmitting slowly
Persistent network issue affecting all BGP routers
Two components to solution Detection Protection
Detection BGP update timestamps Peer’s TCP connection characteristics
Slow Peer Management
13
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
BGP Resiliency/HA Enhancement
Protection Move slower peers out of update group Separate slow update group with matching policies created Any slow members are moved to slow update group Detection can be automatic or manual with CLI command
Automatic recovery Slow peers are periodically checked for recovery Recovered peers rejoin the main update group
Isolation of slow peers unblocks faster peers and lets them converge as fast as possible
Slow Peer Management
14
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
ASR1000 RP2, RP1, ASR1001 and 7200 BGP Route and Session Scalability Comparison - RR
• Tested with BGP selective download feature for ipv4/ipv6 for dedicated RR application. This feature prevents ipv4/ipv6 BGP routes to be installed in RIB and FIB. It reduces memory usage per ipv4/ipv6 prefix and CPU utilization
• ASR 1000 with RP1 allocates ~1.7GB to IOSd, ASR 1001 with 4GB allocates ~1.4GB to IOSd, whereas on NPE-G2 entire 2G is used by IOS
7200 NPE-G2 (2GB)
ASR1000 RP1 (4GB)
ASR1001 (4GB)
ASR1001 (8GB)
ASR1001 (16GB)
ASR1000 RP2 (8GB)
ASR1000 RP2 (16GB)
ipv4 routes 4M 7M* 2M* 9M* 17M* 12M* 29M*
vpnv4 routes 7M 6M 2M 8M 16M 10M 24M
ipv6 routes 2M 5M* 2M* 8M* 15M* 9M* 24M*
vpnv6 routes 6M 5M 1.5M 7.5M 14.5M 9M 21M
BGP sessions <1000 4000 4000 4000 4000 8000 8000
16
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
ASR 1000 RP1 and RP2 Convergence Performance Comparison - RR
Tested with peer groups (1K RR clients per peer group) 7200 NPE-G2 can not converge in the above test cases. ASR1000 RP2 converges about twice faster than 7200 NPE-G2 based on RR customer profile testing CPU utilization below 5% after convergence Link to Isocore report http://www.cisco.com/en/US/prod/collateral/routers/ps9343/ITD13029-ASR1000-RP2Validationv1_1.pdf
Tested with 1M Total Unique Routes
Total Routes Reflected by RR to All Clients (Number of routes x Number of Clients)
ASR1000 RP1 (4GB) Convergence (in seconds)
ASR1001 (16GB) Convergence (in seconds)
ASR1000 RP2 (16GB) Convergence (in seconds)
ipv4 (1K RR clients) 1Billion 220 133 75
vpnv4 (1K RR clients, 8K RT) 1Billion 680 489 221
ipv6 (1K RR clients) 1Billion 720 393 194
vpnv6 (1K RR clients, 8K RT) 1Billion 877 811 293
ipv4 (2K RR clients) 2 Billion 375 270 138
vpnv4 (2K RR clients, 8K RT) 2 Billion 1285 797 394
ipv6 (2K RR clients) 2 Billion 1126 897 284
vpnv6 (2K RR clients, 8K RT) 2 Billion 1766 1691 551
for your reference
17
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Agenda
Motivation to Enhance BGP Scale and Performance Enhancements What happened in BGP Landscape? Some new Cool features that may interest you
18
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
What Happened in XR Landscape?
19
4.0 4.1 4.1.1 4.2 4.2.1 4.2.3 4.2.4 4.3.0 4.3.1
• Add Path Support • Accumulated
Interior Gateway Protocol (AIGP) Metric Attribute
• Unipath PIC for non-VPN address-families (6PE/IPv6/IPv4 Unicast)
• RT-Constraint
• BGP Accept Own
• Multi-Instance/Multi-AS
• BGP 3107 PIC Update for Global Prefixes
• Prefix Origin Validation based on RPKI
• PIC for RIB and FIB
• Attribute Filtering and Error handling
• DMZ Link Bandwidth for Unequal Cost Recursive Load Balancing
• Selective VRF Download • 6PE/6vPE over L2TPv3 • Next-Generation
Multicast VPN
• BGP Based DDoS Mitigation
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
What Happened in IOS Landscape?
20
15.2(1)S 15.2(2)S 15.2(4)S 15.3(1)S 15.3(2)S
Origin AS Validation
Gracefull Shutdown iBGP NSR mVPN BGP SAFI 129 NSR without Route-Refresh
Additional Path Attribute Filtering and Error Handling Diverse Path Graceful Shutdown IPv6 client for Single hop BFD IPv6 PIC Core and Edge RT Constraint IP Prefix export from a VRF into global Table
mVPNv6 Extranet Support
Local-AS allow-policy RT/VPN-ID Attribute Rewrite Wildcard VRF Aware Conditional Announcement
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
What Happened in XE Landscape?
21
3.8 3.9
Multicast VPN BGP Dampening Multiple Cluster IDs VPN Distinguisher Attribute
IPv6 NSR Local-AS Allow-policy RT or VPN-ID Rewrite Wildcard VRF Aware Conditional Advertisement
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
What Happened NXOS Landscape?
22
5.2 6.0 6.1 6.2
Default information originate support Flexible distance manipulation with Inject map Unsupress map as-format command for AS-plain & AS-dot Enhancements for removal of private AS enable route target import-export in default VRF InterAS option B-lite BGP Authentication for Prefix-based neighbors
BGP AddPath BGP send community both BGP Neighbor AF weight command
BGP med confed and AS multipath-relax BGP next hop self for route reflector
Prefix Independent Convergence (Core) local-as AS Override (allowas-in) Disable 4-byte AS advertisement MP BGP – MPLS VPNs, 6PE, MDT
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Agenda
Motivation to Enhance BGP Scale and Performance Enhancements What happened in BGP Landscape? Some new Cool features that may interest you
23
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
PIC Edge Feature Overview
24
Internet Service Providers provide strict SLAs to their Financial and Business VPN customers where they need to offer a sub-second convergence in the case of Core/Edge Link or node failures in their network
Prefix Independent Convergence (PIC) has been supported in IOS-XR/IOS for a while for CORE link failures as well as edge node failures
BGP Best-External project provides support for advertisement of Best-External path to the iBGP/RR peers when a locally selected bestpath is from an internal peer
BGP PIC Unipath provides a capability to install a backup path into the forwarding table to provide prefix independent convergence in case of the PE-CE link failure
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
10.1.1.0/24 VPN1 Site #1
MPLS Cloud Traffic Flow 10.2.2.0/24
VPN1 Site #2
PE1
PE2
PE3
PE4
CE1 CE2
Primary
Backup
RR
PIC Edge: PE-CE Link Protection
PE3 configured as primary, PE4 as backup –PE3 preferred over PE4 by local preference –CE2 has different RDs in VRFs on PE3 and PE4 –PE4: advertise-best-external, to advertise route via PE4-CE2 link –PE3: additional-paths install, to install primary and backup path
BGP Resiliency/HA Enhancement
25
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
10.1.1.0/24 VPN1 Site #1
MPLS Cloud Traffic Flow 10.2.2.0/24
VPN1 Site #2
PE1
PE2
PE3
PE4
CE1 CE2
Primary
Backup
RR
PIC Edge: Link Protection
PE3 has primary and backup path – Primary via directly connected PE3-CE2 link – Backup via PE4 best external route
What happens when PE3-CE2 link fails?
BGP Resiliency/HA Enhancement
26
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
10.1.1.0/24 VPN1 Site #1
MPLS Cloud Traffic Flow 10.2.2.0/24
VPN1 Site #2
PE1
PE2
PE3
PE4
CE1 CE2
Primary
Backup
RR
PIC Edge: Link Protection
CEF (via BFD or link layer mechanism) detects PE3-CE2 link failure – CEF immediately swaps to repair path label
Traffic shunted to PE4 and across PE4-CE2 link
BGP Resiliency/HA Enhancement
27
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
10.1.1.0/24 VPN1 Site #1
MPLS Cloud
Traffic Flow
10.2.2.0/24 VPN1 Site
#2
PE1
PE2
PE3
PE4
CE1 CE2
Primary
Backup
RR
Withdraw route via PE3
PIC Edge: Link Protection
PE3 withdraws route via PE3-CE2 link – Update propagated to remote PE routers
BGP Resiliency/HA Enhancement
28
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
10.1.1.0/24 VPN1 Site #1
MPLS Cloud
Traffic Flow
10.2.2.0/24 VPN1 Site
#2
PE1
PE2
PE3
PE4
CE1 CE2
Primary
Backup
RR
Withdraw route via PE3
PIC Edge: Link Protection
BGP on remote PEs selects new bestpath – New bestpath is via PE4 – Traffic flows directly to PE4 instead of via PE3
BGP Resiliency/HA Enhancement
29
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
10.1.1.0/24 VPN1 Site #1
MPLS Cloud Traffic Flow 10.2.2.0/24
VPN1 Site #2
PE1
PE2
PE3
PE4
CE1 CE2
Primary
Backup
RR
PIC Edge: Edge Node Protection
PE3 configured as primary, PE4 as backup – PE3 preferred over PE4 by local preference – CE2 has different RDs in VRFs on PE3 and PE4 – PE4: advertise-best-external, to advertise route via PE4-CE2 link – PE1: additional-paths install, to install primary and backup path
BGP Resiliency/HA Enhancement
30
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
10.1.1.0/24 VPN1 Site #1
MPLS Cloud
Traffic Flow
10.2.2.0/24 VPN1 Site
#2
PE1
PE2
PE3
PE4
CE1 CE2
Primary
Backup
RR
PIC Edge: Edge Node Protection
PE1 has primary and backup path – Primary via PE3 – Backup via PE4 best external route
What happens when node PE3 fails?
BGP Resiliency/HA Enhancement
31
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
10.1.1.0/24 VPN1 Site #1
MPLS Cloud
Traffic Flow
10.2.2.0/24 VPN1 Site
#2
PE1
PE2
PE3
PE4
CE1 CE2
Primary
Backup
RR
PE3’s /32 host route
removed from IGP
PIC Edge: Edge Node Protection
BGP Resiliency/HA Enhancement
BGP Resiliency/HA Enhancement
32
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
10.1.1.0/24 VPN1 Site #1
MPLS Cloud
Traffic Flow
10.2.2.0/24 VPN1 Site
#2
PE1
PE2
PE3
PE4
CE1 CE2
Primary
Backup
RR
PE3’s /32 host route
removed from IGP
PIC Edge: Edge Node Protection
PE1 detects loss of PE3’s /32 host route in IGP – CEF immediately swaps forwarding destination label from
PE3 to PE4 using backup path
BGP on PE1 computes a new bestpath later, choosing PE4
BGP Resiliency/HA Enhancement
33
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Enabling BGP PIC – Enabling IP Routing Fast Convergence
BGP PIC leverages IGP convergence Make sure IGP converges quickly IOS-XR: IGP Timers pretty-much tuned by default IOS: Sample OSPF config:
34
process-max-time 50 ip routing protocol purge interface interface … carrier-delay msec 0 negotiation auto ip ospf network point-to-point bfd interval 100 min_rx 100 mul 3 router ospf 1 ispf timers throttle spf 50 100 5000 timers throttle lsa all 0 20 1000 timers lsa arrival 20 timers pacing flood 15 passive-interface Loopback 0 bfd all-interfaces
for your reference
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Enabling BGP PIC Edge: IOS-XR
Two BGP-PIC Edge Flavors: BGP PIC Edge Multipath and Unipath Multipath: Re-routing router load-balances across multiple next-hops, backup next-hops
are actively taking traffic, are active in the routing/forwarding plane, commonly found in active/active redundancy scenarios. – No configuration, apart from enabling BGP multipath (maximum-paths ... )
Unipath: Backup path(s) are NOT taking traffic, as found in active/standby scenarios
35
route-policy backup ! Currently, only a single backup path is supported set path-selection backup 1 install [multipath-protect] [advertise] end-policy
router bgp ... address-family ipv4 unicast additional-paths selection route-policy backup ! address-family vpnv4 unicast additional-paths selection route-policy backup !
for your reference
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Enabling BGP PIC Edge: IOS
As in IOS-XR, PIC-Edge w/ multipath requires no additional configuration PIC-Edge unipath needs to be enabled explicitly ...
36
router bgp ... address-family ipv4 [vrf ...] or address-family vpnv4
bgp additional-paths install
http://www.cisco.com/en/US/docs/ios/iproute_bgp/configuration/guide/irg_bgp_mp_pic.html
http://www.cisco.com/en/US/docs/ios/ios_xe/iproute_bgp/configuration/guide/irg_best_external_xe.html
... or implicitly when enabling best external
router bgp ... address-family ipv4 [vrf ...] or address-family vpnv4
bgp advertise-best-external
for your reference
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Question: How will my PE’s learn about the alternate Paths?
By default my RR Only-Reflects the Best-Route
37
RR
PE2
PE3
Z NH:PE3, P:Z
NH:PE2, P:Z
PE1
Prefix Z Via PE2
E0
E0
Prefix Z Via E0
Prefix Z Via E0
NH:PE2, P:Z
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Diverse BGP Path Distribution Shadow Session
Easy deployment – no upgrade of any existing router is required, just new iBGP session per each extra path (CLI knob in RR1) Diverse iBGP session does announce the 2nd best path
38
RR1 NH:PE2, P:Z
NH:PE2, P:Z Prefix Z Via PE2 Via PE3 NH:PE3, P:Z
NH:PE3, P:Z
PE2
PE3
Z PE1
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
BGP Add-Path
Add-Path will signal diverse paths from 2 to X paths Required all Add-Path receiver BGP router to support Add-Path capability.
39
RR1 NH:PE2, P:Z AP 1 NH:PE2, P:Z
Prefix Z Via PE2 Via PE3 NH:PE3, P:Z AP 2
NH:PE3, P:Z
PE2
PE3
Z PE1
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
BGP Add-path flavors
IETF defines 5 flavors of Add-x-Path. 2 are implemented by Cisco: Add-n-path: with add-n-path the route reflector will do best path computation for all paths and
send n best to BR/PE. – Usecase: Primary + n-1 Backup scenario. (n is maximal for IOS-XR 2 and 3 for IOS).
Add-all-path: with add-all-path, the route reflector will do the primary best path computation (only on first path) and then send all path to BR/PE. – Usecase: Large DC ECMP load balancing, hot potato routing scenario
40
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Add-path: selecting second best
1. Select best 2. Remove all paths whose next-hop == best’s (including best) 3. Run bestpath selection again on the remaining paths to select backup
41
Simple rule
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Add-Path Configuration – IOS-XR
Enable in global address-family mode – Enables for all IBGP neighbors Enable/Disable in neighbor mode
43
router bgp 100 address-family ipv4 unicast additional-paths send ! address-family vpnv4 unicast additional-paths send ! neighbor 1.1.1.1 remote-as 100 address-family ipv4 unicast ! address-family vpnv4 unicast ! ! neighbor 2.2.2.2 remote-as 100 capability additional-paths send disable address-family ipv4 unicast !
for your reference
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Add-Path Configuration – IOS-XR
Enable in global address-family mode – Enables for all IBGP neighbors Enable/Disable in neighbor mode
44
router bgp 100 address-family ipv4 unicast additional-paths receive ! address-family vpnv4 unicast additional-paths receive ! neighbor 1.1.1.1 remote-as 100 address-family ipv4 unicast ! address-family vpnv4 unicast ! ! neighbor 2.2.2.2 remote-as 100 capability additional-paths receive disable address-family ipv4 unicast ! ! !
for your reference
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
PIC Edge: Test Results
Test Setup Node Failure Link Failure
No PIC Edge, No BFD 12-14 sec 8-17 sec
BFD Only 10-12 sec 6-12 sec
PIC Edge Only 8 sec 4 sec
PIC Edge, BFD 0 sec 0 sec
BGP Resiliency/HA Enhancement
47
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Automated Route Target Filtering
Increased VPN service deployment increases load on VPN routers –10% YOY VPN table growth –Highly desirable to filter unwanted VPN routes
Multiple filtering approaches –New RT filter address family –Extended community ORF
BGP Feature
48
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Automated Route Target Filtering
Derive RT filtering information from VPN RT import lists automatically
Exchange filtering info via RT filter AF or extended community ORF
Translate filter info received from neighbors into outbound filtering policies
Generate incremental updates for received RT update queries
Incremental deployment possible/desirable
49
BGP Feature
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
PE-1
PE-2
PE-3
PE-4
RR-1 RR-2
VRF- Blue
VRF- Red
VRF- Red
VRF- Green
RT-Constraint: NLRI= {VRF-Blue, VRF-Red}
RT-Constraint: NLRI= {VRF-Green, VRF-Purple}
RT-Constraint: NLRI= {VRF-Purple, VRF-Blue}
RT-Constraint: NLRI= {VRF-Red, VRF-Green}
RT-Constraint: NLRI= {VRF-Blue, VRF-Red, VRF-Green}
RT-Constraint: NLRI={VRF-Green, VRF-Purple, VRF-Blue}
VRF- Green
VRF- Purple
VRF- Purple
VRF- Blue
Automated Route Target Filtering
50
Improves PE and RR scaling and performance by sending only relevant VPN routes
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
IOS XR - Accept own
51
Accept own
This feature allows movement from a PE-Based service provisioning model to a centralized router reflector (RR)-based service provisioning model. With this feature, you can define route TO service-VRF mapping within a centralized route reflector and then propagate this information down to all the PE clients of that RR. Without this feature, you would define the route TO service VRF mapping in all PE devices, thereby incurring a high configuration overhead, which could result in more errors.
This feature enables a route reflector to modify the Route Target (RT) list of a VPN route that is distributed by the route reflector, enabling the route reflector to control how a route originated within one VRF is imported into other VRFs.
router#configure router(config)#router bgp 100 router(config-bgp)#neighbor 10.2.3.4 router(config-bgp-nbr)#address-family vpnv4 unicast router(config-bgp-nbr-af)#accept-own
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
AIGP (Accumulated IGP Metric Attribute for BGP) http://tools.ietf.org/html/draft-ietf-idr-aigp-09 Optional, non-transitive BGP path attribute BGP attribute to provide BGP a way to make its routing decision based on
the IGP metric, to choose the “shortest” path between two nodes across different AS.
The main driving force for this feature is to solve the IGP scale issue seen in some ISP core network.
Mainly to be deployed to carry nexthop prefixes/labels across different AS within the same administrative domain.
The remote ingress PE select its best path using the modified best path selection process using AIGP metric.
Overview – AIGP
52
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Overview – AIGP
Passing AIGP attribute to non-AIGP capable neighbors • Translate AIGP into cost-community • 2 POI of pre-best-path and igp-cost are supported • A transitive keyword to make cost-comm transitive to eBGP neighbors • Redistribute BGP (with AIGP) into IGP – • Translate AIGP value into BGP MED
Other software components • Route installation – for BGP to tag AIGP metric during route installation • NH notification – when AIGP metric changed
– Update generation throttling is not supported in 4.0 – It is highly recommended to deploy BGP best-external and Additional-path in conjunction with
the AIGP attribute, to effectively achieve the desired routing policy.
56
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
AIGP: Originating AIGP
router bgp 1 address-family ipv4 unicast redistribute ospf 1 route-policy set_aigp_1
route-policy set_aigp_1 if destination in (61.1.1.0/24 le 32) then set aigp-metric 111 elseif destination in (2100::1:0/112, 2100::2:0/112) then set aigp-metric igp-cost Endif end-policy
AIGP is enabled between iBGP neighbors by default AIGP between eBGP neighbors need to be enabled AIGP can be originated by using redistribute ospf, redistribute isis, redistribute static or the BGP network command. AIGP can also be originated using neighbor address-family inbound or outbound policy to set AIGP to be the IGP cost or to a fixed value.
57
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
What is Multi-Instance BGP?
60
A new IOS-XR BGP architecture to support multiple instances along the lines of OSPF instances
Each BGP instance is a separate process running on the same or a different RP/DRP node
The BGP instances do not share any prefix table between them
No need for a common adj-rib-in (bRIB) as is the case with distributed BGP
The BGP instances do not communicate with each other and do not set up peering with each other
Each individual instance can set up peering with another router independently
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
What is Multi-AS BGP?
61
It will be possible to configure each instance of a multi-instances BGP with a different AS number
Global address families can’t be configured under more than one AS except vpnv4 and vpnv6
VPN address-families may be configured under multiple AS instances that do not share any VRFs
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Configuration Example for your reference
63
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Attribute Filtering and error-handling
Attribute filtering – Unwanted optional transitive attribute such as ATTR_SET, CONFED segment in
AS4_PATH causing outage in some equipments. – Prevent unwanted/unknown BGP attributes from hitting legacy equipment Block specific attributes Block a range of non-mandatory attributes
Error-handling – draft-ietf-idr-optional-transitive-04.txt – Punishment should not exceed the crime – Gracefully fix or ignore non-severe errors – Avoid session resets for most cases – Never discard update error, as that can lead to inconsistencies
66
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Architecture
67
Invalid Attribute Contents
Wrong Attribute Length Unknown Attributes Unwanted Attributes
Malformed BGP Updates Transitive Attributes
Attribute Filtering
Error-handling
NLRI processing…
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Attribute filtering
First level of inbound filtering Filtering is configured as a range of attribute codes and a corresponding action
to take (Note: Never Discard Update as that can lead towards inconsistencies) Actions
– Discard the attribute – Treat-as-withdraw Applied when parsing each attribute in the received Update message
– When a attribute matches the filter, further processing of the attribute is stopped and the corresponding action is taken
68
for your reference
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Error-handling
Comes into play after attribute-filtering is applied When we detect one or more malformed attributes or NLRIs or other fields in
the Update message Steps
– Classification of errors – Actions to be taken – Logging
69
for your reference
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Origin Validation for E-BGP routes Next release to cover origin validation for locally sourced routes Support client functionality of RPKI RTR protocol
Separate database to store record entries from the cache Support to announce path validation state to IBGP neighbors using a well
known path validation state extended community Modified route policies to incorporate path validation states
BGP Origin Validation
71
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Prefix hijacking
Announce someone else’s prefix Announce a more specific of someone else’s prefix Either way, you are trying to “steal” someone else’s traffic by getting it routed to
you – Capture, sniff, redirect, manipulate traffic as you wish
72
Source: nanog 46 preso
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does the Solution look like?
73
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Multicast VPN Solution Space
(complete solution is now available)
77
LSM Encapsulation /Forwarding IP/GRE
P2MP TE (pt-mpt)
PIM (pt-mpt)
Core Tree Signaling
MLDP (pt-mpt | mpt-mpt)
mVPN IPv4
Native IPv6
mVPN IPv6
Service Native IPv4
BGP PIM C-Multicast Signaling
PORT
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
BGP customer-multicast signaling and BGP auto-discover is now added to the multicast VPN solution.
Multicast VPN – BGP Signaling
BGP as overlay allows Service Providers to capitalize on a single protocol
Auto-Discovery of PEs and Core tree/tunnel information
PE1
PE2
PE3
PE4
CE1 CE3
RR
Receiver Source
CE4 Receiver CE2 RP
BGP Auto-Discovery
BGP C-mroutes
PIM C-Join (*,G) or (S,G)
PIM C-Join (*,G) or (S,G)
Advertisement of Customer Multicast routes
BGP
78
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
BGP Graceful Shutdown
RFC 6198 – April 2011 Old Behaviour
– If session drops then BGP will withdraw all prefixes learned over that session
– BGP has no mechanism to signal prefix will soon be unreachable (for maintenance for example)
Historically RR’s have worsened the issue as they tend to hide the alternate path as they only forward the best path
79
BGP Graceful Shutdown allows to do maintenance on router without service disruption.
This new knob allows a router to notify neighbor to redirect traffic to other paths and after some time will drop BGP sessions.
The notification could be done using Local Preference attribute
or user community attribute
#Graceful Shutdown Please wait…
BGP/ Prefix 10.45 / localpref : 10
1 2
Traffic is redirected
3
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Graceful Shutdown
GSHUT well-known community The GSHUT community attribute is applied to a neighbor specified by the
neighbor shutdown graceful command, thereby gracefully shutting down the link in an expected number of seconds The GSHUT community is specified in a community list, which is referenced by
a route map and then used to make policy routing decisions.
80
http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_bgp/configuration/15-s/irg-15-s-book.pdf
neighbor {ipv4-address | ipv6-address | peer-group-name} shutdown graceful seconds {community value [local-preference value] | local-preference value}
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
DDoS Mitigation – a stepstone approach
Phase III – Dynamic application aware redirection and traffic handling
Phase II – Malicious traffic mitigation – Cleaning of Malicious traffic – Dirty and clean traffic handling – Usage of Multi-instance BGP
Phase I – ACL – RTBH – PBR – uRPF
IOS-XR 4.3.1 IOS-XE partial
IOS-XR 5.2.0 IOS-XE 3.1.2
81
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
DDoS Overview
Distributed denial-of-service (DDoS) attacks target network infrastructures or computer services by sending overwhelming number of service requests to the server from many sources. Server resources are used up in serving the fake requests resulting in denial or degradation of legitimate service requests to be served Addressing DDoS attacks
Detection – Detect incoming fake requests Mitigation Diversion – Send traffic to a specialized device that removes the fake packets from the traffic stream while retaining the legitimate packets Return – Send back the clean traffic to the server
82
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
DDOS impact on Customer Business
83
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
DDoS mitigation architecture 1. Detection (no DDoS)
DDOS scrubber
Security Server
DDOS Analyser
Sample Netflow
Scan Netflow data to detect DDOS attacks
86
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
DDoS mitigation architecture 2. Detection (DDOS)
DDOS scrubber
Security Server
DDOS Analyser
Sample Netflow
Scan Netflow data Find DDOS signature
87
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
DDoS mitigation architecture 3. Redirect traffic to DDOS scruber
DDoS scrubber
Security Server
DDoS Analyser
Scan Netflow data Find DDoS signature
BGP DDoS Mitigation Action: redirect to DDoS scrubber
88
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
DDoS Mitigation: Architecture Considerations Normal traffic flow when there is no attack Redirect traffic from any edge PE to any specific DDoS scrubber
Including the PE that is connected to the host network
Granular (prefix level/network) diversion Customers buy DDoS mitigation service for some prefixes Pre-provisioned DDoS service for those prefixes (using policy such as standard community flag)
Centralized controller that injects the diversion route VPN based Labeled return path for the clean traffic
To prevent routing loops
Solution support redirection of BGP less/more specific prefixes or local originated prefixes (static route, redistributed route)
Support for multi-homed customers During attack, send clean traffic from DDOS scrubber to multiple PE’s
89
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
The concept
90
Traffic under normal conditions
Internet users
Traffic under normalized conditions • Traffic takes shortest path • Upstream and downstream traffic follow
traditional routing
Server Scrubber
ISP
Pre-provisioned DDoS instrumentation • Traffic Scrubber
Separate clean and malicious traffic • Security Analyser
Analyses Netflow/IPFIX statistics from the traffic flows
• Security server Actions upon traffic analysis by communication to infrastructure routers
Security analyser Security server
PE3
PE2
PE1
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
BGP based DDoS
91
Traffic under DDoS condition
Internet users
Traffic under DDoS condition • Traffic is redirected to a scrubber • Scrubber separates the clean from
the malicious traffic • Clean traffic is returned to original
destination server
Goal • Do not drop all traffic • Collect traffic intelligence • Operational simplicity • Easy to remove redirect when traffic
normalizes
Server Scrubber
ISP
Security analyser Security server
PE3
PE2
PE1
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does it work?
92
Normal traffic condition
Internet users
• All PE’s peer with the RR • All PE’s exchange both Global
Internet and VPN prefixes • All PE interfaces are non-VPN • Security analyser is performing
doing analyses
Server Scrubber
ISP
Internet and VPN Route-Reflector
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
5.5.5.5
Security analyser Security server
Destination Next-hop
1.1.1.1/32 2.2.2.2
PE3
PE2
PE1
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does it work?
93
Server is under DDoS
Internet users
• Flow is detected as dirty by Security analyser
• Result: Server is under attack • Traffic needs to be redirected to the
scrubber to mitigate the attack Server
Scrubber
ISP
Internet and VPN Route-Reflector
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
5.5.5.5
Security analyser Security server
Destination Next-hop
1.1.1.1/32 2.2.2.2
PE3
PE2
PE1
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does it work?
94
Internet users
• DDoS Route-Reflector was pre-visioned
• Mitigation route to 1.1.1.1/32 is injected on the DDoS RR by the Security server
• Mitigation route to 1.1.1.1/32 is pointing to 3.3.3.3 on DDoS mitigation RR
Server Scrubber
ISP
Internet and VPN Route-Reflector
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
5.5.5.5
Security server
DDoS Route-Reflector
5.5.5.5
Destination Next-hop
1.1.1.1/32 3.3.3.3
PE3
PE2
PE1
Server is under DDoS
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does it work?
95
Internet users
• Mitigation route to 1.1.1.1/32 is pointing to 3.3.3.3 is signalled to all PE’s
• All PE’s receive the mitigation route from the DDoS Mitigation RR
• Each PE will now have 2 routes to reach 1.1.1.1/32
• Which route will the PE use?
Server Scrubber
ISP
Internet and VPN Route-Reflector
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
5.5.5.5
Security server
DDoS Route-Reflector
5.5.5.5
Destination Next-hop
1.1.1.1/32 3.3.3.3
Destination Next-hop
1.1.1.1/32 2.2.2.2
1.1.1.1/32 3.3.3.3
Destination Next-hop
1.1.1.1/32 ????????????
BGP Table Routing Table
PE3
PE2
PE1
Server is under DDoS
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does it work?
96
Internet users
Trick # 1 • The DDoS mitigation route will
ALWAYS be preferred, even if • Both prefix lengths are the
same • DDoS prefix is shorter • Original prefix has better
administrative distance
Server Scrubber
ISP
Internet and VPN Route-Reflector
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
5.5.5.5
Security server
DDoS Route-Reflector
5.5.5.5
Destination Next-hop
1.1.1.1/32 2.2.2.2
1.1.1.1/32 3.3.3.3
Destination Next-hop
1.1.1.1/32 3.3.3.3
Routing Table BGP Table
PE3
PE2
PE1
Server is under DDoS
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does it work?
97
Internet users
• The mitigated traffic flows towards PE3 (3.3.3.3)
• PE3 is sending the dirty flow towards the scrubber
• The scrubber will • Handle and remove the dirty
traffic within the original flow • Send the cleaned traffic
towards the original destination (1.1.1.1 at PE2 (2.2.2.2))
Server Scrubber
ISP
Internet and VPN Route-Reflector
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
5.5.5.5
DDoS Route-Reflector
5.5.5.5
Destination Next-hop
1.1.1.1/32 2.2.2.2
1.1.1.1/32 3.3.3.3
Destination Next-hop
1.1.1.1/32 3.3.3.3
Routing Table BGP Table
PE3
PE2
Clean traffic
PE1
Server is under DDoS
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does it work?
98
Internet users
Problem • Scrubber sends traffic to PE3 • PE3 does routing lookup for 1.1.1.1
and finds that it is directly attached • ROUTING LOOP!!! • How do we fix this?
• We use a new isolated routing table for the clean traffic
• This routing table is Pre-provisioned Inside a VPN
Server Scrubber
ISP
Internet and VPN Route-Reflector
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
5.5.5.5
DDoS Route-Reflector
5.5.5.5
Destination Next-hop
1.1.1.1/32 2.2.2.2
1.1.1.1/32 3.3.3.3
Destination Next-hop
1.1.1.1/32 3.3.3.3
Routing Table BGP Table
PE3
PE2
Clean traffic
PE1
Server is under DDoS
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does it work?
99
Internet users
Server Scrubber
ISP
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
Destination Next-hop
1.1.1.1/32 2.2.2.2
1.1.1.1/32 3.3.3.3
Destination Next-hop VPN
1.1.1.1/32 3.3.3.3 Global
1.1.1.1/32 2.2.2.2 Clean
Routing Table BGP Table
PE3
PE2
• The clean traffic will be injected upon PE3 on an interface member of VPN Clean
• PE3 will now do a routing destination lookup for 1.1.1.1 in VPN Clean
• The matching routing table entry is pointing towards PE2 at 2.2.2.2
• The clean flow, which is now part of VPN Clean is sent towards PE2 reachable at 2.2.2.2
VPN Clean
PE1
Server is under DDoS
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does it work?
100 Internet users
Server Scrubber
ISP
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
PE3
PE2 CE1
Destination Next-hop VPN
1.1.1.1/32 3.3.3.3 Global
1.1.1.1/32 CE1 Clean
Routing Table • PE2 receives the clean flow within VPN clean
• PE2 does a destination address routing lookup in VPN clean
• A matching route is found in VPN clean
• Flow is forwarded towards CE1 onwards to Server
HOLD on a minute! PE2 does not have any interface part of VPN clean
All interfaces on PE2 are global interfaces so how did that clean route for 1.1.1.1 get into VPN
clean?
PE1
Server is under DDoS
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
How does it work?
101 Internet users
Server Scrubber
ISP
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
Destination Next-hop
VPN
1.1.1.1/32 CE1 Global
1.1.1.1/32 3.3.3.3 Global
1.1.1.1 CE1 clean
BGP Table
PE3
PE2 CE1
Trick # 2 • Copy the locally BGP inserted route
directly into VPN clean BGP table • Neighbour details are inherited from
the global table (i.e.) • Outgoing interface • Next-hop
• Interface pointing towards CE1 is NOT VPN aware
• This VPN clean distributed as normal VPN
• New CLI command to do that import from default-vrf route-policy ddos advertise-as-vpn
Destination Next-hop VPN
1.1.1.1/32 3.3.3.3 Global
1.1.1.1/32 CE1 Clean
Routing Table
PE1
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Going back to traditional traffic flow
102
Internet users
• Remove the routing entry on the Mitigation DDoS RR
• No more route is remaining on the DDoS Mitigation RR
• Traffic flows normally again
Server Scrubber
ISP
Internet and VPN Route-Reflector
1.1.1.1/32
2.2.2.2 3.3.3.3
4.4.4.4
5.5.5.5
Security server
DDoS Route-Reflector
5.5.5.5
Destination Next-hop
1.1.1.1/32 3.3.3.3
PE1
Server is under DDoS
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Configuration (1)
router bgp 99 instance ddos bgp router-id 3.3.3.3 bgp read-only bgp install diversion address-family ipv4 unicast ! router bgp 99 bgp router-id 2.2.2.2 address-family ipv4 unicast !
Creation of DDoS BGP instance
Allows config of 2th IPv4 or IPv6 instance Suppresses BGP Update Generation
Triggers BGP ddos instance to install diversion path to RIB, so that the paths are pushed down to FIB
103
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Configuration (2)
vrf clean address-family ipv4 unicast import from default-vrf route-policy ddos advertise-as-vpn export route-target 111:1 ! ! address-family ipv6 unicast import from default-vrf route-policy ddos advertise-as-vpn export route-target 111:1 ! ! !
Importing the global route’s in the clean VRF
104
© 2013 Cisco and/or its affiliates. All rights reserved. BRKRST-3371 Cisco Public
Maximize your Cisco Live experience with your free Cisco Live 365 account. Download session PDFs, view sessions on-demand and participate in live activities throughout the year. Click the Enter Cisco Live 365 button in your Cisco Live portal to log in.
Complete Your Online Session Evaluation
Give us your feedback and you could win fabulous prizes. Winners announced daily. Receive 20 Cisco Daily Challenge
points for each session evaluation you complete. Complete your session evaluation
online now through either the mobile app or internet kiosk stations.
110