OpenBMP BoF RIPE Budapest 20170511 Randy Bush lt randypsgcomgt Serpil Bayraktar lt serpilciscocom gt Tim Evens lt tievensciscocom gt Cristel Pelsser lt pelsserunistrafr ID: 766723
Download Presentation The PPT/PDF document "OpenBMP BoF RIPE / Budapest" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
OpenBMP BoF
RIPE / Budapest2017.05.11Randy Bush <randy@psg.com>Serpil Bayraktar <serpil@cisco.com>Tim Evens <tievens@cisco.com>Cristel Pelsser <pelsser@unistra.fr>
170511 RIPE OpenBMP
Creative Commons: Attribution & Share Alike
0Slide2
Poor Visibility170511 RIPE OpenBMP
1Creative Commons: Attribution & Share AlikeI want to see more deeply into the routerespecially BGPSlide3
BGP Monitoring
170511 RIPE OpenBMP2Creative Commons: Attribution & Share Alike
Peers
Vantage
Point (VP)
Best
Path
BGP is the world’s best information hiding
protocol
<
tm
>
.
I
t
only gives me the router’s best path
Peering
Router
P
0
P
1
P
2
P
3
P
4
P
3
And VP does not even
know why P
3
was chosenSlide4
All
Paths170511 RIPE OpenBMP3Creative Commons: Attribution & Share AlikeBGP Monitoring Protocol
Peers
Vantage
Point
With BMP, I learn
all the paths
the
peering router
heard
Peering
Router
P
0
P
1
P
2
P
3
P
4
P
0-4Slide5
You See Much More
BMP Message Types (RFC 7854)0: Route Monitoring1: Statistics Report2: Peer Down Notification3: Peer Up Notification4: Initiation5: Termination6
: Route Mirroring
(major topic)7: Your Horoscope
170511 RIPE OpenBMP
4
Creative Commons: Attribution & Share AlikeSlide6
BGP is the Transport
Shared CodeBut Also Shared FateAnd one well-known implementation has shared fate problems with BGPIt could have been DNS :)170511 RIPE OpenBMP
Creative Commons: Attribution & Share Alike
5Slide7
An ISP’s Collector170511 RIPE OpenBMP
6Creative Commons: Attribution & Share AlikeAllPaths
Collector
in NOC?
Peering
Router
Peering
Router
Peering
Router
Peering
Router
Peering
Router
The
Collector sees
the
outward views
of the peering
edge, not just the best paths
BMP
Collector
Vantage
Point
Vantage
Point
Vantage
Point
Vantage
Point
Vantage
PointSlide8
170511 RIPE OpenBMP
7Creative Commons: Attribution & Share Alike
A Public Collector
All
Paths
Collects
Vantage
Points
The
Collector sees
the
total views
of the peers,
not just their best paths
ISP
4
ISP
1
ISP
2
ISP
3
ISP
0
BMP
Collector
Vantage
Point
Vantage
Point
Vantage
Point
Vantage
Point
Vantage
PointSlide9
170511 RIPE OpenBMP
8Creative Commons: Attribution & Share Alike
OpenBMP
Project
All
Paths
ISP
4
ISP
1
ISP
2
ISP
3
ISP
0
OpenBMP
Collector
Analysis
&
GUI
WOW!Slide10
In a Nutshell
Think RIS / Route Views for BMPAdd a web-based sexy GUIWith some cool analysis tools170511 RIPE OpenBMP9
Creative Commons: Attribution & Share AlikeSlide11
Just Some Examples
170511 RIPE OpenBMP10Creative Commons: Attribution & Share AlikeSlide12
A Tasting Menu170511 RIPE OpenBMP
11Creative Commons: Attribution & Share AlikeSlide13
Noisiest Prefixes
170511 RIPE OpenBMP12Creative Commons: Attribution & Share Alike
Lets Zoom!Slide14
History of That Prefix170511 RIPE OpenBMP
13Creative Commons: Attribution & Share AlikeEvery Change
And What Changed
dupe!Slide15
And, Of Course, the Mandatory World Map
170511 RIPE OpenBMP14Creative Commons: Attribution & Share Alike
You Are HereSlide16
OpenBMP–
ArchitectureBMP AvailabilityVendorRelease
Notes
IOS-XE
3.12 and above
ASR1K, CSR1000v
IOS-XR
5.2.2
ASR9K, CRS, NCS6K, XRv
NX-OS
Evergreen
N9K
, N7K
JunOS
Since 10.3
MX, EX
ACX (12.3)
goBGP
1.3+
SNAS
CollectorMySQLBMP RoutersXE/XR/JunOS
Peers
REST
API
Apps
(Analytics)
Optionally to DB
Data (raw and parsed)
Message Bus
Apps
(Analytics)
170511 RIPE OpenBMP
Creative Commons: Attribution & Share Alike
15Slide17
OpenBMP Architecture170511 RIPE OpenBMP
16Creative Commons: Attribution & Share AlikeTCP Listener
Connection Thread
Ingress Buffer
Parser (BMP & BGP)
Produce
RAW
(Native BGP)
Textual
(JSON/CSV)
Kafka
collector
Router
Connections
MySQL/
MariaDB
Consumer
SQL Transformation
DB Connection
MariaDB
REST
API
Web UISlide18
OpenBMP Architecture170511 RIPE OpenBMP
17Creative Commons: Attribution & Share AlikeTCP Listener
Connection Thread
Ingress Buffer
Parser (BMP & BGP)
Kafka
collector
Router
Connection
MySQL/
MariaDB
Consumer
SQL Transformation
DB Connection
MariaDB
REST
API
Web UI
App
Produce
RAW
(Native BGP)
Textual
(JSON/CSV)Slide19
OpenBMP Architecture170511 RIPE OpenBMP
18Creative Commons: Attribution & Share AlikeTCP Listener
Connection Thread
Ingress Buffer
Parser (BMP & BGP)
Kafka
collector
Router
Connection
MySQL/
MariaDB
Consumer
SQL Transformation
DB Connection
MariaDB
REST
API
Web UI
App
Produce
RAW
(Native BGP)
Textual
(JSON/CSV)Slide20
How to ConfigureYour Router
170511 RIPE OpenBMP19Creative Commons: Attribution & Share AlikeSlide21
IOS XE 3.12.0/15.4.2 (or greater)
170511 RIPE OpenBMP20Creative Commons: Attribution & Share Alikerouter bgp <nnnn
>
bmp server 1 address 10.20.254.245 port-number 5000
description "BMP Server - primary"
initial-delay 10
failure-retry-delay 120
flapping-delay 120
stats-reporting-period 300
update-source GigabitEthernet1
activate
exit-bmp-server-mode
!
bmp buffer-size 100
!
neighbor <
ip
/group> bmp-activate all
neighbor ...Slide22
IOS XR 5.2.2 (or greater)
170511 RIPE OpenBMP21Creative Commons: Attribution & Share Alikerouter bgp <nnnn
> !
neighbor <d.d.d.d
>
bmp-activate server 1
...
!
!
!
bmp server 1
host 10.20.254.245 port 5000
description BMP Server - primary
update-source GigabitEthernet0/0/0/0
initial-delay 60
initial-refresh delay 60 spread {number of peers * 2}
stats-reporting-period 300Slide23
JunOS 13.3 (or greater)
170511 RIPE OpenBMP22Creative Commons: Attribution & Share Alikerouting-options { bmp
{
station
BMPServer1 {
initiation-message
"
Development
/LAB";
local-address
172.20.160.24;
connection-mode
active
;
monitor enable;
route-monitoring { pre-policy;
post-policy; } station-address 10.20.254.245;
station-port 5000; statistics-timeout 300; }
}Slide24
But I Have 42 Yearsof Old MRT Data!
170511 RIPE OpenBMP23Creative Commons: Attribution & Share AlikeSlide25
mrt2bmp
Converts mrt data, such as RIS and Route Views to OpenBMPYes, you only get the best path viewBut it makes backward compatibility possible.You can inject traditional dumps into openBMP
For longitudinal analysis it may be good to have the old data parsable using the same
tools
170511 RIPE OpenBMP
24
Creative Commons: Attribution & Share AlikeSlide26
How can a feeding peer tell the collector what flavor feed it is giving?
We blew this with RIS and Route Views170511 RIPE OpenBMP25Creative Commons: Attribution & Share AlikeSlide27
Are current BMP specsand implementationswhat we want?
170511 RIPE OpenBMP26Creative Commons: Attribution & Share AlikeSlide28
BGP Peer-B
Adj-Rib-In (Pre)Route Selection
Proposal: Add Access to Adj-RIB-Out and Loc-RIB
Static
Adj-Rib-In (Post)
Filters/Policy
Filters/Policy
Passed Filter
Adj-Rib-In (Post)
Adj-Rib-Out (Pre)
Adj
-Rib-Out
(Post)
Filters/Policy
BGP Peer-A
Adj-Rib-In (Pre)
ISIS
We
also
want
to see this
And this
And this
Loc-Rib
draft-evens-grow-bmp-
adj
-rib-out
draft-evens-grow-bmp-local-rib
Passed Filter
170511 RIPE OpenBMP
Creative Commons: Attribution & Share Alike
27Slide29
Implementor Concerns
Compressed or Uncompressed?Mirror or Extract from RIBAll are Resource / Loading Issues170511 RIPE OpenBMP28Creative Commons: Attribution & Share AlikeSlide30
Compressed or Not170511 RIPE OpenBMP
29Creative Commons: Attribution & Share AlikeThe "uncompressed" approach requires that every message received from a monitored session must result, 1:1, in a message sent to the monitoring station. Since the potential number of messages received over time is unbounded, and since there are many potential bottlenecks in the system, there are inevitable consequences for system design. One of these is that buffering has to be supplied to absorb bursts on the input side. Another is that exception handling
has to be provided for when buffering is exhausted.Slide31
Mirror or Extract from RIB
Mirroring has the burst buffering & loading problems in previous slideExtraction from RIB to create stream allows BMP export to control the paceBut it has to be very careful not to change attributes, reorder them, …So keep a copy of the attribute list in the RIB and generate from RIB170511 RIPE OpenBMP30
Creative Commons: Attribution & Share AlikeSlide32
These are AllResource / Loading
IssuesGet High Powered Routers & All Will be FineAnd Cash Will Fall from the SkyAnd there will be World Peace170511 RIPE OpenBMP31Creative Commons: Attribution & Share AlikeSlide33
We Want Moar Dataz
!170511 RIPE OpenBMP32Creative Commons: Attribution & Share Alike
The
GoalSlide34
Some References
Project Overview https://www.openbmp.org/Running your own service from RouteViews data:https://github.com
/OpenBMP
/
openbmp
/blob/master/docs/
GETTING_STARTED.md
170511 RIPE OpenBMP
33
Creative Commons: Attribution & Share AlikeSlide35
170511 RIPE OpenBMP
34Creative Commons: Attribution & Share AlikeSlide36
But Talk is Cheap
170511 RIPE OpenBMP35Creative Commons: Attribution & Share AlikeSlide37
Play with Demo
http://demo.snas.io:8000/Username: ripePassword: ripe74
170511 RIPE OpenBMP
36
Creative Commons: Attribution & Share Alike