blog posts

What Is A Border Gateway Protocol And What Is Its Role In The World Of Computer Networks?

What Is A Border Gateway Protocol And What Is Its Role In The World Of Computer Networks?

The Border Gateway Protocol (BGP) Enables Communication Between Standalone Systems And Is Also Known As The Internet Protocol. 

Border Gateway Protocol, While Protocols Such As OSPF And IS-IS Set A Limit On The Number Of Routers In A Given Area, The BGP Protocol Does Not Have This Limit Because It Does Not Require Two Routers To Communicate Directly With Each Other In A Network.

BGP consists of several independent systems and is used by network edge routers. This routing protocol is vector-based and in a communication network can manage to send packets through specific BGP messages sent between routers during TCP sessions. It has led to good routing performance, as it uses a variety of criteria to select the best route. However, an essential factor that has made this protocol popular is its configuration.

The protocol can configure to work according to specific policies. For example, this is an example of avoiding using a particular router or commanding a group of routers to select a specific route when different routes are available.

The BGP is typically used as an advanced routing vector protocol. It stores dynamic route information beyond adjacent routers and information about active routes that may use in the future. It is compatibility and scalability that have led to the above protocol being considered.

However, due to various factors that can be considered when calculating the best routes, the BGP protocol is defined as a hybrid routing protocol because it has both the properties of distance-vector and state-link routing protocols.

What is an autonomous network system?

The Internet is a collection of networks, and Autonomous Systems are the extensive networks that make up the Internet. More precisely, autonomous systems, called AS for short, are an expansive network or group of networks with a single routing policy. In general, it can say that any computer or device that connects to the Internet is considered an AS. The autonomous system can compare to the city post office.

Letters are sent from one post office to the next post office in the city to reach their destination. In this way, packets are transferred from one AS to the next AS to cross the Internet to get the AS with the destination IP address. In the meantime, routers are responsible for sending data packets to the IP address.

It should note that each AS is responsible for controlling a specific set of IP addresses. In the same way, each city’s post office is responsible for delivering the letter to all the addresses in its town.

The range of IP addresses controlled by an AS is called the IP Address Space.

Typically, autonomous systems connect to other autonomous systems to form large networks.

If an autonomous system connects to only one independent system and shares the same routing policy, it is considered a sub-network and subset of the first autonomous system. Typically, each AS is operated by a large organization such as an Internet Service Provider (ISP), a large technology company, a university, or a government agency. Typically, autonomous systems connect to other autonomous systems to form large networks.

If an autonomous system connects to only one independent system and shares the same routing policy, it is considered a sub-network and subset of the first autonomous system.

Typically, each AS is operated by a large organization such as an Internet Service Provider (ISP), a large technology company, a university, or a government agency. Typically, autonomous systems connect to other autonomous systems to form large networks.

If an autonomous system connects to only one independent system and shares the same routing policy, it is considered a sub-network and subset of the first autonomous system. Typically, each AS is operated by a large organization such as an Internet Service Provider (ISP), a large technology company, a university, or a government agency.

What is BGP?

The Border Gateway Protocol (BGP) is an autonomous system routing protocol that interfaces with other routing protocols. The term “autonomous” here refers to a network or group of networks managed and controlled through a common management mechanism that shares standard routing policies. BGP is also used to exchange routing information and is a protocol used by Internet service providers.

Typically, consumer networks, such as universities and corporations, use the Internal Gateway Protocol (RIP), or OSPF, to exchange routing information within the web, then send inbound traffic to the Internet service provider. This protocol is used in interaction with the IGP protocol. Finally, the ISP uses BGP to exchange traffic and route packets correctly. One of the main features of BGP is its scalability.

This protocol does not have this limitation compared to other protocols such as OSPF and EIGRP that are available for a certain number of routers in a domain and are used to connect large networks. BGP itself is divided into two types: internal type (iBGP) and external type (eBGP). If autonomous systems use BGP, it is called external BGP or eBGP for short. If a service provider uses BGP to exchange routes within an autonomous system, this internal BGP protocol is called iBGP for short.

BGP is a powerful and flexible routing protocol that has made it one of the key Internet protocols. In addition, communication between routers on different networks is done through the BGP protocol and in the form of FullMesh. The loop prevention rule does not allow a router to propagate routes received through an iBGP within the same iBGP. 

There are over 90,000 registered BGP-related routes in Internet BGP routing tables. BGP uses many routing parameters, called attributes, to achieve scalability at this level to define route routing and create a stable routing environment.

In addition, BGP uses classless routing properties, abbreviated as CIDRs, to reduce the size of Internet routing tables. When a TCP connection is first established between neighbors, BGP neighbors exchange complete routing information.

When changes to the routing table are detected, BGP routers only send routes to their neighbors that have changed. The BGP routers do not send routing updates periodically and only send routed changes.

When changes to the routing table are detected, BGP routers only send routes to their neighbors that have changed. When changes to the routing table are detected, BGP routers only send ways to their neighbors that have changed.

BGP index features

