BGP (Border Gateway Protocol) is a routing information exchanging protocol between gateways called “edge routers” which connects Autonomous Systems. This protocol can also be used by routers inside an AS, but in this case it’s known as IBGP (internal BGP).
BGP is based on IP networks tables (aka routing tables) which provide information about reachability of networks of different Autonomous Systems: BGP is based on path-vector and routing decisions are taken according to the policies of each network.
Current version is BGP-4.