BGP Split Horizon Explained [With Example]
What is BGP Split Horizon rule:
One of the main BGP loop prevention mechanisms is Split Horizon:
“A BGP router does not advertise the routes learned from an iBGP peer to other iBGP peers.“
Let’s take an example to understand it better:
BGP Split Horizon Example :
- Consider the topology below:
The router ISP-2 advertised a route to R3 via eBGP, and Router R3 advertises this route learned from Router ISP-2 to Router R2.
According to BGP Split horizon Rule (Loop prevention mechanism inside the BGP Autonomous System), the Router R2 will not advertise this route to its iBGP peer Router R1 (because Router R2 learned this route from router R3 which is an iBGP peer).
Therefore, Router R1 will not learn the route coming from AS 64002.
Note: Split Horizon is a loop prevention mechanism and it’s implemented by default.
BGP Full mech architecture:
To avoid this problem, an iBGP full mesh should be established in the AS 64003. That way, each route advertised from eBGP peers (ISP-1 or ISP-2) can be advertised to the iBGP peers (in Full mech all iBGP peers will be neighbors of each other), that way we can bypass the Split horizon rule:
BGP Full mech scalability issue:
But, the full mech architecture doesn’t scale well, imagine having 50 routers inside the Autonomous System, how much iBGP peer should be established in this scenario?
The formula is n(n-1)/2.
n= 50x(50-1)/2 = 1225 !!
Well, in order to overcome this scalability issue, another mechanism can be used which is BGP Route Reflector.