If you can't read please download the document
Upload
qrator-labs
View
86
Download
0
Embed Size (px)
Citation preview
A Simple BGP
Alexander Azimov
Qrator Labs
BGP Policy is made by
Local Pref
Prepends
RPSL
RPKI
Communities
And other XX config options
Ha! Easy! Love flexibility!
But is it simple?
140 RFC have already been written!
388 RFC drafts
Numerous BCPs
KISS is not for BGP?
It could be quite simple
protocol bgp IAMOPERATOR {
local as MY_AS;
neighbor X.X.X.X as AS_PROVIDER;
}
The Great Gap
Expectation BGP Configuration
A Simple Result
A simple route leak!
Internal Session
local as MY_AS; neighbor X.X.X.X as AS_UPSTREAM_X;
local as MY_AS; neighbor Y.Y.Y.Y as AS_UPSTREAM_Y;
Route Leak: stats
0
100000
200000
300000
400000
500000
600000
August September October November*
Who is the leaker?
About ~1000 leakers affect Everybody!
Newcomers
0
10000
20000
30000
40000
50000
60000
2010 2011 2012 2013 2014 2015
Imagine yourself on a highway
Option 1: Regulation
bgpbusters! Are you afraid of leaks?
Option 2: A new BGP extension
Meet The Neighbor Role
4 Roles: customer, provider, peer, internal
Optional non-transit attribute Role Marker
Role Import Marker
Internal Session No role marker change
Role Export Filter
Idle state: No role set
Notification: The Wrong Role
OPEN with customer role
OPEN with peer role
Capabilities
Notification Notification
3 pairs of non-conflict roles: 1. Peer Peer 2. Customer Provider 3. Internal Internal
Strict Mode
OPEN with no role
OPEN with peer role
Notification
Notification if the role is not set in OPEN from the neighbor
A Simple Config
protocol bgp IAMOPERATOR {
local as MY_AS;
neighbor X.X.X.X as AS_PROVIDER;
role provider
}
Benefits
Backward compatibility
Unknown optional non-transit attributes are just ignored
Unknown capabilities should be just ignored!
Route leak extinction:
No mistake leaks
Opportunity to control neighbor configuration
Useful Links
Overview of protocol change:
radar.qrator.net/tools/simple-bgp/
Fork of BIRD routing daemon:
github.com/QratorLabs/bird/
Alexander Azimov
https://radar.qrator.net/tools/simple-bgp/https://radar.qrator.net/tools/simple-bgp/https://radar.qrator.net/tools/simple-bgp/https://radar.qrator.net/tools/simplebgp/https://github.com/QratorLabs/bird/https://github.com/QratorLabs/bird/https://github.com/QratorLabs/bird/