API Guide

Classless interdomain routing
BGPv4 supports classless interdomain routing (CIDR) with aggregate routes and AS paths. CIDR defines a network using a
prefix consisting of an IP address and mask, resulting in efficient use of the IPv4 address space. Using aggregate routes reduces
the size of routing tables.
Path-vector routing
BGP uses a path-vector protocol that maintains dynamically updated path information. Path information updates which return to
the originating node are detected and discarded. BGP does not use a traditional Internal Gateway Protocol (IGP) matrix but
makes routing decisions based on path, network policies, and/or rule sets.
Full-mesh topology
In an AS, a BGP network must be in full mesh for routes received from an internal BGP peer to send to another IBGP peer.
Each BGP router talks to all other BGP routers in a session. For example, in an AS with four BGP routers, each router has three
peers; in an AS with six routers, each router has five peers.
Sessions and peers
A BGP session starts with two routers communicating using the BGP. The two end-points of the session are called peers. A peer
is also called a neighbor. Events and timers determine the information exchange between peers. BGP focuses on traffic routing
policies.
Sessions
In operations with other BGP peers, a BGP process uses a simple finite state machine consisting of six statesIdle,
Connect, Active, OpenSent, OpenConfirm, and Established. For each peer-to-peer session, a BGP implementation
tracks the state of the session. The BGP defines the messages that each peer exchanges to change the session from one state
to another.
Idle
BGP initializes all resources, refuses all inbound BGP connection attempts, and starts a TCP connection
to the peer.
Connect Router waits for the TCP connection to complete and transitions to the OpenSent state if successful. If
that transition is not successful, BGP resets the ConnectRetry timer and transitions to the Active
state when the timer expires.
Active Router resets the ConnectRetry timer to zero and returns to the Connect state.
OpenSent Router sends an Open message and waits for one in return after a successful OpenSent transition.
OpenConfirm Neighbor relation establishes and is in the OpenConfirm state after the Open message parameters are
agreed on between peers. The router then receives and checks for agreement on the parameters of the
open messages to establish a session.
Established Keepalive messages exchange, and after a successful receipt, the router is in the Established state.
Keepalive messages continue to send at regular periods. The keepalive timer establishes the state to
verify connections.
After the connection is established, the router sends and receives keepalive, update, and notification messages to and from its
peer.
Peer templates
Layer 3
573