BGPH: Border Gateway Protocol Homepage
The Border Gateway Protocol (BGP) is the core routing protocol of the
Internet. It works by maintaining a table of IP networks or 'prefixes' which
designate network reachability among autonomous systems (AS). It is described as
a path vector protocol. BGP does not use traditional IGP metrics, but makes
routing decisions based on path, network policies and/or rulesets.
Since 1994, version four of the protocol has been in use on the Internet. All
previous versions are now obsolete. The major enhancement in version 4 was
support of Classless Inter-Domain Routing and use of route aggregation to
decrease the size of routing tables. From January 2006, version 4 is codified in
RFC 4271, which went through well over 20 drafts from the earlier RFC 1771
version 4. The RFC 4271 version corrected a number of errors, clarified
ambiguities, and also brought the RFC much closer to industry practices.
BGP was created to replace the EGP routing protocol to allow fully decentralized
routing in order to allow the removal of the NSFNet Internet backbone network.
This allowed the Internet to become a truly decentralized system.
Very large private IP networks can also make use of BGP. An example would be the
joining of a number of large Open Shortest Path First (OSPF) networks where OSPF
by itself would not scale to size. Another reason to use BGP would be
multihoming a network for better redundancy either to a multiple access points
of a single ISP (RFC 1998) or to multiple ISPs.
Most Internet users do not use BGP directly. However, since most Internet
service providers must use BGP to establish routing between one another
(especially if they are multihomed), it is one of the most important protocols
of the Internet. Compare this with Signalling System #7 (SS7), which is the
inter-provider core call setup protocol on the PSTN.