SlideShare a Scribd company logo
BGP Monitoring 
Protocol 
Bertrand Duvivier (bduvivie@cisco.com) 
Sr Product Manager 
September, 2014 
© 2013 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 1
BMP overview 
What is BMP ? 
The BGP Monitor Protocol 
Provides access to the Adj-RIB-In (pre BGP inbound filtering) 
of a peer (BR: Internet Border Router or PE: Provider Edge 
Router) on an ongoing basis and a periodic dump of certain 
statistics that the monitoring station can use for further 
analysis. 
http://tools.ietf.org/html/draft-ietf-grow-bmp-07.txt
BMP overview 
Adj-RIB-in (pre-inbound-filter) 
BGP Monitor Protocol update 
BMP collector 
BMP client 
Inbound 
filtering 
policing 
Loc-RIB (post-inbound-filter) 
iBGP update 
BMP message 
Adj-RIB-in (pre-inbound-filter) 
eBGP update 
BMP client/collector 
BGP peer’s (external) 
BGP peer 
(internal)
BMP overview 
1.BMP devices (e.g. routers) send BMP messages to a 
BMP collector. 
2.Open Daylight (ODL) controller SQL plugin with SQL 
using Yang interfaces with the BMP receiver database. 
ODL in this fashion provides an abstract view of all 
BMP collector data. 
3.Admins, Network Engineers, automated 
programs/scripts, etc. interact via ODL northbound 
interfaces to run various BMP analytics. 
4.Admins, Network Engineers, automated 
programs/scripts, etc. can also go direct to the BMP 
database as needed 
Full picture
BMP overview 
Why BMP ? 
There are many reasons to use BMP, but to highlight a few common ones: 
1. Looking Glasses - IPv4, IPv6, and VPN4 
2. Route Analytics - Track convergence times, history of prefixes as they change 
over time, monitor and track BGP policy changes, etc... 
3. Traffic Engineering Analytics - Adapt dynamically to change and know what is 
the best shift 
4. BGP pre-policy What-Ifs - Pre-policy routing information provides insight into all 
path attributes from various points in the network allowing nonintrusive what-if 
topology views for new policy validations 
many more
BMP implementation 
BMP client 
- ASR1K, CSR1000v : IOS-XE 3.11 
- ASR9K, CRS, NCS6K, XRv: IOS-XR 5.2.2 
- N3K, N7K, N9K: TBD 
- Others: Juniper (older version of the draft) 
BMP collector 
- OpenBMP: Open Source: using MySQL 
https://www.openbmp.org/ 
- BMP receiver: Open Source: Writen from scratch in Python 
https://code.google.com/p/bmpreceiver/
BMP client 
Design… (1) 
• BMP receiver can be configured with both ipv4 & ipv6 host addresses. 
• The BGP speaker process is referred to as the BMP Client. 
• BMP client provides only pre-policy view of the ADJ-RIB-IN of a peer 
• Post-policy view is not supported 
• A BGP peer can be monitored by multiple BMP reciever 
• Any update message from the peer ( irrespective of the address-family ) is sent to the 
BMP receiver 
• Multiple BMP receivers can be configured across all BGP instances 
• Each BGP instance will send update messages for peers under it to the BMP receivers 
monitoring the corresponding peers
BMP Client 
Design… (2) 
• Maximum of 8 BMP receivers can be configured. 
• No limitation on number of BGP peers to be monitored by a receiver 
• No limitation on the number of clients interacting with a receiver 
• Each BGP instance maintains a queue per BMP receiver 
• Once the session with the BMP receiver comes up, the client starts sending 
the current view (unless configured not to…) and any subsequent updates. 
• The BGP client is the Active side & the BMP receiver is the passive listener
BMP Client 
Design … (3) 
• Once the TCP connection with a BMP receiver comes up, BMP client does the 
following 
• Sends the Initiation message to BMP receiver 
This contains the host name and system software info (version) 
• Sends Peer-Up message for every ESTABLISHED peer 
• Send Route-Refresh message to all ESTABLISHED peers (unless configured not to…) 
• Peer-Down message for every peer which goes down 
• Periodic Stats-Report messages 
• Route-monitoring messages for any update received from the monitored peer 
• Termination message if session with BMP receiver is brought down gracefully ( 
unconfigured )
BMP Client 
Design… (4) 
• When BMP client receives updates from a peer, it makes a copy of the 
message and add it to the queue of all BMP receivers monitoring the peer 
• A separate thread in BGP speaker process then flushes the updates out on the tcp 
session to the BMP receiver 
• A copy of the message is made for every monitoring BMP receiver 
• If a TCP session with the BMP receiver cannot be established, the Client 
process will retry the connect every 7 secs
BMP 
BMP messages 
Type Description Implementation brief 
0 Route Monitor Received update messages 
1 Statistics Report No Cisco specific statistics 
2 Peer Down Notification BGP peer down 
3 Peer Up Notification BGP peer up 
4 Initiation BMP session starts, will carry the session 
description and basic informations 
5 Termination BMP session ends
BMP 
BMP Stats Reports 
Stat type 
0 (standard) Number of prefixes rejected by inbound policy. 
1 (standard) Number of (known) duplicate prefix advertisements. Currently sending 0. 
2 (standard) Number of (known) duplicate withdraws. Currently sending 0. 
3 (standard) Number of updates invalidated due to CLUSTER_LIST loop. 
4 (standard) Number of updates invalidated due to AS_PATH loop. 
5 (standard) Number of updates invalidated due to ORIGINATOR_ID. 
6 (standard) Number of updates invalidated due to AS_CONFED loop. 
7 (standard) Number of routes in Adj-RIBs-In. 
8 (standard) Number of routes in Loc-RIB.
BMP Client 
bmp receiver <1-8> 
description <string> 
dscp <dscp-value> 
host <name | ipv4/6 address> port <1-65535> 
initial-delay <1-3600> // before attempting to connect to bmp receiver 
initial-refresh {delay <1-3600> spread <1-3600> | skip} 
precedence <precedence-value> 
shutdown 
stats-reporting-period <1-3600> 
update-source <interface-id> 
vrf <vrf-id> 
router bgp <asn> 
neighbor x.x.x.x 
bmp-activate receiver <1-8> 
Client config.
OpenBMP 
Overview 
1. OpenBMP use MySQL to store BMP record 
– use MySQL Workbench (client) to read it 
2. Live OpenBMP server: 
– db1.openbmp.org (login/pw = demo/demo) 
3. Few command: 
Command MySQL Qweries 
Show current status of BGP peers select * from v_peers order by RouterName 
Show BMP Routers select * from routers 
Show BGP peer statistics interval based 
select * from v_peer_prefix_report_last 
report info
OpenBMP 
MySQL Worbench initial config
OpenBMP 
MySQL Qwery
BMP summary 
1. Allows to collect all peers adj-RIB-in BGP updates 
2. BMP cisco implementation is based on draft BMPv7 
3. Supported on IOS-XE 3.11 and IOS XR 5.2.2 
4. Easy to deploy using OpenBMP & BMPreceiver open source receiver
Question: ask-bmp@cisco.com
Thank you.
BMP Client - Show 
RP/0/0/CPU0:R2#sh bgp bmp receiver 5 
BMP receiver 5 
Host 10.0.101.1 Port 16666 
Connected for 00:25:07 since Dec 31 16:25:07.269 
Precedence: internet 
BGP neighbors: 1 
VRF: - (0x60000000) 
Update Source: 9.9.9.9 (Lo9) 
Update Source Vrf ID: 0x60000000, Active: Y 
Message Stats: 
Total messages sent: 60 
INITIATION: 1 
TERMINATION: 0 
STATS-REPORT: 0 
PER-PEER messages: 59 
Neighbor 20.0.101.11 
Messages pending: 0 
Messages sent: 59 
PEER-UP: 1 
PEER-DOWN: 0 
ROUTE-MON: 58 
RP/0/0/CPU0:R2#sh bgp bmp receiver 1 
BMP receiver 1 
Host 10.0.101.1 Port 16666 
Connected for 00:30:40 since Dec 31 16:30:40.613 
Precedence: internet 
BGP neighbors: 1 
VRF: - (0x60000000) 
Update Source: - (-) 
Update Source Vrf ID: 0x0, Active: N 
Message Stats: 
Total messages sent: 31 
INITIATION: 1 
TERMINATION: 0 
STATS-REPORT: 0 
PER-PEER messages: 30 
Neighbor 20.0.101.11 
Messages pending: 0 
Messages sent: 30 
PEER-UP: 1 
PEER-DOWN: 0 
ROUTE-MON: 29
BMP Client - Show 
RP/0/0/CPU0:R2#sh bgp nei 20.0.101.11 | beg BMP 
BGP Monitoring(BMP) activated for receivers: 
1, 3, 5 
….
BMP Client – Debug – debug bgp bmp 
Type 0 - Route monitoring message: 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: [BMP Messagw Dump : receiver (NULL), nbr 20.0.101.11, type Route Monitoring]: 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0300 0000 cb00 0000 0000 0000 0000 0000 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0000 0000 0000 0000 0000 0000 1400 650b 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0000 0065 1400 650b 53b3 28cd 0000 6e5c 
P/0/0/CPU0:RJul 1 14:31:57 : bgp[1039]: [default-iord]: ffff ffff ffff ffff ffff ffff ffff ffff 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 009b 0200 0000 2040 0101 0040 0304 1400 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 650b 4002 0a02 0400 6500 c900 ca00 cbf0 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0800 0400 6503 e720 4702 0101 2047 0201 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0220 4702 0103 2047 0201 0420 4702 0105 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 2047 0201 0620 4702 0107 2047 0201 0820 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 4702 0109 2047 0201 0a20 4702 010b 2047 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0201 0c20 4702 010d 2047 0201 0e20 4702 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 010f 2047 0201 1020 4702 0111 2047 0201 
RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 1220 4702 0113 2047 0201 14
BMP Client – Debug – debug bgp bmp 
Type 1 - Stat-report message: 
RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: [BMP Message Dump : receiver 10.0.101.1, nbr 
20.0.101.11, type Statistics Report]: 
RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0300 0000 6401 0000 0000 0000 0000 0000 
RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0000 0000 0000 0000 0000 1400 650b 
RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0065 1400 650b 53f2 363b 000b 20f1 
RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0005 0001 0004 0000 0090 0004 0004 
RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0028 0005 0004 0000 0038 0007 0008 
RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0000 0000 0018 0008 0008 0000 0000 
RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0018
BMP Client – Debug – debug bgp bmp 
Type 2 - Peer-down message: 
RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: [BMP Message Dump : receiver (NULL), nbr 20.0.101.11, type 
Peer Down Notification]: 
RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: 0300 0000 4602 0000 0000 0000 0000 0000 
RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: 0000 0000 0000 0000 0000 0000 1400 650b 
RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: 0000 0065 1400 650b 53f2 3f6a 000c fd3a 
RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: 01ff ffff ffff ffff ffff ffff ffff ffff 
RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: ff00 1503 0602
BMP Client – Debug – debug bgp bmp 
Type 3 – Peer-up message: 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: [BMP Message Dump : receiver (NULL), nbr 20.0.101.11, type Peer Up Notification]: 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0300 0000 ac03 0000 0000 0000 0000 0000 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0000 0000 0000 0000 0000 0000 1400 650b 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0000 0065 0000 0000 53f2 3fea 0005 3282 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0000 0000 0000 0000 0000 0000 1400 0002 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 00b3 7f51 ffff ffff ffff ffff ffff ffff 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: ffff ffff 003b 0104 0064 00b4 0202 0202 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 1e02 0601 0400 0100 0102 0280 0002 0202 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0002 0641 0400 0000 6402 0440 0200 78ff 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: ffff ffff ffff ffff ffff ffff ffff ff00 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 2d01 0400 6500 b414 0065 0b10 0206 0104 
RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0001 0001 0202 8000 0202 0200
BMP Client – Debug – debug bgp bmp 
Type 4 - Initiation message: 
RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: [BMP Message Dump : receiver 10.0.101.1, nbr (None), type 
Initiation Message]: 
RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 0300 0000 6b04 0001 005b 4369 7363 6f20 
RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 494f 5320 5852 2053 6f66 7477 6172 652c 
RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 2056 6572 7369 6f6e 2035 2e32 2e32 2e31 
RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 3849 5b44 6566 6175 6c74 5d0a 436f 7079 
RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 7269 6768 7420 2863 2920 3230 3134 2062 
RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 7920 4369 7363 6f20 5379 7374 656d 732c 
RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 2049 6e63 2e00 0200 0252 32
BMP Client – Debug – debug bgp bmp 
Type 5 - Termination message: 
RP/0/0/CPU0:Aug 18 09:37:33 : bgp[1039]: [default-mgmt]: [10.0.101.1] receiver close called with reason 0x3 [state ESTAB] 
RP/0/0/CPU0:Aug 18 09:37:33 : bgp[1039]: [default-mgmt]: [BMP Message Dump : receiver 10.0.101.1, nbr (None), type 
Termination Message]: 
RP/0/0/CPU0:Aug 18 09:37:33 : bgp[1039]: [default-mgmt]: 0300 0000 1f05 0000 000f 636f 6e66 6967 
RP/0/0/CPU0:Aug 18 09:37:33 : bgp[1039]: [default-mgmt]: 2073 6875 7464 6f77 6e00 0100 0200 00 
RP/0/2/CPU0:Aug 18 09:37:33 : bgp[1039]: [default-mgmt]: [10.0.101.1] receiver close called with reason 0x3 [state NONE]

