- Let's take a look at why we might need
a BGP route reflector, and then we'll take a look at
how we can configure that.
So, here we have four routers in our topology,
we have R1, an AS 65100, and we have R2, R3, and R4,
all in AS 65200.
I've already gone and configured BGP for this network,
so that's all done.
We have a very basic BGP configuration containing both
EBGP and IBGP, neighbor-adjacencies.
So let's talk about the way that IBGP neighbors work,
by default, a BGP-enabled router that receives
an IBGP route.
In other words, if I learn a route from another router
that's in my own autonomous system,
I'm not going to advertise that to any other router
that lies within that same autonomous system.
If we go over to R2, and let's say, "show IP BGP",
and we'll see our learned BGP routes.
We can see that R2 knows about the 10.1.1.0 network,
which is the loopback on R1,
we can see that from our topology.
Because this was learned from another autonomous system
other than the one R2 is in,
this will be advertised from R2 over to R3.
We can verify that by going to R3,
doing the same command, "show IP BGP",
and you can see that in fact,
we do have knowledge of that route.
R2 has shared that information with R3.
So that means that this route will not be advertised
to any of the other neighbors in this autonomous system.
So, if we go to R4, it should be the case that R4
does not know about this route.
So, again, we'll say "show IP BGP",
and you'll see right away that we do not have knowledge
of the 10.1.1.0 network.
Also notice, the 20.1.1.0/30 network is also missing,
that's because we have the same scenario.
R3 learned that route from R2's advertisement,
but R3 is not passing this over to other routers
within its own autonomous system, which is, of course,
in this case, R4.
So R3 learned these routes from an IBGP neighbor,
which is R2, but it will not pass those routes on to R4.
Now, you may be thinking:
"Well, a really easy fix for this is just making
R2 and R4 neighbors."
We can do that, if we do that and we create a full mesh
within the 65 to 100 autonomous system,
where all of our routers are talking to one another,
that will correct this, but let's scale this up,
let's assume we have dozens and dozens
of routers in a service provider cloud.
Well, that's where it becomes not very scalable at all.
So what we can do instead is use a route reflector,
specifically, in this case, we're going to configure R3
as a BGP route reflector, and when we do that,
any routes learned from an IBGP neighbor on R3
are going to be reflected to other routers
within the same autonomous system.
So this means that the routes we currently
see missing from R4, which are the 10.1.1.0 and
20.1.1.0 networks, those will actually appear on R4
once we set that up as a reflector.
It's a great solution and its really easy to configure.
So let's go back to R3, and let's go under
global configuration mode, and let's say "router BGP",
our autonomous system number is 65200,
and we're going to issue an additional
neighbor statement for each neighbor,
stating that these neighbors are route reflector clients.
We can do that by saying neighbor,
we'll first say 30.1.1.1, and we want to use the keyword;
not router, mistyped that; route-reflector-client.
So we'll hit Enter, that takes care of R2,
we will see our adjacency go down and come back up
as the BGP session is rebuilt, so that's totally normal.
Let's run the command again for R4,
so we'll say: neighbor 40.1.1.1, and we'll say:
route-reflector-client, so actually we want to do
40.1.1.2, that's actually the IP address pointing to R4.
We'll hit Enter, and again, we'll get some console messages
stating that our previous adjacencies have gone down,
and the BGP session is rebuilt.
So, let's go ahead and clear our BGP sessions,
so that we can make sure we aren't looking
at obsolete information in our tables.
So we'll say: clear IP BGP *,
and we will see those adjacencies go down and come back up,
let's go over to R2 and run the same command:
clear IP BGP *, and on R4, clear IP BGP *.
So, now we have, our sessions have been reset,
we've cleared our BGP information,
wait for our adjacencies to go back up,
now we see neighbor 40.1.1.1 in the "up" state,
so we'll have to give this probably a couple of moments
before we're able to see new information,
but, what we're wanting to see, we're want to see here
if we have those two additional networks
that we did not know about earlier.
Earlier, on R4, we did not see the 10.1.1.0 network,
and we did not see the 20.1.1.0 network,
so let's say "show IP BGP",
now we actually do have these networks in there,
these two additional networks that we did not know about,
we see 10.1.1.0, and 20.1.1.0, which are being reflected
from R3 over to our R4 router.
So that's a quick look at why we need BGP route reflectors,
how those help us to overcome limitations of IBGP,
and how we can very easily configure that.