Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

BGP route reflector client path decision

Hello all,

I would like to understand how the Router 3 can select the best bgp path for the next network layout:

Sans titre.bmp

I am not sure how Router 3 can find the best path for network 131.108.1.0/24 if R1 and R2 are directly connected to it. Do not know neither how can R3 find the best path for 131.108.4.0/24 & 131.108.5.0/24 if both route coming from reflector R1 & R2.

Also would like to understand how the originator id can help in detecting loops when route reflector are used.

Thanks for your help

Stephane

1 ACCEPTED SOLUTION

Accepted Solutions

Re: BGP route reflector client path decision

Hi Stephane,

You are right about this assumption and infact, since they are in the same AS and running IBGP, your Route-reflectors should be in the Same cluster ID.

a) Yes you should define a cluster-id to the Same value on both route reflector, the command to do that is (BGP cluster-id) under the BGP process. If you dont assign a cluster-id manually, A cluster-id would be assigned and it will be different between your both Route Reflectors, While you dont want that, you need an update originated from one route reflector in a cluster not to be back to the same Originator. So the first check is the cluster-id. (Your Case should have Cluster-id configured to the Same Value on both route reflectors).

B) Yes, thats Correct. Assuming the Non of the BGP best path selection criteria is used, then the route learned from the BGP lowest router-id is prefered over the highest router-id.

C) No it doesnt.

HTH

Mohamed

4 REPLIES
Purple

Re: BGP route reflector client path decision

In IBGP the AS_PATH is not modified so no more use of this as a routing loop mechanism and that's why split horizon rule for IBGP was defined:

if a router receives an ibgp learned route it won't advertise to other ibgp neighbour.So in IBGP if tou don't want to blackhole traffic you must have a full mesh IBGP which can be huge as number of routers increases.To circumvent this rule while still avoiding this full mesh config you can use route-reflectors or confederations.

The route-reflector will not follow split-horizon rule and thus enable all ibgp routers to have all the infos without full mesh.

So they had to use another way to detect loops and they defined originator-id and cluster-id where originator-id is the router id of the router originating the routes and cluster-id is the router-id of route-reflector reflecting the routes which is prepended in the cluster list( similar to as_path sequence).

So a router seeing a route with it's own originator-id will refuse this route.

If you want to see why R3 chose the best path then do a show ip bgp 131.108.1.0 255.255.255.0 and same for .4 and .5 subnets

Regards.

Don't forget to rate helpful posts.

Re: BGP route reflector client path decision

Right,

So here is the conclusion.  a Route reflector have two ways to prevent BGP routing loops, Originator-id and cluster-list. the best design is to have a router relector of a cluster to be another client for a route reflector for another cluster. How a route reflector in your case where they have an IBGP session detects and prevents loop if they are in different cluster?? Of course if it has the same cluster or a route is learned from a route reflector in the same cluster, it will drop it according to the cluster-id. They simply prevent it by another mechanism which is the Originator-id of the router. in this case If for any reason a route reflector learne a route that it has already originated and the cluster-id is different between route reflectors, it will drop the packet according to the originator id.

coming to your first question, a route reflector doesnt change the next hop of its learned route, so whenever R3 learns any route , it learned it from its originator.  Here are the roles for a route reflector.

1- Routes learned from Route-Reflector clients are advertised to all clients and non Route reflector clients.

2- Routes Learned from a non route reflector clients are advertised ONLY to the route reflector clients.

3- Routes Learned from EBGP neighbors are advertised to all clients and non clients.

Thats why Infact R3 find a direct path to Networks on R4 and R5 as its advertised by the route reflectors unchanged (with its original nexthop).

I hope this answers your question and please come back if you need further explanation,

HTH

Mohamed

New Member

Re: BGP route reflector client path decision

Hi Mohamed,

Thanks for your help.

Just want to make sure that  my understanding is correct.

In this case, I have two route reflector in the same Autonomous System. I would imagine that we could say that the two route reflector are the same cluster-ID.

a) Should I defined a cluster ID in this case? If no cluster ID are defined, does the router will create one by default and can it prevent looping for this type of topology. I am not sure to understand which topology requires a cluster-id.

b) Can I assume that R4 & R5 will announce their directly connected route to Router Reflector 1 & 2, Route Reflector 1 & 2 will replace the the router id with R4 & R5 originator-id to announce the route to R3. If this is correct, R3 will have one entry for R4 & R5 directly connected route from Route reflector 1 & Route reflector 2 and can I assume that the best path selection will be based on router-id (originator-id).

c) Does the Route Reflector re-sends a route to client if this route has been originally announce by this client.

Thanks again

Stéphane

Re: BGP route reflector client path decision

Hi Stephane,

You are right about this assumption and infact, since they are in the same AS and running IBGP, your Route-reflectors should be in the Same cluster ID.

a) Yes you should define a cluster-id to the Same value on both route reflector, the command to do that is (BGP cluster-id) under the BGP process. If you dont assign a cluster-id manually, A cluster-id would be assigned and it will be different between your both Route Reflectors, While you dont want that, you need an update originated from one route reflector in a cluster not to be back to the same Originator. So the first check is the cluster-id. (Your Case should have Cluster-id configured to the Same Value on both route reflectors).

B) Yes, thats Correct. Assuming the Non of the BGP best path selection criteria is used, then the route learned from the BGP lowest router-id is prefered over the highest router-id.

C) No it doesnt.

HTH

Mohamed

2196
Views
0
Helpful
4
Replies
CreatePlease to create content