BGP Route Reflector

Pradeep,
You are correct. Router A has no idea whether Router B is a route-reflector or not, so Router A wouldn’t treat Router B any differently than a normal iBGP peer.

FYI: In practice, you always ensure that your Route-Reflectors have a full iBGP mesh to ensure that they, as well as their clients, will receive all iBGP advertisements.

Hi Rene,

Can i know what the recommend router work as RR to receive 4 full internet route (each 600K). We need the router with 4G ram at least?

Davis

Great article rene , kudos !

I see loopback of R1 as originator, any clue what mistake i may be doing ?

192.168.12.1 (inaccessible) from 192.168.23.2 (192.168.23.2)
      Origin IGP, metric 0, localpref 100, valid, internal
      <strong>Originator: 1.1.1.1</strong>, Cluster list: 192.168.23.2

Hi Abhishek,

It’s showing inaccessible. Do you have a valid route?

Rene

Hello Rene,

If there are multiple RR’s in a cluster; from which one, the client’s will accept the routes. what’s the tie breaker?

Udaya,
In the case of a router’s being a route reflector client of multiple route reflectors, the client will accept routes from all reflectors. In other words, all learned routes will be present in the BGP topology table. As far as which routes are selected as best routes, and installed in the routing table, the client will use the standard (and complex!) BGP best path selection algorithm.

1 Like

I need a bit of help, I can’t seem to get this working on Real Equip or GNS3

I have the following setup; http://imgur.com/a/ZLqCl

But R1 still cannot ping the 192.168.0.1 address assigned on loopback 0 on R3. I’ve got some outputs below, let me know if you need more :slight_smile: Hope someone can help me figure what i’ve done wrong

R1 - http://paste.ubuntu.com/23460781/ http://paste.ubuntu.com/23460783/
R2 - http://paste.ubuntu.com/23460788/ http://paste.ubuntu.com/23460789/
R3 - http://paste.ubuntu.com/23460791/ http://paste.ubuntu.com/23460793/

What I can see is R1 is showing inaccessible for the next hop of 2.2.2.2 However even if R2 has “Next-Hop-Self” enabled the Next Hop Address doesn’t change?

Hey Ryan,
The issue you are having is that while R1 knows about the BGP route to R3, it is not installing it into the routing table. You can verify this by going on to R1 and issuing a “show ip bgp” and look for the 192.168.0.0 route (it will be missing the “>” symbol).

The reason R1 is not installing the route is due to BGP behaving differently than other routing protocols. BGP really isn’t a true routing protocol in the way that OSPF or EIGRP are. BGP is more of an application that tells you WHERE to go to get to a network, but it does not tell HOW to get there. So, for example, BGP is telling R1 to get to 192.168.0.0/24, go to 2.2.2.2. It is up to R1 to figure out HOW to get to 2.2.2.2. In this case, R1 doesn’t know how to get to 2.2.2.2.

I suspect you know all of this, which is why you are trying to configure R2 to be a next-hop-self for R1. The problem with this solution is that, by default, BGP only modifies this attribute on routes it learns from external neighbors–not internal neighbors.

So to solve this problem, you have four options:

  1. Configure R3 in a different BGP ASN than R2
  2. Configure R2 to advertise the 1.1.1.0/24 and 2.2.2.0/24 networks in BGP
  3. Configure either static routes or an IGP so that R1, R2, and R3 know about all the links connecting them
  4. If you have a late enough version of the IOS, R2 will have a new option of “neighbor 1.1.1.1 next-hop-self all” where this option allows the modification of either internally or externally learned BGP routes.
2 Likes

19 posts were merged into an existing topic: BGP Route Reflector

BGP Route Reflector

in this topic router R2 is the route reflector right?
and R1 and R3 are RR client right?

So need to understand on R2 or any other router when we define RR client then that router
becomes RR.

Also how can we tell which router is RR?

Regards
Mahesh

Hello Mahesh

Yes, this is correct.

Yep!

The RR is defined using the neighbor command where the IP addresses of the neighbour routers as clients are indicated with the route-reflector-client keyword. No specific configuration need be added to the actual clients.

As far as can be seen, the only way to determine a route reflector is to see the config within the BGP section of the router itself.

I hope this has been helpful!

Laz

Hi Rene,

Is EBGP even supposed to be mentioned or is this a typo? Should they be IBGP instead?

image

Hello Shannon,

It’s supposed to be EBGP.

A Route Reflector can have:

  • eBGP Neighbors
  • iBGP (non-client) Neighbors
  • iBGP (client) Neighbors

It’s unlikely that someone uses a route reflector as well for eBGP neighbor adjacencies but it’s possible. There’s even a draft that never seems to have made it in the RR RFC though:

https://tools.ietf.org/html/draft-scudder-idr-ebgp-rr-02

Hi Rene,

Thank you so much for clarifying! Appreciated.

Rgds,

Shannon

I recently subscribe Networklessons.com , its great for me to learn easily. but kindly put some details in the topic so that we get much more expertise.Thanks

image

I am little bit confusing , how R4 can be client. All client should be directly connected or it can be indirect.Please clarify me.Thanks

Hello Muhammad

Remember that neighbor relationships between routers running iBGP can be created between routers that are not necessarily directly connected. This can be done as long as there is a route available between the routers, either via an IGP or by static routing. In the same way, you can create an iBGP client neighbor peering between an RR and a client that are not directly connected.

I hope this has been helpful!

Laz

Hi Rene,

This article is great. I am going through this lab , and follow exactly the commands and configuration in all three routers, but I couldn’t see the the 1.1.1.1/32 route when I run the command:

show ip bgp neighbors 192.168.23.3 advertised-routes

as bellows picture.

image|645x189

Is there anything missing in my configuration and can explain why ?

Hello Thein

Without knowing more about your config, the only thing I can suggest is make sure that you’re running the command on R2 as shown in the lesson. Also, review your configuration an make sure it is correctly configured. If the problem persists, let us know and we can check the configs in the lesson for correctness.

I hope this has been helpful!

Laz

Hi Rene / Laz

Do you have a document about bgp cluster-id, where I can review the differents scenarios?