More Related Content

PPT
BGP protocol presentation
PPTX
Border Gateway Protocol
PPTX
Igmp presentation
PPTX
IP Multicasting
PPTX
Multiprotocol label switching (mpls) - Networkshop44
PDF
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
PDF
How BGP Works
PPTX
Cisco Live Milan 2015 - BGP advance
BGP protocol presentation
Border Gateway Protocol
Igmp presentation
IP Multicasting
Multiprotocol label switching (mpls) - Networkshop44
Cisco Live! :: Cisco ASR 9000 Architecture :: BRKARC-2003 | Las Vegas 2017
How BGP Works
Cisco Live Milan 2015 - BGP advance

What's hot (20)

PDF
Beginners: Open RAN, White Box RAN & vRAN
PDF
大規模環境のOpenStack アップグレードの考え方と実施のコツ
PDF
Troubleshooting BGP
PPTX
PRTG Network Monitor Presentation
PDF
NIDD (Non-IP Data Delivery) のご紹介
PDF
Cisco Live Brksec 3032 - NGFW Clustering
PPTX
BGP Advanced topics
PDF
Access Network Evolution
PDF
Segment Routing Technology Deep Dive and Advanced Use Cases
PPT
BGP Overview
PPTX
CCNP Switching Chapter 2
PPTX
CCNA3 Verson6 Chapter4
PDF
PPTX
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
PDF
Integration and Interoperation of existing Nexus networks into an ACI Archite...
PDF
Beginners: Open RAN Terminology – Virtualization, Disaggregation & Decomposition
PPTX
Vxlan deep dive session rev0.5 final
PDF
Software Defined Network (SDN) using ASR9000 :: BRKSPG-2722 | San Diego 2015
PDF
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
PDF
BGP Unnumbered で遊んでみた
Beginners: Open RAN, White Box RAN & vRAN
大規模環境のOpenStack アップグレードの考え方と実施のコツ
Troubleshooting BGP
PRTG Network Monitor Presentation
NIDD (Non-IP Data Delivery) のご紹介
Cisco Live Brksec 3032 - NGFW Clustering
BGP Advanced topics
Access Network Evolution
Segment Routing Technology Deep Dive and Advanced Use Cases
BGP Overview
CCNP Switching Chapter 2
CCNA3 Verson6 Chapter4
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
Integration and Interoperation of existing Nexus networks into an ACI Archite...
Beginners: Open RAN Terminology – Virtualization, Disaggregation & Decomposition
Vxlan deep dive session rev0.5 final
Software Defined Network (SDN) using ASR9000 :: BRKSPG-2722 | San Diego 2015
Tutorial WiFi driver code - Opening Nuts and Bolts of Linux WiFi Subsystem
BGP Unnumbered で遊んでみた