BGP paths have many similarities, making it the best choice when multiple routes are available. For this reason, network administrators must have a thorough knowledge of BGP features to apply the best design pattern. The following features of this protocol should mention:

  • Extensibility: IGP sub-protocols are designed for in-house applications and do not work well for large networks such as the Internet. There may be millions or perhaps billions of routing paths, and these protocols may not manage all paths. BGP is a protocol designed to overcome this problem and perform the routing process associated with these routes. So when the number of ways increases or we are going to do the routing process in data centers, BGP is the best option. The BGP protocol is not limited to the Internet and is used in urban or long-distance projects such as connecting branches to each other.
  • Independent, autonomous systems: BGP has good flexibility with IGP protocols. As mentioned, you can use IGP protocols (OSPFE, EIGRP, and similar examples) at in-house centers and BGP on an urban or national scale for routing.
  • Routing Based on Definitive Policies: Network administrators can use their routing policies instead of the default settings. This approach directly reduces costs, especially when choosing the cheapest and shortest route.
  • Weight: Weight is a unique feature of routers. It means that each router has its weight. If the router has different routes for one route, it chooses the route with the highest weight; For example, in Figure 1, you can see the weight assigned to the two ways to the network 172.16.1.0 for routers B and C. When router A receives information from router B, the corresponding weight is 50. When router A receives information from router C, the related weight is 100. Both paths for the 172.16.1.0 network have their weights recorded in the BGP routing table. Next, the course with the highest weight in the IP Routing table is selected.

figure 1

  • Local PreferenceLocal prioritization property is used to select the exit point of the Local Autonomous System (Local AS). Unlike the weight attribute, the Local Preference attribute is not unique to the local autonomy system and is available in distributed form. If there are multiple exit points from the autonomous system, the Local Preference attribute specifies a specific route to select the exit point. In Figure 2, the AS 100 receives two paths for the 172.16.1.0 network from the AS 200. When router A gets information for the 172.16.1.0 network, it sets the corresponding Local Preference to 50. When Router B receives the information for the 172.16.1.0 network, it sets the corresponding Local Preference to 100. This information is then shared as part of the BGP features between routers A and B.

figure 2

  • Multi-Exit Discriminator: The Multi-Exit Discriminator (MED), which some sources use to describe the word metric, selects the best path for an external autonomous system. In Figure 3, the multi-output identifier of router C emits the approach to address 172.16.1.0 with metric 10, while router D emits the course to 172.16.1.0 with metric 5. The lower the measured value, the higher the priority, so AS 100 uses AS 200 to reach router D for the network with address 172.16.1.0. It should note that MEDs are distributed in a local autonomous system.

Figure 3

  • Origin attribute: This shows how BGP was notified of a particular route. Origin can have one of three values:
  • IGP: In fact, it shows the internal path to the origin of the autonomous system. This value is set when the network router configuration command explicitly enters the course to BGP.
  • EGP: The path is found through the Exterior Gateway Protocol (EGP).
  • Incomplete: Indicates that the origin of the path is unknown or obtained through undefined methods. A vague source problem occurs when a route is redistributed in BGP.
  • AS_path attribute: When the routing table passes through an autonomous system, the AS number is added to a custom list of independent system numbers associated with the routing table. Figure 4 shows the state in which a path passes through three autonomous systems.

Figure 4

AS 1 starts its path to 172.16.1.0 and specifies it along the AS 2 and AS 3 paths in AS_path. AS 3 responds using the AS_path {3,1 attribute and AS 2 responds using the AS_path {2,1. Attribute. In this case, AS 1 will ignore the mentioned routes if it identifies its own AS number in the route publication list.

BGP uses this mechanism to identify routing loops. AS 2 and AS 3 publish the route to each other with their AS numbers added to the AS route attribute. These routes are not enabled in the IP Routing table because AS 2 and AS 3 use their shorter AS-Path list to reach 172.16.1.0 via AS 1.

  • Next-Hop attribute: The Next-Hop point indicates the IP address used to reach the target router. This attribute is the same as the IP address of the Peers connection. In connection with the iBGP protocol, the following address is passed to the local autonomous system. EBGP synchronization is a crucial feature of the BGP protocol on the Internet. eBGP manages the process of exchanging network prefixes between standalone systems.

In Figure 5, Router C releases the 172.16.1.0 network with Next Hop 10.1.1.1. When router A publishes this path in its autonomous system, it stores Next-Hop information. If router B does not have routing information about Next Hop, this route will skip.

Figure 5

  • Community attribute: The solution used to group destinations is called a community. Routing decisions (such as acceptance, preferences, and redistribution) are more accessible in this case. Route maps are used to set the Community attribute. This feature has several predefined settings as follows:
  1. no-export: This path should not be published to Peer GBP counterparts.
  2. No-advertise: This path should not be published for any of the peers.
  3. Internet: This path should be published for the Internet Community, as all ways belonging to external networks are eventually connected to the Internet. Figure 6 shows the BGP no-advertise Community feature.

Figure 6

AS 1 with the Community No-Export attribute publishes the address 172.16.1.0 for AS 2 (Figure 7). In Figure 8, like 1, the Community No-Advertise attribute publishes the address 172.16.1.0 for AS 2. Figure 8 shows the Internet Community feature. Note that there are no restrictions on routes from AS 1 here.

Figure 7

Figure 8