Professional Documents
Culture Documents
Smith BGP Techniques N44 PDF
Smith BGP Techniques N44 PDF
Smith BGP Techniques N44 PDF
Providers
Will be available on
ftp://ftp-eng.cisco.com
/pfs/seminars/NANOG44-BGP-Techniques.pdf
And on the NANOG44 website
BGP Basics
Scaling BGP
Using Communities
Deploying BGP in an ISP network
What is BGP?
Described in RFC4271
RFC4276 gives an implementation report on BGP
RFC4277 describes operational experiences using BGP
AS 100
See www.iana.org/assignments/as-numbers
A C
AS 100 AS 101
B D
A C
DMZ
AS 100 Network AS 101
B D
AS 102
AS 100 AS 101
C
AS 100
B
A
C
Topology independent
Each iBGP speaker must peer with every other iBGP
speaker in the AS
NANOG 44 © 2008 Cisco Systems, Inc. All rights reserved. 16
Peering to Loopback Interfaces
AS 100
Sequence of ASes a
route has traversed AS 200 AS 100
170.10.0.0/16 180.10.0.0/16
Used for:
Loop detection 180.10.0.0/16 300 200 100
Applying policy 170.10.0.0/16 300 200
AS 300
AS 400
150.10.0.0/16
AS 200 AS 100
170.10.0.0/16 180.10.0.0/16
150.10.1.1 150.10.1.2
iBGP C
AS 200
A B
150.10.0.0/16 eBGP AS 300
150.10.0.0/16 150.10.1.1
160.10.0.0/16 150.10.1.1
AS 100
160.10.0.0/16 eBGP – address of external neighbour
iBGP – NEXT_HOP from eBGP
Mandatory non-transitive attribute
NANOG 44 © 2008 Cisco Systems, Inc. All rights reserved. 22
iBGP Next Hop
120.1.2.0/23
120.1.1.0/24
iBGP C
Loopback
120.1.254.3/32
Loopback B
120.1.254.2/32
AS 300
D
120.1.1.0/24 120.1.254.2
Next hop is ibgp router loopback address 120.1.2.0/23 120.1.254.3
AS 200
120.68.1.0/24 150.1.1.3
C
150.1.1.1 eBGP between Router A
and Router C
eBGP between RouterA and
150.1.1.2 150.1.1.3 RouterB
A B 120.68.1/24 prefix has next
hop address of 150.1.1.3 –
this is passed on to RouterC
120.68.1.0/24 instead of 150.1.1.2
AS 201
More efficient
No extra config needed
NANOG 44 © 2008 Cisco Systems, Inc. All rights reserved. 24
Next Hop Best Practice
AS 100
160.10.0.0/16
AS 200 AS 300
D 500 800 E
A B
160.10.0.0/16 500
AS 400
> 160.10.0.0/16 800
C
C D
AS 201
32 bit integer
Represented as two 16 bit integers (RFC1998)
Common format is <local-ASN>:xx
0:0 to 0:65535 and 65535:0 to 65535:65535 are reserved
A B
AS 100 AS 200
160.10.0.0/16 170.10.0.0/16
A B
AS 100 AS 200
160.10.0.0/16 170.10.0.0/16
105.7.X.X D
A
105.7.0.0/16
AS 100 AS 200 G
B E
C F
AS100 announces aggregate and subprefixes
Intention is to improve loadsharing by leaking subprefixes
Subprefixes marked with no-export community
Router G in AS200 does not announce prefixes with no-export
community set
NANOG 44 © 2008 Cisco Systems, Inc. All rights reserved. 38
No-Peer Community
105.7.0.0/16 upstream
105.7.X.X No-Peer D C&D&E are
peers e.g.
Tier-1s
105.7.0.0/16
upstream
E
A
upstream
B
In multi-vendor environments:
Make sure the path selection processes are understood for
each brand of equipment
Each vendor has slightly different implementations, extra steps,
extra features, etc
Watch out for possible MED confusion
Extending BGP
BGP Basics
Scaling BGP
Using Communities
Deploying BGP in an ISP network
Route Refresh
Route Reflectors
Confederations
Route Refresh
13 Routers ⇒
n=1000 ⇒ nearly 78 iBGP
half a million Sessions!
ibgp sessions!
Two solutions
Route reflector – simpler to deploy and run
Confederation – more complex, has corner case advantages
NANOG 44 © 2008 Cisco Systems, Inc. All rights reserved. 63
Route Reflector: Principle
Route Reflector
AS 100
B C
Originator_ID attribute
Carries the RID of the originator of the route in the local AS
(created by the RR)
Cluster_list attribute
The local cluster-id is added when the update is sent by the RR
Best to set cluster-id is from router-id (address of loopback)
(Some ISPs use their own cluster-id assignment strategy – but
needs to be well documented!)
PoP3
AS 100
PoP1
PoP2
Cluster One
Cluster Two
NANOG 44 © 2008 Cisco Systems, Inc. All rights reserved. 69
Route Reflector: Benefits
AS 300
A
B C
AS 100
D
E G
AS 200 F
A
Sub-AS
65002
B
180.10.0.0/16 {65004 65002} 200 180.10.0.0/16 {65002} 200
Sub-AS
65004
Sub-AS G D E Sub-AS
H 65003 F 65001
Confederation
180.10.0.0/16 100 200
100
Anywhere Medium
Confederations in the Yes Yes Medium
to High
Network
Route Anywhere
Reflectors in the Yes Yes Very High Very Low
Network
Most new service provider networks now deploy Route Reflectors from Day One
Route flap
Going up and down of path or change in attribute
BGP WITHDRAW followed by UPDATE = 1 flap
eBGP neighbour going down/up is NOT a flap
Ripples through the entire Internet
Wastes CPU
Requirements
Fast convergence for normal route changes
History predicts future behaviour
Suppress oscillating routes
Advertise stable routes
4000
Penalty
2000
Reuse limit
1000
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Time
BGP Basics
Scaling BGP
Using Communities
Deploying BGP in an ISP network
More info at
www.sprintlink.net/policy/bgp.html
Australian ISP
Run their own Routing Registry
Whois.connect.com.au
More at http://info.connect.com.au/docs/routing/general/multi-faq.shtml#q13
NANOG 44 © 2008 Cisco Systems, Inc. All rights reserved. 101
Some ISP Examples
Verizon Business EMEA
BGP Basics
Scaling BGP
Using Communities
Deploying BGP in an ISP network
Model representation
DO NOT:
distribute BGP prefixes into an IGP
distribute IGP routes into BGP
use an IGP to carry customer prefixes
Quality or Quantity?
customer
Internet AS100 100.10.10.0/23
Customer has /23 network assigned from AS100’s /19 address block
AS100 announces customers’ individual networks to the Internet
Customer has /23 network assigned from AS100’s /19 address block
AS100 announced /19 aggregate to the Internet
AS Origin
route: 193.128.0.0/14
descr: PIPEX-BLOCK1
origin: AS1849
notify: routing@uk.uu.net
mnt-by: AS1849-MNT
changed: beny@uk.uu.net 20020321
source: RIPE
Attacker
ISP AS 100
TTL 254
R1 R2
TTL 253 TTL 254
TTL Hack:
Both neighbours must agree to use the feature
TTL check is much easier to perform than MD5
(Called BTSH – BGP TTL Security Hack)
BGP damping
Do NOT use it unless you understand the impact
Do NOT use the vendor defaults without thinking
Remove private ASes from announcements
Common omission today
Use extensive filters, with “backup”
Use as-path filters to backup prefix filters
Keep policy language for implementing policy, rather than basic
filtering
Use password agreed between you and peer on eBGP
session
End of Tutorial!