BGP is an external gateway protocol that exchanges routing information between routers in various autonomous systems. It is the protocol that is used between Internet service providers and can also be used between an enterprise and an ISP. The entire route to each destination is included in the BGP routing information. Using the routing information, BGP maintains a database of network reachability information, which it shares with other BGP systems. BGP protocol was designed for control, scalability, and reliability rather than speed.
Note: An autonomous system is a network or a group of networks that are all controlled and supervised by a single entity or organization.
What is BGP?
BGP (Border Gateway Protocol) is an interdomain routing protocol that uses path-vector routing. It is a standardized gateway protocol that is used to exchange routing information between autonomous systems on the internet. It manages how packets get routed from network to network through the exchange of routing and reachability information among edge routers.
When a network router is connected to other networks, it cannot decide which network is the best to share its data.
Working of Border Gateway Protocol
A network router cannot determine which network is the best for sending data when it is connected to different networks. BGP considers all available peering options a router has and selects the one that is nearest to the router. Each potential peer communicates the routing information it possesses, which is then stored in a routing information base (RIB).
This information is accessible to BGP, which can then use to choose the best peering option.
Characteristics of Border Gateway Protocol (BGP)
The Border gateway protocol (BGP) has the following characteristics, which are given below.
- Inter-autonomous System Configuration Establishing communication between two autonomous systems is possible using BGP’s inter-autonomous system configuration. A connection and information sharing would not be possible otherwise.
- Supports Next-hop Paradigm According to the next-hop paradigm, a data packet must be sent to the next or optimal choice among all potential routers. BGP’s next-hop feature allows connections to be optimized for faster network performance.
- Coordination Among Multiple BGP Speakers Within an Autonomous System (AS) Before choosing which one is the best choice for the next stop of data, BGP can scan all the possibilities. This requires its ability to coordinate with multiple BGP speakers simultaneously.
- Path Information The path information, which includes the next destination and the reachable destinations, is included in the BGP advertisement system.
- Policy Support BGP can implement policies that the administrator can configure. For example, a router running BGP can be configured to distinguish between routes known only within the AS and those from outside the AS.
- Runs Over TCP BGP runs over TCP, so it is compatible with the rest of the internet, which also uses Transmission Control Protocol (TCP) for communications. TCP ensures that data packets are delivered and sent across networks. BGP is also compatible with transport layer security (TLS), a virtual private network (VPN), and secure sockets layer (SSL).
- BGP Conserves Network Bandwidth BGP can be used to facilitate efficient network transmissions because it supports network bandwidth conservation, which allows an organization to make the most of its network.
- BGP Supports CIDR A way of allocating Internet Protocol (IP) addresses so they can be used for IP routing is known as classless inter-domain routing (CIDR). BGP does not affect the management or assignment of IP addresses because it supports CIDR.
- BGP also Supports Security BGP supports the existing security tools and protocols that different networks use, even though it does not have any built-in security features. Administrators can use BGP and secure their networks simultaneously due to this.
Functionalities of Border Gateway Protocol (BGP)
Following are the three functions that BGP peers perform.
- The first function consists of initial peer acquisition and authentication. A TCP connection was established between the peers, and a message exchange was performed to ensure that both sides had agreed to communicate.
- The second function primarily focuses on sending reachability information, whether it be positive or negative.
- The third function checks the peers and the network connection between them to verify that everything is functioning correctly.
BGP Route Information Management Functions
- Route Storage Individual BGPs that use route storage store information about how to reach other networks in a set of databases. Additionally, databases are used to store routing data that BGP can access.
- Route Update This task uses special techniques to determine when and how to use the information obtained from peers to update the routes properly. To determine relevant routing information, BGP sends update messages. These are kept in a routing table that is available once the system has started up.
- Route Selection Each BGP selects the best routes to each network on the internet using the information in its route databases.
- Route Advertisement BGP only advertises the best route to peers when multiple feasible routes exist. Only viable routes are advertised, which makes the network function more efficiently.
Difference Between External BGP and Internal BGP
Sr. No. | Parameter | External BGP (EBGP) | Internal BGP (IBGP) |
---|---|---|---|
1. | Abbreviation | EBGP stands for External Border Gateway Protocol. | IBGP stands for Internal Border Gateway Protocol. |
2. | Neighborship | There must be a separate AS (Autonomous Systems) between the two routers forming an EBGP neighborship. | There must be a shared AS (Autonomous Systems) between the two routers forming an IBGP neighborship. |
3. | Route Advertisement | EBGP routes received from an EBGP peer can be advertised to EBGP and IBGP peers. | IBGP routes received from an IBGP peer can be advertised to an EBGP peer but not to another IBGP peer. |
4. | Attributes | Attributes like local preference are not sent to the EBGP peers. | Attributes like local preference are sent to the IBGP peers. |
5. | Scope | EBGP is used between the organization or between the organization and Internet Service provider | IBGP is used within the same organization. |
6. | TTL | By default, EBGP peers are set with TTL = 1. | By default, IBGP peers are set with TTL = 255. |
7. | Administrative Distance (AS) | EBGP’s administrative distance is 20 by default. | IBGP’s administrative distance is 200 by default. |
8. | Topology | EBGP does not require full mesh topology. | IBGP requires full mesh topology. |
9. | AS Path addition | When advertised to an EBGP peer, the AS path is prepended to the route. | When advertised to an IBGP peer, the AS path is not prepended to the route. |
10. | Loop prevention mechanism | EBGP uses AS path for loop prevention. | IBGP uses BGP Split horizon for loop prevention. |
Note: Split horizon is a technique used by distance vector routing protocols to prevent network routing loops.
Conclusion
- Border Gateway Protocol (BGP) is a gateway protocol that is used to exchange routing information between routers in various autonomous systems.
- The main function of BGP is to exchange information about network reachability with other BGP systems.
- The BGP process on the router generates the routing table information based on information received from other routers and information stored in the BGP routing information base (RIB).
- BGP has several characteristics, including inter-autonomous system configuration, next-hop support, next-hop coordination within an autonomous system (AS), policy support, path information, conserving network bandwidth, Running over TCP (Transmission Control Protocol), Supporting Classless Inter-Domain Routing (CIDR), and Supporting Security.
- The main difference between the external border gateway protocol (EBGP) and the internal border gateway protocol (IBGP) is that EBGP runs between two BGP routers in different Autonomous Systems (AS). In contrast, IBGP runs between two BGP routers in the same AS.