The border gateway protocol or BGP is the standardized protocol used to exchange routing information between routers on the internet. BGP has two implementations based on whether it is exchanging routing information with-in or between Autonomous systems (AS).
eBGP vs iBGP
The implementation of BGP that exchanges routing information between peers with-in an AS is called iBGP or internal BGP.
eBGP or external BGP exchanges routing information between AS’s. An autonomous system is a collection of networks that are centrally managed under a single administrative domain.
In simpler terms eBGP works on the wider internet whereas iBGP works with-in organizations like ISPs, institutions and government organizations.
Full mesh configuration
iBGP peers need to be arranged in a fully meshed architecture. This means that every peer with-in the AS has to be connected to every other peer through an iBGP session. The mesh configuration allows the edge router that received the routing information over eBGP to exchange it with every other router directly.
The reason for this mesh configuration and having every edge router exchange routing information with peers directly, is to avoid routing loops with-in the AS. BGP routers usually use the AS path attribute to avoid loops. This works well enough for route exchanges between AS’s, however since the AS path attribute remains the same for route advertisements with-in the AS, this can lead to routing loops. To avoid these routing loops, routes learned from an iBGP peer are not allowed to be advertised to peers with-in the AS. Only routes learned from a router outside the AS can be exchanged with-in the AS.
The full mesh requirement of iBGP rapidly becomes un-manageable in large networks. Scaling to meet the required number of connections becomes increasing difficult.
To avoid this, network administrators usually use route reflectors or BGP confederations.
Route reflectors are used by network administrators to exchange routing information between iBGP peers with-in an AS. Typically this is not allowed in iBGP. The requirement for the mesh configurations is removed because the routers receive routing information from the route reflector. They no longer have to maintain iBGP connections with all other routers with in the AS.
BGP confederations allows an AS to be divided into several sub-AS’s. The iBGP full mesh requirement is still there for each sub AS, but it is no longer as extensive as for the full AS. Each sub AS acts as an AS and exchangers routing information through eBGP.
How Datapath.io uses route reflectors to optimize BGP routing
Datapath.io is a network optimization solution. Datapath.io builds a real-time performance map of the internet. Based on this map we re-engineer BGP best path selection algorithm to make routing decisions based on performance. This allows us to reduce latency, packet loss and jitter over the public internet.
The Datapath.io appliance integrates into existing networks using the internal Border Gateway Protocol (iBGP).
The router of the hosting provider is configured as a route reflector that peers with the Datapath.io appliance. According to the requirements of the application, the Datapath.io appliance overrides the local preference of certain routes and communicates them back to the router of the hosting provider. This results in performance improvements of up to 60%.
Download the whitepaper to learn more about how Datapath.io optimizes network performance.