Border Gateway Protocol (BGP) is an exterior gateway protocol (EGP). It is called internal BGP (IBGP)
when it runs within an AS and called external BGP (EBGP) when it runs between ASs.
The current version in use is BGP-4 (RFC 4271).
BGP has the following characteristics:
Focuses on route control and selection rather than route discovery and calculation.
Uses TCP to enhance reliability.
Measures the distance of a route by using a list of ASs that the route must travel through to reach the
destination. BGP is also called a path-vector protocol.
Reduces bandwidth consumption by advertising only incremental updates. BGP is very suitable to
advertise large numbers of routes on the Internet.
Eliminates routing loops by adding AS path information to BGP route updates.
Uses policies to implement flexible route filtering and selection.
Has good scalability.
BGP speaker and BGP peer
A router running BGP is a BGP speaker. A BGP speaker establishes peer relationships with other BGP
speakers to exchange routing information over TCP connections.
BGP peers include the following types:
IBGP peers—Reside in the same AS as the local router.
EBGP peers—Reside in different ASs from the local router.
BGP message types
BGP uses the following message types:
Open—After establishing a TCP connection, BGP sends an Open message to establish a session
with the peer.
Update—BGP sends update messages to exchange routing information between peers. Each
update message can advertise a group of feasible routes with identical attributes and multiple
Keepalive—BGP sends Keepalive messages between peers to maintain connectivity.
Route-refresh—BGP sends a Route-refresh message to request the routing information of a specific
address family from a peer.
Notification—BGP sends a Notification message upon detecting an error and immediately closes