As the Internet is composed of many ASes: ISPs, universities, multi-homed networks… the inter-AS routing policies are getting more and more complex. BGP is the today’s EGP, which handles these policies between the ASes. The border gateway is the router that interconnects many ASes. BGP allows you to create loop-free interdomain routing between ASes.
BGP came up at the beginning of the 90’s. The first RFC of BGP was published in 1989. The today’s BGP is referred to as BGP 4, which was described by the RFC 1771. It is an exterior routing protocol that distributes some network reachability information. These network information are a set of network prefixes, which could be either IPv4 or IPv6 network prefixes; and the reachability information are a list of ASNs that are crossed to reach some network prefixes.
BGP runs over the unicast TCP on the well-known port 179. The same TCP port is used for both IPv4 and IPv6.
Any two routers which have established a TCP connection to exchange BGP routing information are called BGP peers or BGP neighbors. The two peers begin by exchanging their full BGP table, then incremental updates are sent when the routing tables change.
When BGP is running between two routers belonging to different ASes it is called Exterior BGP, sometimes referenced as eBGP. When the two routers belong to the same AS it is called interior BGP, referenced as iBGP.
In routing protocols design rules, the BGP routing protocol is mainly used to exchange routing information between different Autonomous Systems. Within the same AS, routing information is exchanged through an IGP routing protocol like RIP or OSPF.
Today, BGP is used to establish peering for various usages:
Transit peering: Forwarding data to/from other ISP’s networks.
Downstream peering: Forwarding data to/from enterprises.
Private peering: Establish VPN connectivity for customers with multiple sites, for instance. L3VPN and L2VPN are some use cases.
Public peering with IXP to benefit from numerous partners.
The BGP is handled by FRR.
Turbo IPsec provides the following features:
- RFC 1771:
A Border Gateway Protocol 4 (BGP-4)
- RFC 1997:
BGP Communities Attribute
- RFC 2545:
Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing
- RFC 4364:
BGP/MPLS IP Virtual Private Networks (VPNS)
- RFC 2796:
BGP Route Reflection An alternative to full mesh iBGP
- RFC 2858:
Multiprotocol Extensions for BGP-4
- RFC 3065:
AS confederations for BGP
- RFC 4360:
BGP Extended Communities Attribute
- RFC 4456:
BGP Route Reflection: An Alternative to Full Mesh Internal BGP
- RFC 4384:
bgp/mpls IP Virtual Private Networks (VPNs)
- RFC 5575:
Dissimination of Flow Specification Rules
- RFC 6793:
BGP support for Four-Octet Autonomous System (AS) Number Space
- RFC 7911:
Advertisement of Multiple Paths in BGP
- RFC 8093:
BGP Large Communities Attribute
The command reference for details.