[Note: Click the “DOWNLOAD” button to the right to download the free config files for this interactive lab]

Transcript: Welcome to the CCDA lab where we will be looking at some of the considerations for a scalable BGP design, including how to overcome the requirement for fully-meshed internal BGP sessions by using route reflectors.

In this lab we have three routers, R1, R2, and R3. Now, we assume they are all in one AS, right? So, if I open up the console for the three of them, R1, R2, and R3 … Let’s do a show run on this guy. Actually, let’s just focus on the BGP configuration. You notice on R1 it has a neighbor of, so this is R2.

If I were to come on R2, and I did a show run section router, now R2 has two neighbors, R1 and R3. Now, notice that they are still in the same AS, so this is an internal BGP session. Now, R3, if I do a show run section router, R3 has a relationship with only R2, and it’s also advertising a network.

So, if I do a IP interface brief, it’s advertising its loop-back interface. Right? Alright. If I were to come to R2 and I did a show IP BGP, now notice that the network from R3, R2 has that network, and it will be in its routing table. That’s the network right there.

But, if I were to check R1, show IP BGP, as you can see that network is not there. Now, the reason is because these guys are all internal BGP peers. So, if R3 advertises that network to R2, R2 will not advertise it to R1, because, like we said, they must full IBGP peer relationships inside an AS.

CCNA Quad Instant Pricing – Intense

One thing we could do is to form an IBGP relationship between R1 and R3. Now, it doesn’t have to be a direct connection, it just has to be logical, because BGP uses TCP. So, I’ll come to R1, and the first thing I want to do is, if I do a show IP route, R1 doesn’t know about this 10.0.23 network, so that’s the first thing we will configure.

Let’s actually use a static route for that. So, we’ll say, “IP route,” and we’ll run it through R2. Now I’ll come on that the BGP relationship, so that’s the BGP process, and I say, “Neighbor,” this is the IP address of R3. And, then, a remote AS, it would still be the same one.

We’ll go to R3, and do the same thing. First, we’ll configure a static route for 12.0, and we’ll say 255.255.0 Alright? And, then we’ll go on the other BGP process, one, two, three, and say, “Neighbor,” and then the remote AS would also be one, two, three. We’ll just wait for that relationship to form.

And, when it forms, we should see that R3 would advertise this network, also, to R1. Let’s check that.

Do a shop IP BGP. As you can see, that relationship is now advertised. Yeah? So, if I were to ping, for example … Do a ping, that goes through.

But, what if we don’t want a relationship between R1 and R3? Imagine if we had 20 routers, and this particular area. Are we going to form peer relationships between all of the 20? No. So, one thing that we could use is route reflector. In this case, we could configure R2 as a route reflector to relax the requirement for fully meshed IBGP.

I’ll go to R1. Let’s remove the neighbor relationship that we created. So, no dot. I will also do the same thing on R3. No dot. Yeah? If I were to check now, do a show IP BGP, as you can see, the network is not there anymore.

Alright, so I’m actually just going to come to R2, and if I do a show run, again, section router … Good. I’m just going to come here, config T, I’ll go on that BGP process, one, two, three, and I’m just going to make these guys route reflector clients. Right?

That’s the first one. I’ll, also, do the same thing for R3.

Route reflector client. Cool. What will happen is, if R2 should receive a route from R3, R3 is a client, it would advertise that route to both client peers, and non-client peers. Alright. If we check that now, if we come to R1 and do a show IP BGP, again, we can see that that route is there.

If I tried to ping, again, I should still be able to ping. Alright. We’ve used our route reflector configuration on R2 to relax the requirement for fully-meshed IBGP peering sections.

Something else that you can use is configurations, but that’s beyond the scope of this particular lab.