16
Cisco Live 2015 San Diego BGP Enabled Application Development Serpil Bayraktar [email protected] June 2015

DEVNET-1191BGP Enabled Application Development

Embed Size (px)

Citation preview

Page 1: DEVNET-1191BGP Enabled Application Development

Cisco Live 2015 San Diego

BGP Enabled Application Development

Serpil Bayraktar

[email protected]

June 2015

Page 2: DEVNET-1191BGP Enabled Application Development

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

Page 3: DEVNET-1191BGP 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

Page 4: DEVNET-1191BGP Enabled Application Development

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

Page 5: DEVNET-1191BGP Enabled Application Development

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?

Page 6: DEVNET-1191BGP Enabled Application Development

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

Page 7: DEVNET-1191BGP Enabled Application Development

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

Page 8: DEVNET-1191BGP Enabled Application Development

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

Page 9: DEVNET-1191BGP Enabled Application Development

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

Page 10: DEVNET-1191BGP Enabled Application Development

10© 2015 Cisco and/or its affiliates. All rights reserved. Cisco Confidential

Architecture

Page 11: DEVNET-1191BGP Enabled Application Development

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

Page 12: DEVNET-1191BGP Enabled Application Development

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

Page 13: DEVNET-1191BGP Enabled Application Development

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.

Page 14: DEVNET-1191BGP Enabled Application Development

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.

Page 15: DEVNET-1191BGP Enabled Application Development

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

Page 16: DEVNET-1191BGP Enabled Application Development