Border Gateway Protocol (BGP) is one of the core routing protocols used by most of the service providers on the Internet. Most core routing decisions on the Internet are made by BGP. The current version (version 4) of the protocol is defined in RFC4271.

BGP can run as either an interior or exterior protocol, and when run as an interior protocol, it may be referred to as IBGP.

As an exterior protocol, BGP’s main role is to transmit to other BGP routers any routes being managed by an interior gateway protocol, thereby allowing the routes to be used by all systems in both areas.

BGP is often the protocol used between gateway hosts on the Internet. The routing table contains a list of known routers, the addresses they can reach, and a cost metric associated with the path to each router so that the best available route is chosen.

To identify the systems for which BGP is supposed to be transferring routing information, BGP makes use of Autonomous Systems (AS) which are groups of routers on your network.

In most cases, you will need to implement this protocol only when attempting to provide redundant routing between you and your service provider.