OpenBMP BoF RIPE / Budapest 2017.05.11 Randy Bush <randy@psg.com> Serpil Bayraktar <serpil@cisco.com> Tim Evens <tievens@cisco.com> Cristel Pelsser <pelsser@unistra.fr> A stuffed teddy bear to the person who thinks of a better name 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Poor Visibility I want to see more deeply into the router especially BGP 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike BGP Monitoring BGP is the world’s best information hiding protocol <tm>. It only gives me the router’s best path Peers P0 Peering Router P1 Best Path Vantage Point (VP) P2 P3 P3 P4 And VP does not even know why P3 was chosen 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
BGP Monitoring Protocol With BMP, I learn all the paths the peering router heard Peers P0 Peering Router P1 All Paths Vantage Point P2 P0-4 P3 P4 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike You See Much More BMP Message Types (RFC 7854) 0: Route Monitoring 1: Statistics Report 2: Peer Down Notification 3: Peer Up Notification 4: Initiation 5: Termination 6: Route Mirroring (major topic) 7: Your Horoscope 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike BGP is the Transport It could have been DNS :) Shared Code But Also Shared Fate And one well-known implementation has shared fate problems with BGP 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
An ISP’s Collector All Paths Collector in NOC? The Collector sees the outward views of the peering edge, not just the best paths Peering Router Vantage Point BMP Collector Peering Router Vantage Point Collector in NOC? All Paths Vantage Point Peering Router Vantage Point Peering Router Vantage Point Peering Router 170511 RIPE OpenBMP Creative 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 ISP0 Vantage Point BMP Collector ISP1 Vantage Point Collects Vantage Points All Paths Vantage Point ISP2 Vantage Point ISP3 Vantage Point ISP4 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike OpenBMP Project ISP0 ISP1 OpenBMP Collector Analysis & GUI WOW! All Paths ISP2 ISP3 ISP4 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike In a Nutshell Think RIS / Route Views for BMP Add a web-based sexy GUI With some cool analysis tools 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike Just Some Examples 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike A Tasting Menu 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike Noisiest Prefixes Lets Zoom! 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike History of That Prefix Every Change And What Changed dupe! 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
And, Of Course, the Mandatory World Map You Are Here 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
OpenBMP– Architecture Apps (Analytics) Optionally to DB REST API MySQL Apps (Analytics) Message Bus Data (raw and parsed) SNAS Collector BMP Availability Vendor Release 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+ OpenBMP is an open-source collector that implements BMP to store and maintain multiple address family topologies in both real-time and point-in-time (historical) BGP data is decoded ,stored in local or external a database and accessed via standard ODBC/MySQL driver or via the API by custom applications Operator access directly or via the OSS/BSS Cisco continuously develop , certify and add new custom applications with integrated dashboard, reports, events to tailor to the operator needs . BMP Routers XE/XR/JunOS Peers 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike OpenBMP Architecture TCP 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 UI 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike OpenBMP Architecture App TCP Listener Connection Thread Ingress Buffer Parser (BMP & BGP) Kafka collector Router Connection MySQL/MariaDB Consumer SQL Transformation DB Connection MariaDB REST API Web UI Produce RAW (Native BGP) Textual (JSON/CSV) 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike OpenBMP Architecture TCP Listener Connection Thread Ingress Buffer Parser (BMP & BGP) Kafka collector Router Connection MySQL/MariaDB Consumer SQL Transformation DB Connection MariaDB REST API Web UI Produce RAW (Native BGP) Textual (JSON/CSV) App 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
How to Configure Your Router 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike IOS XE 3.12.0/15.4.2 (or greater) router 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 ... 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike IOS XR 5.2.2 (or greater) router 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 300 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike JunOS 13.3 (or greater) routing-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; 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
But I Have 42 Years of Old MRT Data! 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike mrt2bmp Converts mrt data, such as RIS and Route Views to OpenBMP Yes, you only get the best path view But 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 Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike How can a feeding peer tell the collector what flavor feed it is giving? We blew this with RIS and Route Views 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Are current BMP specs and implementations what we want? 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Proposal: Add Access to Adj-RIB-Out and Loc-RIB BGP Peer-A Adj-Rib-In (Pre) BGP Peer-B Adj-Rib-In (Pre) Static ISIS Filters/Policy Filters/Policy Adj-Rib-In (Post) Adj-Rib-In (Post) Passed Filter Passed Filter And this Route Selection We also want to see this Adj-Rib-Out (Pre) Loc-Rib Filters/Policy And this Adj-Rib-Out (Post) draft-evens-grow-bmp-adj-rib-out draft-evens-grow-bmp-local-rib 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike Implementor Concerns Compressed or Uncompressed? Mirror or Extract from RIB All are Resource / Loading Issues 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike Compressed or Not The "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. 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Mirror or Extract from RIB Mirroring has the burst buffering & loading problems in previous slide Extraction from RIB to create stream allows BMP export to control the pace But 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 RIB 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike These are All Resource / Loading Issues Get High Powered Routers & All Will be Fine And Cash Will Fall from the Sky And there will be World Peace 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike We Want Moar Dataz! The Goal 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike Some References Project Overview https://www.openbmp.org/ Running your own service from RouteViews data: https://github.com/OpenBMP/openbmp/blob/mas ter/docs/GETTING_STARTED.md 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike But Talk is Cheap 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike
Creative Commons: Attribution & Share Alike Play with Demo http://demo.snas.io:8000/ Username: ripe Password: ripe74 170511 RIPE OpenBMP Creative Commons: Attribution & Share Alike