Viewers also liked (16)

PPTX
BMP (BGP Monitoring Protocol) Testing by JANOGers -2, by Taiji Tsuchiya [APNI...
PDF
Ietf92 ohara-full-route-compare-tool-2015-03-25-grow
PDF
SDNアプローチによるBGP経路監視の提案
PPTX
2015-ShowNet -DDoS/IX/BGPFlowspec/External
PPTX
Bgpcep odl summit 2015
PDF
Managing Traffic Flows via BGP Flowspec by Mohd Izni Zuhdi Mohamed Rawi
PDF
2015.7.17 JANOG36 BGP Flowspec Interoperability Test @ Interop Tokyo 2015 Sho...
PDF
DDoS Mitigation using BGP Flowspec
PDF
Protect your edge BGP security made simple
PDF
Keeping your rack cool
PPTX
BGP Flowspec (RFC5575) Case study and Discussion
PPTX
DEVNET-1191 BGP Enabled Application Development
PPTX
BGP persistence
PDF
Segment Routing: A Tutorial
PPTX
LISP and NSH in Open vSwitch
PDF
An Introduction to BGP Flow Spec
BMP (BGP Monitoring Protocol) Testing by JANOGers -2, by Taiji Tsuchiya [APNI...
Ietf92 ohara-full-route-compare-tool-2015-03-25-grow
SDNアプローチによるBGP経路監視の提案
2015-ShowNet -DDoS/IX/BGPFlowspec/External
Bgpcep odl summit 2015
Managing Traffic Flows via BGP Flowspec by Mohd Izni Zuhdi Mohamed Rawi
2015.7.17 JANOG36 BGP Flowspec Interoperability Test @ Interop Tokyo 2015 Sho...
DDoS Mitigation using BGP Flowspec
Protect your edge BGP security made simple
Keeping your rack cool
BGP Flowspec (RFC5575) Case study and Discussion
DEVNET-1191 BGP Enabled Application Development
BGP persistence
Segment Routing: A Tutorial
LISP and NSH in Open vSwitch
An Introduction to BGP Flow Spec

Similar to BGP Monitoring Protocol (20)

PPTX
BMP (BGP Monitoring Protocol) Testing by JANOGers -1, by Shishio Tsuchiya [AP...
PDF
BMP Test Results
PDF
slides-117-grow-grow-bmp-enhancements-to-frrouting-00.pdf
PDF
BMP: the pa amb tomàquet your BGP monitoring was missing
PPTX
Bgp protocol
PPTX
Border Gatway Protocol
PDF
BGP (border gateway routing protocol)
PPTX
ENCOR_Chapter_11 - ‌BGP implementation.pptx
PPTX
Making our networking stack truly extensible
PDF
BGP Scanner - Isolario BGP-MRT Data Reader C Library and Tool
PDF
Redes Avanzado Sdwan proyecto autoestudio
PDF
PLNOG15: BGP New Advanced Features - Piotr Wojciechowski
PDF
PLNOG 3: Ela Jasińska - From the Earth to the Moon From a Quagga-based Route...
PPTX
An Overview of Border Gateway Protocol (BGP)
DOCX
Surviving The Stump The Chump Interview Questions
PDF
BGP Techniques for Network Operators
PPTX
Border Gateway Protocol (BGP)
PDF
SANOG23-BGP-Techniques.pdf
PDF
Apnic_bgp_training_cisco_ciscosaicoc.pdf
BMP (BGP Monitoring Protocol) Testing by JANOGers -1, by Shishio Tsuchiya [AP...
BMP Test Results
slides-117-grow-grow-bmp-enhancements-to-frrouting-00.pdf
BMP: the pa amb tomàquet your BGP monitoring was missing
Bgp protocol
Border Gatway Protocol
BGP (border gateway routing protocol)
ENCOR_Chapter_11 - ‌BGP implementation.pptx
Making our networking stack truly extensible
BGP Scanner - Isolario BGP-MRT Data Reader C Library and Tool
Redes Avanzado Sdwan proyecto autoestudio
PLNOG15: BGP New Advanced Features - Piotr Wojciechowski
PLNOG 3: Ela Jasińska - From the Earth to the Moon From a Quagga-based Route...
An Overview of Border Gateway Protocol (BGP)
Surviving The Stump The Chump Interview Questions
BGP Techniques for Network Operators
Border Gateway Protocol (BGP)
SANOG23-BGP-Techniques.pdf
Apnic_bgp_training_cisco_ciscosaicoc.pdf

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Spectroscopy.pptx food analysis technology
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation_ Review paper, used for researhc scholars
Spectroscopy.pptx food analysis technology
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Chapter 3 Spatial Domain Image Processing.pdf
Big Data Technologies - Introduction.pptx
Encapsulation theory and applications.pdf
Unlocking AI with Model Context Protocol (MCP)
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
Network Security Unit 5.pdf for BCA BBA.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The AUB Centre for AI in Media Proposal.docx
Digital-Transformation-Roadmap-for-Companies.pptx

BGP Monitoring Protocol

  • 1. BGP Monitoring Protocol Bertrand Duvivier (bduvivie@cisco.com) Sr Product Manager September, 2014 © 2013 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 1
  • 2. BMP overview What is BMP ? The BGP Monitor Protocol Provides access to the Adj-RIB-In (pre BGP inbound filtering) of a peer (BR: Internet Border Router or PE: Provider Edge Router) on an ongoing basis and a periodic dump of certain statistics that the monitoring station can use for further analysis. http://tools.ietf.org/html/draft-ietf-grow-bmp-07.txt
  • 3. BMP overview Adj-RIB-in (pre-inbound-filter) BGP Monitor Protocol update BMP collector BMP client Inbound filtering policing Loc-RIB (post-inbound-filter) iBGP update BMP message Adj-RIB-in (pre-inbound-filter) eBGP update BMP client/collector BGP peer’s (external) BGP peer (internal)
  • 4. BMP overview 1.BMP devices (e.g. routers) send BMP messages to a BMP collector. 2.Open Daylight (ODL) controller SQL plugin with SQL using Yang interfaces with the BMP receiver database. ODL in this fashion provides an abstract view of all BMP collector data. 3.Admins, Network Engineers, automated programs/scripts, etc. interact via ODL northbound interfaces to run various BMP analytics. 4.Admins, Network Engineers, automated programs/scripts, etc. can also go direct to the BMP database as needed Full picture
  • 5. BMP overview Why BMP ? There are many reasons to use BMP, but to highlight a few common ones: 1. Looking Glasses - IPv4, IPv6, and VPN4 2. Route Analytics - Track convergence times, history of prefixes as they change over time, monitor and track BGP policy changes, etc... 3. Traffic Engineering Analytics - Adapt dynamically to change and know what is the best shift 4. BGP pre-policy What-Ifs - Pre-policy routing information provides insight into all path attributes from various points in the network allowing nonintrusive what-if topology views for new policy validations many more
  • 6. BMP implementation BMP client - ASR1K, CSR1000v : IOS-XE 3.11 - ASR9K, CRS, NCS6K, XRv: IOS-XR 5.2.2 - N3K, N7K, N9K: TBD - Others: Juniper (older version of the draft) BMP collector - OpenBMP: Open Source: using MySQL https://www.openbmp.org/ - BMP receiver: Open Source: Writen from scratch in Python https://code.google.com/p/bmpreceiver/
  • 7. BMP client Design… (1) • BMP receiver can be configured with both ipv4 & ipv6 host addresses. • The BGP speaker process is referred to as the BMP Client. • BMP client provides only pre-policy view of the ADJ-RIB-IN of a peer • Post-policy view is not supported • A BGP peer can be monitored by multiple BMP reciever • Any update message from the peer ( irrespective of the address-family ) is sent to the BMP receiver • Multiple BMP receivers can be configured across all BGP instances • Each BGP instance will send update messages for peers under it to the BMP receivers monitoring the corresponding peers
  • 8. BMP Client Design… (2) • Maximum of 8 BMP receivers can be configured. • No limitation on number of BGP peers to be monitored by a receiver • No limitation on the number of clients interacting with a receiver • Each BGP instance maintains a queue per BMP receiver • Once the session with the BMP receiver comes up, the client starts sending the current view (unless configured not to…) and any subsequent updates. • The BGP client is the Active side & the BMP receiver is the passive listener
  • 9. BMP Client Design … (3) • Once the TCP connection with a BMP receiver comes up, BMP client does the following • Sends the Initiation message to BMP receiver This contains the host name and system software info (version) • Sends Peer-Up message for every ESTABLISHED peer • Send Route-Refresh message to all ESTABLISHED peers (unless configured not to…) • Peer-Down message for every peer which goes down • Periodic Stats-Report messages • Route-monitoring messages for any update received from the monitored peer • Termination message if session with BMP receiver is brought down gracefully ( unconfigured )
  • 10. BMP Client Design… (4) • When BMP client receives updates from a peer, it makes a copy of the message and add it to the queue of all BMP receivers monitoring the peer • A separate thread in BGP speaker process then flushes the updates out on the tcp session to the BMP receiver • A copy of the message is made for every monitoring BMP receiver • If a TCP session with the BMP receiver cannot be established, the Client process will retry the connect every 7 secs
  • 11. BMP BMP messages Type Description Implementation brief 0 Route Monitor Received update messages 1 Statistics Report No Cisco specific statistics 2 Peer Down Notification BGP peer down 3 Peer Up Notification BGP peer up 4 Initiation BMP session starts, will carry the session description and basic informations 5 Termination BMP session ends
  • 12. BMP BMP Stats Reports Stat type 0 (standard) Number of prefixes rejected by inbound policy. 1 (standard) Number of (known) duplicate prefix advertisements. Currently sending 0. 2 (standard) Number of (known) duplicate withdraws. Currently sending 0. 3 (standard) Number of updates invalidated due to CLUSTER_LIST loop. 4 (standard) Number of updates invalidated due to AS_PATH loop. 5 (standard) Number of updates invalidated due to ORIGINATOR_ID. 6 (standard) Number of updates invalidated due to AS_CONFED loop. 7 (standard) Number of routes in Adj-RIBs-In. 8 (standard) Number of routes in Loc-RIB.
  • 13. BMP Client bmp receiver <1-8> description <string> dscp <dscp-value> host <name | ipv4/6 address> port <1-65535> initial-delay <1-3600> // before attempting to connect to bmp receiver initial-refresh {delay <1-3600> spread <1-3600> | skip} precedence <precedence-value> shutdown stats-reporting-period <1-3600> update-source <interface-id> vrf <vrf-id> router bgp <asn> neighbor x.x.x.x bmp-activate receiver <1-8> Client config.
  • 14. OpenBMP Overview 1. OpenBMP use MySQL to store BMP record – use MySQL Workbench (client) to read it 2. Live OpenBMP server: – db1.openbmp.org (login/pw = demo/demo) 3. Few command: Command MySQL Qweries Show current status of BGP peers select * from v_peers order by RouterName Show BMP Routers select * from routers Show BGP peer statistics interval based select * from v_peer_prefix_report_last report info
  • 15. OpenBMP MySQL Worbench initial config
  • 17. BMP summary 1. Allows to collect all peers adj-RIB-in BGP updates 2. BMP cisco implementation is based on draft BMPv7 3. Supported on IOS-XE 3.11 and IOS XR 5.2.2 4. Easy to deploy using OpenBMP & BMPreceiver open source receiver
  • 20. BMP Client - Show RP/0/0/CPU0:R2#sh bgp bmp receiver 5 BMP receiver 5 Host 10.0.101.1 Port 16666 Connected for 00:25:07 since Dec 31 16:25:07.269 Precedence: internet BGP neighbors: 1 VRF: - (0x60000000) Update Source: 9.9.9.9 (Lo9) Update Source Vrf ID: 0x60000000, Active: Y Message Stats: Total messages sent: 60 INITIATION: 1 TERMINATION: 0 STATS-REPORT: 0 PER-PEER messages: 59 Neighbor 20.0.101.11 Messages pending: 0 Messages sent: 59 PEER-UP: 1 PEER-DOWN: 0 ROUTE-MON: 58 RP/0/0/CPU0:R2#sh bgp bmp receiver 1 BMP receiver 1 Host 10.0.101.1 Port 16666 Connected for 00:30:40 since Dec 31 16:30:40.613 Precedence: internet BGP neighbors: 1 VRF: - (0x60000000) Update Source: - (-) Update Source Vrf ID: 0x0, Active: N Message Stats: Total messages sent: 31 INITIATION: 1 TERMINATION: 0 STATS-REPORT: 0 PER-PEER messages: 30 Neighbor 20.0.101.11 Messages pending: 0 Messages sent: 30 PEER-UP: 1 PEER-DOWN: 0 ROUTE-MON: 29
  • 21. BMP Client - Show RP/0/0/CPU0:R2#sh bgp nei 20.0.101.11 | beg BMP BGP Monitoring(BMP) activated for receivers: 1, 3, 5 ….
  • 22. BMP Client – Debug – debug bgp bmp Type 0 - Route monitoring message: RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: [BMP Messagw Dump : receiver (NULL), nbr 20.0.101.11, type Route Monitoring]: RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0300 0000 cb00 0000 0000 0000 0000 0000 RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0000 0000 0000 0000 0000 0000 1400 650b RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0000 0065 1400 650b 53b3 28cd 0000 6e5c P/0/0/CPU0:RJul 1 14:31:57 : bgp[1039]: [default-iord]: ffff ffff ffff ffff ffff ffff ffff ffff RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 009b 0200 0000 2040 0101 0040 0304 1400 RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 650b 4002 0a02 0400 6500 c900 ca00 cbf0 RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0800 0400 6503 e720 4702 0101 2047 0201 RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0220 4702 0103 2047 0201 0420 4702 0105 RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 2047 0201 0620 4702 0107 2047 0201 0820 RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 4702 0109 2047 0201 0a20 4702 010b 2047 RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 0201 0c20 4702 010d 2047 0201 0e20 4702 RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 010f 2047 0201 1020 4702 0111 2047 0201 RP/0/0/CPU0:Jul 1 14:31:57 : bgp[1039]: [default-iord]: 1220 4702 0113 2047 0201 14
  • 23. BMP Client – Debug – debug bgp bmp Type 1 - Stat-report message: RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: [BMP Message Dump : receiver 10.0.101.1, nbr 20.0.101.11, type Statistics Report]: RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0300 0000 6401 0000 0000 0000 0000 0000 RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0000 0000 0000 0000 0000 1400 650b RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0065 1400 650b 53f2 363b 000b 20f1 RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0005 0001 0004 0000 0090 0004 0004 RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0028 0005 0004 0000 0038 0007 0008 RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0000 0000 0018 0008 0008 0000 0000 RP/0/0/CPU0:Aug 18 10:22:03 : bgp[1039]: [default-ext]: 0000 0018
  • 24. BMP Client – Debug – debug bgp bmp Type 2 - Peer-down message: RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: [BMP Message Dump : receiver (NULL), nbr 20.0.101.11, type Peer Down Notification]: RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: 0300 0000 4602 0000 0000 0000 0000 0000 RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: 0000 0000 0000 0000 0000 0000 1400 650b RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: 0000 0065 1400 650b 53f2 3f6a 000c fd3a RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: 01ff ffff ffff ffff ffff ffff ffff ffff RP/0/0/CPU0:Aug 18 11:01:14 : bgp[1039]: [default-mgmt]: ff00 1503 0602
  • 25. BMP Client – Debug – debug bgp bmp Type 3 – Peer-up message: RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: [BMP Message Dump : receiver (NULL), nbr 20.0.101.11, type Peer Up Notification]: RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0300 0000 ac03 0000 0000 0000 0000 0000 RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0000 0000 0000 0000 0000 0000 1400 650b RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0000 0065 0000 0000 53f2 3fea 0005 3282 RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0000 0000 0000 0000 0000 0000 1400 0002 RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 00b3 7f51 ffff ffff ffff ffff ffff ffff RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: ffff ffff 003b 0104 0064 00b4 0202 0202 RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 1e02 0601 0400 0100 0102 0280 0002 0202 RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0002 0641 0400 0000 6402 0440 0200 78ff RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: ffff ffff ffff ffff ffff ffff ffff ff00 RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 2d01 0400 6500 b414 0065 0b10 0206 0104 RP/0/0/CPU0:Aug 18 11:03:22 : bgp[1039]: [default-iord]: 0001 0001 0202 8000 0202 0200
  • 26. BMP Client – Debug – debug bgp bmp Type 4 - Initiation message: RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: [BMP Message Dump : receiver 10.0.101.1, nbr (None), type Initiation Message]: RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 0300 0000 6b04 0001 005b 4369 7363 6f20 RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 494f 5320 5852 2053 6f66 7477 6172 652c RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 2056 6572 7369 6f6e 2035 2e32 2e32 2e31 RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 3849 5b44 6566 6175 6c74 5d0a 436f 7079 RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 7269 6768 7420 2863 2920 3230 3134 2062 RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 7920 4369 7363 6f20 5379 7374 656d 732c RP/0/0/CPU0:Aug 18 10:08:13 : bgp[1039]: [default-ext]: 2049 6e63 2e00 0200 0252 32
  • 27. BMP Client – Debug – debug bgp bmp Type 5 - Termination message: RP/0/0/CPU0:Aug 18 09:37:33 : bgp[1039]: [default-mgmt]: [10.0.101.1] receiver close called with reason 0x3 [state ESTAB] RP/0/0/CPU0:Aug 18 09:37:33 : bgp[1039]: [default-mgmt]: [BMP Message Dump : receiver 10.0.101.1, nbr (None), type Termination Message]: RP/0/0/CPU0:Aug 18 09:37:33 : bgp[1039]: [default-mgmt]: 0300 0000 1f05 0000 000f 636f 6e66 6967 RP/0/0/CPU0:Aug 18 09:37:33 : bgp[1039]: [default-mgmt]: 2073 6875 7464 6f77 6e00 0100 0200 00 RP/0/2/CPU0:Aug 18 09:37:33 : bgp[1039]: [default-mgmt]: [10.0.101.1] receiver close called with reason 0x3 [state NONE]