BGP is generally referred to as the routing protocol of the internet.
- It runs on TCP port 179 and it is regarded as the routing protocol of the internet even though is it not fast as other routing protocols.
- It has multiple route selection criteria some of which are: weight, local preference, Originate, AS path length, Origin code, MED, eBGP path over iBGP path, Shortest IGP path to BGP next hop, Oldest Path, Router ID, Neighbor IP address
- BGP stores the routing information it gets in the Routing Information Base (RIB). This is what it relies on to make is routing decision when the need arises.
- BGP Speaker passes through four stages before it can declare it connecting/connected router neighbor. The states are idle, open sent, open confirmed, established.
- Once a routing table has been built, it needs to be updated regularly so that any changes in the network can be reflected in the routing table. This process is known as route updating, and it involves sending messages back and forth between two or more ASs to keep their respective routing tables up-to-date.
- The current BGP is formed on the bases of RFC 4271 and ratified in 2006, the current version of BGP-4 supports both IPv6 and Classless Inter-Domain Routing (CIDR), which enables the continued viability of IPv4. Using CIDR enables a network to have more network addresses than with the current IP address assignment scheme.
- BGP have four types of messages namely Open messages, Update messages, Keepalive messages, Notification messages.
Open Message – Initiates a BGP Peering connection, After TCP three-way handshake is completed.
Update Message – Routing advertises to a peer, Routing update/withdraws routes.
Notification Message – Reports error condition to a BGP neighbor.
Keep-alive Message – Keeps a constant check on BGP neighbors to ensure they are still alive.