Advances in BGP
BRKRST-3371
Gunter Van de Velde
Sr. Technical Leader
[email protected]What is BGP?
What a Google search bgp abbreviation finds?
Source: http://www.all-acronyms.com/BGP
Without BGP the Internet would not exist in its
current stable and simple form
It is the plumbing technology of the Internet
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
What is BGP? What it truly is?
The
Bloody Good Protocol
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
Agenda
Motivation to Enhance BGP
Scale and Performance Enhancements
What happened in BGP Landscape?
Some new Cool features that may interest you
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
Agenda
Motivation to Enhance BGP
Scale and Performance Enhancements
What happened in BGP Landscape?
Some new Cool features that may interest you
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
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 ASs 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).
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
Control-plane Evolution
Most of services are progressing towards BGP
Service/transport
2008x and before
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
DC Interconnect L2VPN
BGP PW Sign (VPLS)
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)
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
10
Agenda
Motivation to Enhance BGP
Scale and Performance Enhancements
What happened in BGP Landscape?
Some new Cool features that may interest you
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
11
Scale & Performance Enhancements
BGP Scaling
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 parallel
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
12
Scale & Performance Enhancements
PE Scaling
PE-CE Optimization
In old code slow convergence was experienced with large numbers of CEs
Improved by intelligently evaluating VPN prefixes based upon the prefixes in the CEs VRF
VRF-Based Advertise Bits
Increased memory consumption when number of VRFs 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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
13
Slow Peer Management
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
Peers TCP connection characteristics
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
14
Slow Peer Management
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
15
Slow Peer Management
for your
reference
BGP Resiliency/HA Enhancement
Static protection
[no] neighbor slow-peer split-update-group static
Dynamic detection
[no] bgp slow-peer detection [threshold <seconds>]
[no] neighbor slow-peer detection [threshold <seconds>]
Dynamic protection
[no] bgp slow-peer split-update-group dynamic [permanent]
[no] neighbor slow-peer split-update-group dynamic [permanent]
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
16
ASR1000 RP2, RP1, ASR1001 and 7200 BGP Route and Session
for your
Scalability Comparison - RR
reference
7200 NPEG2 (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
<1000
4000
4000
4000
4000
8000
8000
BGP
sessions
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
17
ASR 1000 RP1 and RP2 Convergence Performance Comparison - RR
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)
for your
reference
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
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
18
Agenda
Motivation to Enhance BGP
Scale and Performance Enhancements
What happened in BGP Landscape?
Some new Cool features that may interest you
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
19
What Happened in XR Landscape?
4.0
4.1
4.1.1
RT-Constraint
Add Path Support
Accumulated
Interior Gateway
Protocol (AIGP)
Metric Attribute
Unipath PIC for
non-VPN addressfamilies
(6PE/IPv6/IPv4
Unicast)
BRKRST-3371
4.2
4.2.1
Multi-Instance/Multi-AS
4.2.3
4.2.4
Attribute Filtering and
Error handling
4.3.0
4.3.1
BGP Based DDoS
Mitigation
BGP Accept Own
BGP 3107 PIC Update
for Global Prefixes
Prefix Origin Validation
based on RPKI
PIC for RIB and FIB
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
DMZ Link Bandwidth for
Unequal Cost Recursive
Load Balancing
Selective VRF Download
6PE/6vPE over L2TPv3
Next-Generation
Multicast VPN
20
What Happened in IOS Landscape?
15.2(1)S
15.2(2)S
Gracefull Shutdown
iBGP NSR
mVPN BGP SAFI 129
NSR without Route-Refresh
Origin AS Validation
BRKRST-3371
15.3(1)S
15.2(4)S
15.3(2)S
mVPNv6 Extranet Support
Local-AS allow-policy
RT/VPN-ID Attribute Rewrite Wildcard
VRF Aware Conditional Announcement
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
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
21
What Happened in XE Landscape?
3.8
3.9
Multicast VPN BGP Dampening
Multiple Cluster IDs
VPN Distinguisher Attribute
BRKRST-3371
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.
Cisco Public
22
What Happened NXOS Landscape?
5.2
6.0
Prefix Independent Convergence (Core)
local-as
AS Override (allowas-in)
Disable 4-byte AS advertisement
MP BGP MPLS VPNs, 6PE, MDT
6.1
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
BRKRST-3371
6.2
2013 Cisco and/or its affiliates. All rights reserved.
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
Cisco Public
23
Agenda
Motivation to Enhance BGP
Scale and Performance Enhancements
What happened in BGP Landscape?
Some new Cool features that may interest you
The
Bloody Good Protocol
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
24
PIC Edge Feature Overview
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 BestExternal 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 PECE link failure
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
25
PIC Edge: PE-CE Link Protection
BGP Resiliency/HA Enhancement
Primary
PE1
PE3
RR
Traffic Flow
10.1.1.0/24
VPN1 Site #1
MPLS Cloud
CE1
CE2
PE2
10.2.2.0/24
VPN1 Site
#2
PE4
Backup
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
26
PIC Edge: Link Protection
BGP Resiliency/HA Enhancement
Primary
PE1
PE3
RR
Traffic Flow
10.1.1.0/24
VPN1 Site #1
MPLS Cloud
CE1
CE2
PE2
10.2.2.0/24
VPN1 Site
#2
PE4
Backup
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?
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
27
PIC Edge: Link Protection
BGP Resiliency/HA Enhancement
Primary
PE1
PE3
RR
Traffic Flow
10.1.1.0/24
VPN1 Site #1
MPLS Cloud
CE1
CE2
PE2
10.2.2.0/24
VPN1 Site
#2
PE4
Backup
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
28
PIC Edge: Link Protection
BGP Resiliency/HA Enhancement
Traffic Flow
PE1
Primary
PE3
RR
Withdraw
route
via PE3
MPLS Cloud
10.1.1.0/24
VPN1 Site #1
CE1
CE2
PE2
10.2.2.0/24
VPN1 Site
#2
PE4
Backup
PE3 withdraws route via PE3-CE2 link
Update propagated to remote PE routers
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
29
PIC Edge: Link Protection
BGP Resiliency/HA Enhancement
Primary
PE1
PE3
RR
Withdraw
route
via PE3
MPLS Cloud
10.1.1.0/24
VPN1 Site #1
CE1
CE2
10.2.2.0/24
VPN1 Site
#2
Traffic Flow
PE2
PE4
Backup
BGP on remote PEs selects new bestpath
New bestpath is via PE4
Traffic flows directly to PE4 instead of via PE3
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
30
PIC Edge: Edge Node Protection
BGP Resiliency/HA Enhancement
Primary
PE1
PE3
RR
Traffic Flow
10.1.1.0/24
VPN1 Site #1
MPLS Cloud
CE1
CE2
PE2
10.2.2.0/24
VPN1 Site
#2
PE4
Backup
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
31
PIC Edge: Edge Node Protection
BGP Resiliency/HA Enhancement
Primary
PE1
PE3
RR
Traffic Flow
10.1.1.0/24
VPN1 Site #1
MPLS Cloud
CE1
CE2
PE2
10.2.2.0/24
VPN1 Site
#2
PE4
Backup
PE1 has primary and backup path
Primary via PE3
Backup via PE4 best external route
What happens when node PE3 fails?
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
32
PIC Edge: Edge Node Protection
BGP Resiliency/HA Enhancement
Primary
PE1
PE3
RR
Traffic Flow
PE3s /32
MPLS Cloud host route
removed from
IGP
10.1.1.0/24
VPN1 Site #1
CE1
PE2
CE2
10.2.2.0/24
VPN1 Site
#2
PE4
Backup
BGP Resiliency/HA Enhancement
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
33
PIC Edge: Edge Node Protection
BGP Resiliency/HA Enhancement
Primary
PE1
PE3
RR
Traffic Flow
PE3s /32
MPLS Cloud host route
removed from
IGP
10.1.1.0/24
VPN1 Site #1
CE1
PE2
CE2
10.2.2.0/24
VPN1 Site
#2
PE4
Backup
PE1 detects loss of PE3s /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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
34
Enabling BGP PIC Enabling IP Routing Fast
Convergence
for your
reference
BGP PIC leverages IGP convergence Make sure IGP converges quickly
IOS-XR: IGP Timers pretty-much tuned by default
IOS: Sample OSPF config:
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
35
Enabling BGP PIC Edge: IOS-XR
for your
reference
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
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
!
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
36
Enabling BGP PIC Edge: IOS
for your
reference
As in IOS-XR, PIC-Edge w/ multipath requires no additional configuration
PIC-Edge unipath needs to be enabled explicitly ...
router bgp ...
address-family ipv4 [vrf ...]
or
address-family vpnv4
bgp additional-paths install
... or implicitly when enabling best external
router bgp ...
address-family ipv4 [vrf ...]
or
address-family vpnv4
bgp advertise-best-external
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
37
Question: How will my PEs learn about the
alternate Paths?
By default my RR Only-Reflects the Best-Route
NH:PE2, P:Z
Prefix Z
Via E0
NH:PE2, P:Z
RR
E0
PE2
Prefix Z
Via PE2
Z
E0
NH:PE3, P:Z
PE1
PE3
Prefix Z
Via E0
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
38
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
NH:PE2, P:Z
Prefix Z
Via PE2
Via PE3
RR1
NH:PE2, P:Z
PE2
NH:PE3, P:Z
Z
PE1
NH:PE3, P:Z
PE3
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
39
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.
RR1
Prefix Z
Via PE2
Via PE3
NH:PE2, P:Z AP 1
NH:PE2, P:Z
PE2
NH:PE3, P:Z AP 2
Z
PE1
NH:PE3, P:Z
PE3
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
40
BGP Add-path flavors
for your
reference
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
Cisco innovation: Add-all-multipath and Add-all-multipath+backup in XR 4.3.1
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
41
Add-Path Applications
Fast convergence / connectivity restoration As the ingress routers have visibility to more
paths, they can switch to the backup paths faster once the primary path goes away. Requires
backup paths to be sent.
Load balancing As the ingress routers have visibility to more paths, they can do ECMP on
multiple paths. Requires either backup paths or all paths to be sent.
Churn reduction since alternate paths are available, withdraws can be suppressed (implicit
update).
Route oscillation see RFC 3345 for scenarios. Requires group best paths (in some cases all
paths) to be sent.
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
42
Add-Path Configuration IOS-XR
for your
reference
Enable in global address-family mode
Enables for all IBGP neighbors
Enable/Disable in neighbor mode
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
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
!
Cisco Public
43
Add-Path Configuration IOS-XR
Enable in global address-family mode
Enables for all IBGP neighbors
Enable/Disable in neighbor mode
BRKRST-3371
for your
reference
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
!
!
!
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
44
Add-Path Configuration IOS-XR
for your
reference
Path selection is configured in a route-policy
Configuration in VPNv4 mode applies to all VRF IPv4-Unicast AF modes
unless overridden at individual VRFs
route-policy ap1
if community matches-any (1:1) then
set path-selection backup 1 install
elseif destination in (150.0.0.0/16, 151.0.0.0/16) then
set path-selection backup 1 advertise install
endif
end-policy
!
route-policy ap2
set path-selection all advertise
end-policy
!
route-policy ap3
set path-selection backup 1 install
end-policy
!
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
45
Add-Path Configuration IOS-XR
Add-Path Path Selection
BRKRST-3371
for your
reference
router bgp 100
address-family ipv4 unicast
additional-paths selection route-policy ap1
!
address-family vpnv4 unicast
additional-paths selection route-policy ap2
!
vrf foo
rd 1:1
address-family ipv4 unicast
additional-paths selection route-policy ap3
!
!
vrf bar
rd 2:2
address-family ipv4 unicast
!
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
46
PIC Edge: Test Results
for your
reference
BGP Resiliency/HA Enhancement
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
47
Automated Route Target Filtering
BGP Feature
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
48
Automated Route Target Filtering
BGP Feature
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
49
Automated Route Target Filtering
RT-Constraint:
VRF- Blue
RT-Constraint:
NLRI= {VRF-Blue, VRF-Red}
VRF- Green
NLRI= {VRF-Green, VRF-Purple}
VRF- Red
PE-3
VRF- Purple
RT-Constraint:
PE-1
NLRI= {VRF-Blue, VRF-Red, VRF-Green}
RR-1
RR-2
RT-Constraint:
NLRI={VRF-Green, VRF-Purple, VRF-Blue}
VRF- Red
VRF- Green
RT-Constraint:
PE-4
NLRI= {VRF-Red, VRF-Green}
VRF- Purple
VRF- Blue
RT-Constraint:
NLRI= {VRF-Purple, VRF-Blue}
PE-2
Improves PE and RR scaling and performance by sending only relevant VPN
routes
router bgp as-number
address-family rtfilter unicast
neighbor {ip-address | peer-group-name} activate
neighbor {ip-address | peer-group-name} send-community extended
end
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
50
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 serviceVRF 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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
51
Overview AIGP
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.
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
52
Overview AIGP
for your
reference
Sending/Receiving AIGP attribute
Per-session configuration
Enabled for iBGP session by default
Disabled for eBGP session by default, a knob to enable the AIGP
capability
AIGP attribute received on an AIGP-disabled sessions should be
treated as an unrecognized non-transitive attribute.
Origination of AIGP metric
By configuration
BRKRST-3371
Redistribution IGP or static
BGP network
Inbound/outbound policy
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
53
Overview AIGP
for your
reference
Modification of AIGP attribute
By Originator
A new BGP update should be issued
Configurable threshold to minimize IGP instability not in 4.0
By non-originator
When NH is not changed no change for the AIGP attribute value
When NH is changed to non-recursive IGP or static route increase
the AIGP attribute value by the NH distance
When NH is changed to recursive BGP-learned or static route
increase the AIGP attribute value by recursively resolving and
increasing the AIGP attribute value of the NHs until either the NH is
non-recursive or the NH is a BGP route without AIGP attribute
AIGP value change triggers new AIGP computation for the route
AIGP carried across different AS with different IGP domain may not offer a
meaningful result.
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
54
Overview AIGP
Modified best path calculation
Modifications in the tie breaking procedures
Changes made after local_preference comparison
When a route has AIGP attribute
for your
reference
Remove from considering routes without AIGP attribute
- this can be overruled by configuring a knob
Compare routes of the cumulative AIGP value
When the NH has AIGP attribute
Compute the interior cost as the cumulative AIGP value for the NH
Compare routes using the modified IGP cost
Update generation
Different update groups for neighbors of AIGP-capable, non-AIGP capable or
neighbors enabled to send AIGP value in cost-community.
BGP update is generated upon AIGP value change
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
55
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 XR4.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.
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
56
AIGP: Originating AIGP
AIGP
for your
reference
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.
route-policy set_aigp_1
if destination in (61.1.1.0/24 le 32) then
set aigp-metric 111
router bgp 1
address-family ipv4 unicast
redistribute ospf 1 route-policy set_aigp_1
elseif destination in (2100::1:0/112,
2100::2:0/112) then
set aigp-metric igp-cost
Endif
end-policy
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
57
AIGP capability verification #1:
for your
reference
RP/0/0/CPU0:router-RR#show bgp neighbor 110.33.33.3
BGP neighbor is 110.33.33.3
Remote AS 1, local AS 1, internal link
Remote router ID 110.30.30.3
Cluster ID 110.50.50.5
BGP state = Established, up for 3w4d
NSR State: NSR Ready
Last read 00:00:24, Last read before reset 00:00:00
Hold time is 180, keepalive interval is 60 seconds
Configured hold time: 180, keepalive: 60, min acceptable hold time: 3
Last write 00:00:55, attempted 19, written 19
Second last write 00:01:55, attempted 19, written 19
Last write before reset 00:00:00, attempted 0, written 0
Second last write before reset 00:00:00, attempted 0, written 0
Last write pulse rcvd Aug 6 11:48:49.296 last full Jul 12 12:05:24.042 pulse count
72908
Last write pulse rcvd before reset 00:00:00
Socket not armed for io, armed for read, armed for write
Last write thread event before reset 00:00:00, second last 00:00:00
Last KA expiry before reset 00:00:00, second last 00:00:00
Last KA error before reset 00:00:00, KA not sent 00:00:00
Last KA start before reset 00:00:00, second last 00:00:00
Precedence: internet
Non-stop routing is enabled
Graceful restart is enabled
Restart time is 120 seconds
Stale path timeout time is 360 seconds
Neighbor capabilities:
Route refresh: advertised and received
Graceful Restart (GR Awareness): received
4-byte AS: advertised and received
Address family IPv4 Unicast: advertised and received
Address family IPv4 Labeled-unicast: advertised and received
Address family VPNv4 Unicast: advertised and received
Address family IPv6 Labeled-unicast: advertised and received
Address family VPNv6 Unicast: advertised and received
Received 36025 messages, 0 notifications, 0 in queue
Sent 42771 messages, 0 notifications, 0 in queue
MinimumBRKRST-3371
time between advertisement runs is
0 2013
secsCisco and/or its affiliates. All rights reserved.
For Address Family: IPv4 Unicast
BGP neighbor version 34101
Update group: 0.3
Route-Reflector Client
AF-dependent capabilities:
Graceful Restart capability advertised and received
Neighbor preserved the forwarding state during latest restart
Local restart time is 120, RIB purge time is 600 seconds
Maximum stalepath time is 360 seconds
Remote Restart time is 120 seconds
Additional-paths Send: advertised
Additional-paths Receive: advertised and received
Route refresh request: received 0, sent 0
0 accepted prefixes, 0 are bestpaths
Cumulative no. of prefixes denied: 0.
Prefix advertised 31470, suppressed 0, withdrawn 3525
Maximum prefixes allowed 524288
Threshold for warning message 75%, restart interval 0 min
AIGP is enabled
An EoR was received during read-only mode
Last ack version 34101, Last synced ack version 34101
Outstanding version objects: current 0, max 4
Additional-paths operation: Send
Cisco Public
58
AIGP metric verification #2:
receive route with AIGP metric from RR
best-path calculation considered AIGP metric
for your
reference
RP/0/1/CPU0:olympic-12c-lr1#sh bgp 61.1.1.0/24 bestpath-compare
BGP routing table entry for 61.1.1.0/24
Versions:
Process
bRIB/RIB SendTblVer
Speaker
31709
31709
Last Modified: Aug 6 06:05:44.392 for 00:26:12
Paths: (2 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
110.11.11.1 (metric 2) from 110.55.55.5 (110.10.10.1)
Origin incomplete, metric 3, localpref 100, aigp metric 111, valid, internal, best, groupbest
Received Path ID 1, Local Path ID 1, version 31709
Originator: 110.10.10.1, Cluster list: 110.50.50.5
best of local AS, Overall best
Path #2: Received by speaker 0
Not advertised to any peer
Local
110.22.22.2 (metric 2) from 110.55.55.5 (110.20.20.2)
Origin incomplete, metric 3, localpref 100, aigp metric 211, valid, internal, backup,
add-path
Received Path ID 3, Local Path ID 3, version 31709
Originator: 110.20.20.2, Cluster list: 110.50.50.5
Higher AIGP metric than best path (path #1)
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
RP/0/1/CPU0:olympic-12c-lr1#sh route 61.1.1.0/24
Routing entry for 61.1.1.0/24
Known via "bgp 1", distance 200, metric 113 (AIGP metric)
Number of pic paths 1 , type internal
Installed Aug 6 06:05:44.152 for 00:33:50
Routing Descriptor Blocks
110.11.11.1, from 110.55.55.5
Route metric is 113
110.22.22.2, from 110.55.55.5, BGP backup path
Route metric is 113
No advertising protos.
Cisco Public
59
What is Multi-Instance BGP?
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
60
What is Multi-AS BGP?
It will be possible to configure each instance of a multi-instances BGP with a
different AS number
Global address families cant 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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
61
Why Multi-Instance/Multi-AS?
It provides a mechanism to consolidate the services provided by
multiple routers using a common routing infrastructure into a single
IOS-XR router
It provides a mechanism to achieve AF isolation by configuring the
different AFs in different BGP instances
It provides a means to achieve higher session scale by distributing
the overall peering sessions between multiple instances
It provides a mechanism to achieve higher prefix scale (especially
on a RR) by having different instances carrying different BGP tables
IOS-XR CRS Multi-chassis systems can be used optimally by
placing the different BGP instances on different RP/DRPs
It is the base of Ciscos SP DDoS Mechanism
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
62
Configuration Example
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
for your
reference
Cisco Public
63
Show Command Example
for your
reference
RP/0/0/CPU0:ios#sh bgp instances
Number of BGP instances: 4
ID Placed-Grp Name
AS
VRFs
Address Families
-------------------------------------------------------------------------------0
v4_routing ipv4
1
0
IPv4 Unicast
1
bgp2_1
ipv6
1
0
IPv6 Unicast
2
bgp3_1
vpn1
3
1
VPNv4 Unicast
3
bgp4_1
vpn2
3
1
VPNv4 Unicast
RP/0/0/CPU0:ios#sh bgp instance ?
WORD Specify the bgp instance name
all
Choose all BGP instances
RP/0/0/CPU0:ios#sh bgp instance all ?
A.B.C.D
IPv4 network
A.B.C.D/length
IPv4 network and masklength
advertised
Show advertised routes
af-group
Show config information on address family groups
all
Both ipv4 and ipv6 address families
attribute-key
Display networks with their associated attribute key index
cidr-only
Display only routes with non-natural netmasks
community
Display routes matching the communities
convergence
Test an address family for convergence
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
64
Show Command Example
for your
reference
RP/0/0/CPU0:ios#sh bgp instance all sessions
Wed Sep 28 20:45:56.917 PDT
BGP instance 0: 'ipv4'
======================
Neighbor
10.0.101.1
VRF
default
Spk
0
AS
1
InQ
0
OutQ
0
NBRState
Established
NSRState
-
Spk
1
AS
1
InQ
0
OutQ
0
NBRState
Established
NSRState
-
Spk
2
AS
200
InQ
0
OutQ
0
NBRState
Established
NSRState
-
Spk
3
AS
200
InQ
0
OutQ
0
NBRState
Established
NSRState
-
BGP instance 1: 'ipv6'
======================
Neighbor
10.0.101.2
VRF
default
BGP instance 2: 'vpn1'
======================
Neighbor
20.0.101.1
VRF
default
BGP instance 3: 'vpn2'
======================
Neighbor
20.0.101.2
BRKRST-3371
VRF
default
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
65
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
66
Architecture
Malformed BGP Updates
Invalid
Attribute Contents
Transitive Attributes
Wrong Attribute
Length
Unknown Attributes
Unwanted Attributes
Attribute Filtering
Error-handling
NLRI processing
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
67
Attribute filtering
for your
reference
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
68
Error-handling
for your
reference
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
69
Error-handling details
for your
reference
Classification of errors
Minor: invalid flags, zero length, duplicates, optional-transitive attributes
Medium: Non-optional-transitive attributes, inconsistent attribute length
Major: Invalid or 0 length nexthop
Critical: NLRI parsing, inconsistent message / total attributes length
Actions taken
Local repair
Discard attribute
Treat-as-withdraw
Reset session
Discard Update message
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
70
BGP Origin Validation
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
71
Prefix hijacking
Announce someone elses prefix
Announce a more specific of someone elses prefix
Either way, you are trying to steal someone elses traffic by getting it routed to
you
Capture, sniff, redirect, manipulate traffic as you wish
Source: nanog 46 preso
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
72
How does the Solution look like?
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
73
Configuration sample
for your
reference
router bgp 64726
bgp always-compare-med
bgp log-neighbor-changes
bgp deterministic-med
no bgp default ipv4-unicast
bgp rpki server tcp 217.193.137.117 port 30000 refresh 60
bgp rpki server tcp 2001:918:FFF9:0:250:56FF:FE15:159 port 8282 refresh 60
bgp rpki server tcp 2001:918:FFF9:0:250:56FF:FE15:159 port 30000 refresh 60
bgp rpki server tcp 217.193.137.117 port 8282 refresh 600
neighbor 2001:428:7000:A:0:1:0:1 remote-as 64209
neighbor 2001:428:7000:A:0:1:0:1 description "To Qwest MPLS"
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
74
Valid vs Unknown vs Invalid routes?
for your
reference
JSV-ASR#sho bgp sum
BGP router identifier 66.77.8.142, local AS number 64726
BGP table version is 11688639, main routing table version 11688639
Path RPKI states: 38286 valid, 1574331 not found, 4558 invalid
404300 network entries using 59836400 bytes of memory
1617175 path entries using 103499200 bytes of memory
66778/66761 BGP path/bestpath attribute entries using 9081808 bytes of memory
62642 BGP AS-PATH entries using 2273670 bytes of memory
1347 BGP community entries using 70456 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 174761534 total bytes of memory
808583 received paths for inbound soft reconfiguration
BGP activity 744131/330548 prefixes, 7084275/5448612 paths, scan interval 60 secs
Neighbor
63.231.216.9
65.119.97.101
66.77.8.129
66.77.8.130
66.77.8.150
JSV-ASR#
BRKRST-3371
V
4
4
4
4
4
AS MsgRcvd MsgSent
TblVer
64726
17784
17789 11688639
64209
0
0
1
209 216390
4021 11688634
209 212278
4020 11688634
64726
70180 227968 11688639
2013 Cisco and/or its affiliates. All rights reserved.
InQ OutQ Up/Down State/PfxRcd
0
0 1d01h
3
0
0 16:57:38 Idle (Admin)
0
0 2d12h
404293
0
0 2d12h
404290
0
0 1d16h
3
Cisco Public
75
What do you see in the BGP table?
for your
reference
JSV-ASR#sho bgp
BGP table version is 11698585, local router ID is 66.77.8.142
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
V*>
V* i
N*
N*>
N*
N*>
N*
i
N*>
i
N*
N*>
N*
N*>
N*
Network
0.0.0.0/1
0.0.0.0
1.0.0.0/24
1.0.4.0/22
1.0.16.0/23
1.0.18.0/23
1.0.20.0/23
BRKRST-3371
Next Hop
0.0.0.0
66.77.8.150
66.77.8.130
66.77.8.129
66.77.8.130
66.77.8.129
66.77.8.130
Metric LocPrf Weight Path
0
32768 i
0
100
100 i
0
1000 209 i
0
1000 209 i
7800038
1000 209 15169 i
7800038
1000 209 15169 i
8000039
1000 209 4323 7545 7545 7545 7545 56203
66.77.8.129
8000039
1000 209 4323 7545 7545 7545 7545 56203
66.77.8.130
66.77.8.129
66.77.8.130
66.77.8.129
66.77.8.130
8000039
8000039
8000039
8000039
8000039
1000
1000
1000
1000
1000
2013 Cisco and/or its affiliates. All rights reserved.
209
209
209
209
209
2914
2914
2914
2914
2914
2519
2519
2519
2519
2519
i
i
i
i
i
Cisco Public
76
Multicast VPN Solution Space
(complete solution is now available)
Service
IPv4
IPv6
Native
Native
C-Multicast
Signaling
Core Tree
Signaling
Encapsulation
/Forwarding
BRKRST-3371
IPv4
IPv6
mVPN
mVPN
PORT
PIM
BGP
PIM
MLDP
P2MP TE
(pt-mpt)
(pt-mpt | mpt-mpt)
(pt-mpt)
IP/GRE
2013 Cisco and/or its affiliates. All rights reserved.
LSM
Cisco Public
77
Multicast VPN BGP Signaling
BGP Auto-Discovery
RR
PE3
PE1
Source
CE1
PIM C-Join
(*,G) or (S,G)
BGP
CE3
Receiver
CE4
Receiver
PIM C-Join
(*,G) or (S,G)
BGP C-mroutes
PE2
RP
CE2
PE4
BGP customer-multicast signaling and BGP
auto-discover is now added to the multicast
VPN solution.
Auto-Discovery of PEs and
Core tree/tunnel information
BGP as overlay allows Service Providers to
capitalize on a single protocol
Advertisement of Customer
Multicast routes
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
78
BGP Graceful Shutdown
BGP Graceful Shutdown allows to do maintenance on router
without service disruption.
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 RRs have worsened the
issue as they tend to hide the
alternate path as they only forward
the best path
BRKRST-3371
#Graceful Shutdown
Please wait
2
BGP/ Prefix 10.45 / localpref : 10
Traffic is
redirected
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
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
79
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.
neighbor {ipv4-address | ipv6-address | peer-group-name} shutdown graceful seconds {community
value [local-preference value] | local-preference value}
http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_bgp/configuration/15-s/irg-15-s-book.pdf
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
80
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
IOS-XR 4.3.1
IOS-XE partial
Phase I
BRKRST-3371
ACL
RTBH
PBR
uRPF
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
81
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
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
82
DDOS impact on Customer Business
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
83
DDOS impact on customer Business
for your
reference
Enterprise customer cant defend themselve, when
DDoS hit the FW its already too late.
SP could protect enterprise by cleaning DDoS traffic at
ingress peering point.
New revenue for SP.
Mandated service to propose to Financial and visible
customers.
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
84
DDoS trends (Nanog source)
for your
reference
Any Internet Operator Can Be a Target for
DDoS
Ideologically-motivated Hacktivism and On-line
vandalism DDoS attacks are the most commonly
identified attack motivations
Size and Scope of Attacks Continue to Grow
at an Alarming Pace
High-bandwidth DDoS attacks are the new normal
as over 40% of respondents report attacks greater
than 1 Gbps and 13% report attacks greater than
10Gbps
Increased sophistication and complexity of layer-7
DDoS attacks, multi-vector DDoS attacks
becoming more common
First-Ever Reports of IPv6 DDoS Attacks 'in
the Wild' on Production Networks
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
85
DDoS mitigation architecture
1. Detection (no DDoS)
Scan Netflow data
to detect DDOS attacks
Security
Server
DDOS
Analyser
Sample
Netflow
DDOS
scrubber
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
86
DDoS mitigation architecture
2. Detection (DDOS)
Scan Netflow data
Find DDOS signature
Security
Server
DDOS
Analyser
Sample
Netflow
DDOS
scrubber
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
87
DDoS mitigation architecture
3. Redirect traffic to DDOS scruber
Scan Netflow data
Find DDoS signature
Security
Server
DDoS
Analyser
BGP DDoS Mitigation
Action: redirect to DDoS
scrubber
DDoS
scrubber
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
88
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 PEs
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
89
The concept
Traffic under normal conditions
Traffic under normalized
conditions
Traffic takes shortest path
Upstream and downstream traffic follow
traditional routing
Server
Scrubber
PE2
PE3
Pre-provisioned DDoS
instrumentation
Security analyser
Security server
ISP
PE1
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
Internet users
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
90
BGP based DDoS
Traffic under DDoS condition
Traffic under DDoS condition
Server
Scrubber
PE2
Traffic is redirected to a scrubber
Scrubber separates the clean from
the malicious traffic
Clean traffic is returned to original
destination server
PE3
Security analyser
Security server
Goal
ISP
PE1
Do not drop all traffic
Collect traffic intelligence
Operational simplicity
Easy to remove redirect when traffic
normalizes
Internet users
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
91
How does it work?
Normal traffic condition
Internet and VPN
Route-Reflector
5.5.5.5
Server
Scrubber
2.2.2.2
3.3.3.3
PE2
PE3
1.1.1.1/32
All PEs peer with the RR
All PEs exchange both Global
Internet and VPN prefixes
All PE interfaces are non-VPN
Security analyser is performing
doing analyses
Security analyser
Security server
ISP
4.4.4.4
PE1
Destination
Next-hop
1.1.1.1/32
2.2.2.2
Internet users
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
92
How does it work?
Server is under DDoS
Internet and VPN
Route-Reflector
5.5.5.5
Server
Scrubber
2.2.2.2
3.3.3.3
PE2
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
PE3
1.1.1.1/32
Security analyser
Security server
ISP
4.4.4.4
PE1
Destination
Next-hop
1.1.1.1/32
2.2.2.2
Internet users
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
93
How does it work?
Server is under DDoS
Internet and VPN
Route-Reflector
DDoS
Route-Reflector
5.5.5.5
6.6.6.6
Destination
Next-hop
1.1.1.1/32
3.3.3.3
Server
Scrubber
2.2.2.2
3.3.3.3
PE2
PE3
1.1.1.1/32
Security server
ISP
4.4.4.4
PE1
DDoS Route-Reflector was previsioned
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
Internet users
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
94
How does it work?
Server is under DDoS
Internet and VPN
Route-Reflector
DDoS
Route-Reflector
5.5.5.5
6.6.6.6
Destination
Next-hop
1.1.1.1/32
3.3.3.3
Server
Scrubber
2.2.2.2
3.3.3.3
PE2
PE3
1.1.1.1/32
Security server
Mitigation route to 1.1.1.1/32 is
pointing to 3.3.3.3 is signalled to all
PEs
All PEs 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?
ISP
4.4.4.4
PE1
BGP Table
Destination
Next-hop
1.1.1.1/32
2.2.2.2
1.1.1.1/32
3.3.3.3
Routing Table
Destination
Next-hop
1.1.1.1/32
????????????
Internet users
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
95
How does it work?
Server is under DDoS
Trick # 1
Internet and VPN
Route-Reflector
DDoS
Route-Reflector
5.5.5.5
6.6.6.6
Server
Scrubber
2.2.2.2
3.3.3.3
PE2
PE3
1.1.1.1/32
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
Security server
ISP
4.4.4.4
PE1
BGP Table
Destination
Next-hop
1.1.1.1/32
2.2.2.2
1.1.1.1/32
3.3.3.3
Routing Table
Destination
Next-hop
1.1.1.1/32
3.3.3.3
Internet users
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
96
How does it work?
Server is under DDoS
Internet and VPN
Route-Reflector
DDoS
Route-Reflector
5.5.5.5
6.6.6.6
Clean
traffic
Server
Scrubber
2.2.2.2
3.3.3.3
PE2
PE3
1.1.1.1/32
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))
ISP
4.4.4.4
PE1
BGP Table
Internet users
BRKRST-3371
Destination
Next-hop
1.1.1.1/32
2.2.2.2
1.1.1.1/32
3.3.3.3
2013 Cisco and/or its affiliates. All rights reserved.
Routing Table
Destination
Next-hop
1.1.1.1/32
3.3.3.3
Cisco Public
97
How does it work?
Server is under DDoS
Problem
Internet and VPN
Route-Reflector
DDoS
Route-Reflector
5.5.5.5
6.6.6.6
Clean
traffic
Server
Scrubber
2.2.2.2
3.3.3.3
PE2
PE3
1.1.1.1/32
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 Preprovisioned Inside a VPN
ISP
4.4.4.4
PE1
BGP Table
Internet users
BRKRST-3371
Destination
Next-hop
1.1.1.1/32
2.2.2.2
1.1.1.1/32
3.3.3.3
2013 Cisco and/or its affiliates. All rights reserved.
Routing Table
Destination
Next-hop
1.1.1.1/32
3.3.3.3
Cisco Public
98
How does it work?
Server is under DDoS
Server
Scrubber
2.2.2.2
3.3.3.3
PE2
PE3
1.1.1.1/32
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
ISP
4.4.4.4
PE1
BGP Table
Internet users
BRKRST-3371
VPN Clean
Destination
Next-hop
1.1.1.1/32
2.2.2.2
1.1.1.1/32
3.3.3.3
2013 Cisco and/or its affiliates. All rights reserved.
Routing Table
Destination
Next-hop
VPN
1.1.1.1/32
3.3.3.3
Global
1.1.1.1/32
2.2.2.2
Cisco Public
Clean
99
How does it work?
Routing Table
Server is under DDoS
Destination
Next-hop
VPN
1.1.1.1/32
3.3.3.3
Global
1.1.1.1/32
CE1
Clean
Server
Scrubber
2.2.2.2
CE1
3.3.3.3
PE2
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
PE3
1.1.1.1/32
ISP
4.4.4.4
HOLD on a minute!
PE1
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?
Internet users
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
100
How does it work?
Routing Table
BGP Table
Destination
Nexthop
VPN
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/32
3.3.3.3
Global
1.1.1.1/32
CE1
Clean
1.1.1.1
CE1
clean
Trick # 2
Server
Scrubber
2.2.2.2
CE1
3.3.3.3
PE2
PE3
1.1.1.1/32
ISP
4.4.4.4
PE1
Internet users
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
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
Cisco Public
101
Going back to traditional traffic flow
Server is under DDoS
Internet and VPN
Route-Reflector
DDoS
Route-Reflector
5.5.5.5
5.5.5.5
Destination
Next-hop
1.1.1.1/32
3.3.3.3
Server
Scrubber
2.2.2.2
3.3.3.3
1.1.1.1/32
Security server
ISP
4.4.4.4
Remove the routing entry on the
Mitigation DDoS RR
No more route is remaining on
the DDoS Mitigation RR
Traffic flows normally again
PE1
Internet users
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
102
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
!
BRKRST-3371
for your
reference
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
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
103
Configuration (2)
Importing the global routes in the clean VRF
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
!
!
!
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
104
show commands
for your
reference
RP/0/0/CPU0:hydra-prp-A#show route
Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
U - per-user static route, o - ODR, L - local, G - DAGR
A - access/subscriber, a - Application route, (!) - FRR Backup path
Gateway of last resort is not set
O
O
L
O
O
B
[...]
BRKRST-3371
1.0.11.0/24 [110/2] via 13.0.3.1, 00:36:19, GigabitEthernet0/2/1/5
1.1.1.1/32 [110/2] via 13.0.3.1, 00:36:19, GigabitEthernet0/2/1/5
2.2.2.2/32 is directly connected, 00:37:24, Loopback0
3.3.3.3/32 [110/2] via 87.0.1.2, 00:36:19, GigabitEthernet0/2/1/9
4.4.4.4/32 [110/3] via 13.0.3.1, 00:36:19, GigabitEthernet0/2/1/5
[110/3] via 87.0.1.2, 00:36:19, GigabitEthernet0/2/1/9
5.5.5.5/32 [200/0] via 1.1.1.1, 00:34:22
B > [200/0] via 123.0.0.2, 00:34:22
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
105
show commands (1)
for your
reference
RP/0/0/CPU0:hydra-prp-A#show route
Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, su - IS-IS summary null, * - candidate
default
U - per-user static route, o - ODR, L - local, G - DAGR
A - access/subscriber, a - Application route, (!) - FRR Backup path
Gateway of last resort is not set
O
O
L
O
O
1.0.11.0/24 [110/2] via 13.0.3.1, 00:36:19, GigabitEthernet0/2/1/5
1.1.1.1/32 [110/2] via 13.0.3.1, 00:36:19, GigabitEthernet0/2/1/5
2.2.2.2/32 is directly connected, 00:37:24, Loopback0
3.3.3.3/32 [110/2] via 87.0.1.2, 00:36:19, GigabitEthernet0/2/1/9
4.4.4.4/32 [110/3] via 13.0.3.1, 00:36:19, GigabitEthernet0/2/1/5
[110/3] via 87.0.1.2, 00:36:19, GigabitEthernet0/2/1/9
B
5.5.5.5/32 [200/0] via 1.1.1.1, 00:34:22
B > [200/0] via 123.0.0.2, 00:34:22
[...]
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
106
show commands (2)
for your
reference
RP/0/0/CPU0:hydra-prp-A#show route 5.5.5.5/32
Routing entry for 5.5.5.5/32
Known via "bgp 2394-ro", distance 200, metric 0, type internal
Installed Feb 19 22:56:45.896 for 00:34:33
Routing Descriptor Blocks
1.1.1.1, from 1.1.1.1
Route metric is 0
123.0.0.2, from 101.0.0.4, Diversion Path (bgp)
Route metric is 0
No advertising protos.
RP/0/0/CPU0:hydra-prp-A#show cef 5.5.5.5/32 det
5.5.5.5/32, version 60652, internal 0x14000001 (ptr 0xaf6e3840) [1], 0x0 (0x0), 0x0 (0x0)
Updated Feb 19 22:56:46.723
local adjacency 87.0.1.2
Prefix Len 32, traffic index 0, precedence n/a, priority 4
gateway array (0xae07a310) reference count 2, flags 0x8020, source rib (5), 0 backups
[1 type 3 flags 0xd0141 (0xae10f8c0) ext 0x420 (0xaec261e0)]
LW-LDI[type=0, refc=0, ptr=0x0, sh-ldi=0x0]
via 123.0.0.2, 2 dependencies, recursive [flags 0x6000]
path-idx 0 [0xaf6e3c00 0x0]
next hop 123.0.0.2 via 123.0.0.0/24
Load distribution: 0 (refcount 1)
Hash
0
BRKRST-3371
OK
Y
Interface
GigabitEthernet0/2/1/9
Address
87.0.1.2
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
107
show commands (3)
for your
reference
RP/0/0/CPU0:hydra-prp-A# show route 123.0.0.2
Routing entry for 123.0.0.0/24
Known via "ospf 100", distance 110, metric 2, type intra area
Installed Feb 19 22:54:48.363 for 00:39:01
Routing Descriptor Blocks
87.0.1.2, from 3.3.3.3, via GigabitEthernet0/2/1/9
Route metric is 2
No advertising protos.
RP/0/0/CPU0:hydra-prp-A#
RP/0/0/CPU0:hydra-prp-A#show route 1.1.1.1
Routing entry for 1.1.1.1/32
Known via "ospf 100", distance 110, metric 2, type intra area
Installed Feb 19 22:54:49.259 for 00:49:20
Routing Descriptor Blocks
13.0.3.1, from 1.1.1.1, via GigabitEthernet0/2/1/5
Route metric is 2
No advertising protos.
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
108
Summary
Motivation to Enhance BGP
Scale and Performance Enhancements
What happened in BGP Landscape?
Some new Cool features that may interest you
Bloody Good Protocol
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
109
110
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.
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.
BRKRST-3371
2013 Cisco and/or its affiliates. All rights reserved.
Cisco Public
111