Cisco Live 2015 San Diego
BGP Enabled Application Development
Serpil Bayraktar
June 2015
2© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• BGP is used in almost every IP network to exchange reachability information
• The data carried by BGP is a collection of IP addresses and their attributes
• These attributes carry an underappreciated amount of intelligence about the network
• Developers can use this data to create a variety of applications to monitor and manage the network
• Routing analysis is a hard task (lots of PhD thesis)
BGP Enabled Application Development
3© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• A framework to observe and learn network behavior
• Contains real time and historical data
• Has for main components: Collect store analyze present
• Expose all BGP data• BGP IPv4, IPv6, VPNv4, VPNv6 … and IGP (topology)• IS-IS and OSPF topologies utilizing BGP Link-State
• Support• Scripter – can use curl and bash to interact with the data, super simple• Developer – full suite of API’s
Cisco Internet Data Analytics
4© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Applications
Where Does It Fit in the World of SDN?
SoftwareDefinedNetwork
Big Data
Analyze Data
Data Collection
ServiceAssurance
Initial and ongoing service monitoring
ServiceOrchestration
Analytics
Monitoring and Decision Making
Push policies back to the network
5© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Culmination of a group of key technologies:
• BGP Monitoring Protocol (BMP)
• BGP-LS (Topology View)
• High Performance Collector (OpenBMPd)
• Database (SQL)
• Modern APIs (REST/json) and App Development Methods
What took us so long?
6© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• BGP Monitoring Protocol (BMP) encapsulates BGP messages from one or more BGP peers into a single TCP stream to one or more collectors
• Efficient, [near] real-time, low memory/CPU on router, little to no service impact with peering
• Simplified configuration (one-time setup) with granular controls per peer
• All address families supported• https://tools.ietf.org/html/draft-ietf-grow-bmp-08
Key Technology: BMP
TCP BMP BGPIP
BMP RouterXE/XR/JunOS
BGP Peers
BMP Collector
Single stream
eBGP/iBGP
7© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
How Does It Work?
Network
BMP Collector
Database
BMP Enabled Edge Router
Network Edge Network EdgeNetwork Edge
BGP Peer1
BGP Peer2
BGP Peer3
BGP Peer3
BGP Peer3
BGP Peerx
DatabaseDatabase
Rest API/Plugin
Network Data Management and Analysis Applications
UI
BMP
8© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Edge Router
Peer1
Monitoring Station
e/iBGP
eBGP
BGP without BMP
Post-RIBPrefixes after the Edge Router’s Post-Policy.
This is a biased view of the downstream peers.
Peer2 Peer3
9© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Edge Router
BMP Collector
BMP
eBGP
All PeersPre-RIB and Post RIB - All Prefixes regardless of edge router ingress/egress route
policies
Pre-RibIngress filters do not
effect Pre-RIB via BMP. The router
could filter 100% of the routes and BMP would still get a copy
of them all.
BGP with BMP
Peer1 Peer2 Peer3
10© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Architecture
11© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• 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 and stored in a database for simplified consumption to universally enable granular analytics on BGP data
• Access to the database is via standard ODBC/MySQL drivers or via the API
• RAW BGP UPDATES are binary logged per peer to support replay of BGP streams (if enabled)
• www.openbmp.org and github.com/openbmp
Collector: OpenBMP
OpenBMP Collector
MySQL
BMP RouterXE/XR/JunOS
Peers
RA OpenBMP API
Apps(Analytics)
Optionally to DB
Data
notifications
12© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Hundreds of BMP routers, thousands of peers, 100 million plus prefixes with <= 5 second response times for most queries
• RA OpenBMP API• Aggregates multiple databases• Implements parallel queries to support multiple
cores/vCPU’s• Is aware of the shard/partitioning plan being used
• MySQL servers do not have to be equal, they only need to scale for their partition/sharding plan
• OpenBMP BMP collectors support address family (afi/safi) & optionally per-peer sharding as well as replication/mirroring
• BMP routers can send to one or more collectors, but only one is needed
Scale
RA OpenBMPAPI
Peers Peers
OpenBMPCollectors
BMP Routers
MySQLServers
All familiesIPv6, etc.IPv4
13© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• Endless applications for operations, design/engineering, research, SDN
• Applications implement either BMP REST/Json API or ODL/restconf YANG models
• RA OpenBMP API server provides an abstract view of data that is shard/partitioned in distributed databases
• ODL RA BMP plugin interfaces with the RA OpenBMP API to provide YANG based restconf interface and notifications
Apps
RA OpenBMPAPI
Apps(Analytics)
NB/SB ODL Apps
MySQL (n)
ODL/Restconf
MySQL (2)MySQL (1)
DirectApps
NETWORK
Operations, Design/Engineering/Capac
ity, Research, Traffic Shifting, Visualization, etc.
14© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
• RA OpenBMP User Interface is a Web based GUI interface that implements the RA OpenBMP API
Dashboards (includes geo-location/maps)• Global router view with peer browser• Peer view with rib and AS browser• Link state view with on-demand topology and SPF• Looking glass
Analysis/Reporting• Peers• ASNs• Prefixes
GUI/User Interface
RA OpenBMPAPI
Web/User Interface (App)
MySQL (n)
ODL/Restconf
MySQL (2)MySQL (1)
DirectApps
NETWORK
Operations, Design/Engineering/Capac
ity, Research, Traffic Shifting, Visualization, etc.
15© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential
Using data provided by RA API, you can:
• Measure network performance
• Asses security vulnerabilities
• Analyze capacity
• Monitor stability and health of the network
• Predictive analysis of network behavior
Applications
Top Related