Christmas Calendar: BGP Tables and Message Types

Posting this nearly 3 months after Christmas, yikes. Here is the final installation of my Christmas Calendar of 2019.

Day 2️⃣1️⃣: BGP stores routing information in three tables: 1) Adj-RIBs-In contains unprocessed NLRI received from BGP peers, 2) Loc-RIB holds the routes that have passed filtering/inbound BGP policy, and 3) Adj-RIBs-Out organizes routes for advertisement.

Day 2️⃣2️⃣: The four BGP message types are OPEN, UPDATE, KEEPALIVE, and NOTIFICATION. These BGP messages are sent after the TCP connection has been established.

This diagram summarizes the purpose of each BGP message type.

Day 2️⃣3️⃣: Each BGP message has a fixed-size header. There may or may not be a data portion following the header, depending on the message type. A KEEPALIVE message consists of only the message header.

Day 2️⃣4️⃣: The BGP OPEN message is used to establish a BGP adjacency. Both sides negotiate session capabilities before a BGP peering establishes.

The BGP UPDATE message is used to transfer routing information between BGP peers. An UPDATE message is used to advertise feasible routes that share common path attributes, or to withdraw unfeasible routes from service. Both can be done in a single UPDATE message.

The BGP NOTIFICATION message is sent when an error condition is detected. The BGP connection is closed immediately after it is sent.


  1. How often is a BGP update sent between the peers?


Post a Comment