BGP Border Gateway Protocol

 All of the dynamic routing protocols we have seen so far were IGP, the Interior Gateway Protocol. BGP protocol is an EGP, exterior gateway protocol. If you ask what is the difference between IGP and EGP, as their names suggest, internal gateway protocols can forward within the same autonomous system, while external gateway protocols can perform packet routing between different autonomous systems. To explain through an example, when you make a request to addresses such as facebook or Google from Turkey, your packages pass through the routers of many different Internet Service Providers until they go to America. If you are using Türk Telekom in your location even in Turkey and you make a request to the web page of an institution served by Süperonline, your packages are exposed to the BGP routing protocol. Because when routing between routers in different autonomous systems like this, an external gateway protocol such as BGP is used. To sum up, the most important factor that distinguishes the BGP protocol from other dynamic routing protocols is that it can route between different autonomous systems.


BGP Features

– As we just said, BGP is an advanced routing protocol used by Internet service providers.

– As we mentioned in our dynamic routing overview lesson, routers in BGP are assigned an autonomous system number between 1 and 65535 and can route between routers with different autonomous system numbers.

– Considers the number of autonomous systems that are traversed while calculating metrics and going to the destination network to create the BGP routing table.

– BGP packets are forwarded over TCP port 179. Since the TCP protocol is used, no extra verification is done.

– BGP packets with a length of 19 bytes are transmitted every 60 seconds.

– BGP supports CIDR, “Classless Inter-Domain Routing” where IP addresses can be abstracted.

– Only changed routes are sent in update packages.

– Package security is ensured thanks to the MD5 algorithm.


EBGP & IBGP

We said that the most basic feature that distinguishes the BGP protocol from the other routing protocols we have mentioned is that it can route between different autonomous systems. In addition, BGP protocol routing can be done within the same autonomous system.

EBGP, Exterior Border Gateway Protocol, is used for routers in different autonomous systems to establish neighborhoods with each other. The network information learned from the neighbor through this protocol is added to the routing table with an administrative distance value of 20.

IBGP, Interior Border Gateway Protocol is used in order for routers in the same autonomous system to establish a neighborhood with each other. The network information learned from the neighbor via this protocol is added to the routing table, with the value of "administrative distance" being 200.


BGP Tables

The BGP protocol has tables just like the EIGRP and OSPF protocols. These tables are as follows;

NEIGHBOR TABLE: As the name suggests, the information of all Routers that a Router communicates with is in the neighborhood table.

BGP TABLE: It is the table that contains the update information received from other devices.

IP ROUTING TABLE: It is the table of the best routes to the destination network in the BGP table.


Route Selection in BGP


While calculating the route to the target network in the BGP protocol, the number of autonomous systems passed is checked first. For example, if there are 2 different routes from point A to point B, that route is used whichever route is passed over the less autonomous system. In the example you see in the figure, since two different autonomous systems, AS1 and AS2, are passed on the route above, the route passing over AS3 is preferred, since communication can be made over a single AS3 below. If the number of autonomous systems passed were equal, then the distance to the next router would be looked at and the route with the nearest router would be preferred. In our example, you don't want any packets to pass through AS3, because there are too many routers in that autonomous system and the bandwidth of that line is lower than the other line. For a reason like this, if we want to optimize the route manually, we make use of BGP attributes.

Kommentit