11-29-2010 11:57 AM - edited 03-04-2019 10:36 AM
Hello all,
I would like to understand how the Router 3 can select the best bgp path for the next network layout:
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
Solved! Go to Solution.
11-29-2010 02:51 PM
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
11-29-2010 12:29 PM
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.
11-29-2010 01:34 PM
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
11-29-2010 02:23 PM
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
11-29-2010 02:51 PM
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
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide