Good Morning Guys,
This is a very old post of mine, and actually, this was the first post of mine back in 2013. Since I am migrating to my new website, hence I am republishing it here but I will never delete that post in my old blog.
Here you Go……
Route reflectors do one very important thing in an iBGP network, and that’s to disable the iBGP ‘split-horizon rule’.
iBGP Split-Horizon rule says that if I am a router running iBGP and I learn a route from another iBGP peer, I will never advertise that route to another iBGP peer.
All the routers above are running iBGP. R1 has a network x….It will advertise network x to R2. However, R2 will never tell R3 of network x, because of the iBGP Split-Horizon rule. This has severely hampered the propagation of routes in our network.
There are two ways of solving this. One, you could create a full mesh, meaning every router is connected to every other router; that would mean connecting R1 to R3 in our case, as shown below. That way, R1 is connected to R3 and can tell R3 of network x without going through R2. (as shown below)
This may work in our example of 3 routers, but it is not a scalable solution in a larger network.
That’s where route-reflectors come in.
Here, we simply designate R2 as a route-reflector, by telling it that R1 and R3 are its route-reflector clients with the command “neighbor R2 route-reflector-client”……..R2 will, therefore, reflect or pass on as it were the routes it receives from R1 like network x to R3 and vice versa…..
This way, we have disabled the split-horizon rule for iBGP, to enable prefix propagation and thereby create a very scalable iBGP network…..
Am sure this is much easier than performing redistribution 🙂