Cisco BGP clustering and route reflection configuration example

bgpcisconetworkingrouting

I am trying to make sure that I have this correct in my own mind how the Cisco configuration would be given the following example of route reflection and clustering with BGP.

If you have three AS 1, 2 & 3 with one router in AS1 (Router A), four routers in AS2 (Routers B, C, D & E) and one router in AS3 (Router F), Using the following IP layout.

AS1

Router Reflector Cluster (id 10)

##START CLUSTER
Router B
IP (Router E Link): 192.168.1.2/32
Network:        111.111.111.0/24

Route C
IP (Router E Link):     192.168.2.2/32
IP(Router F Link):  10.1.1.2/32
Network:        222.222.222.0/24

Router E
IP (Router C Link):     192.168.2.1/32
IP (Router B Link): 192.168.1.1/32
IP (Router D Link): 192.168.3.2/32
##END CLUSTER


Router D
IP (Router E Link): 192.168.3.1/32
IP (Router A Link): 10.2.2.2/32

AS2
Router A
IP (Router D Link): 10.2.2.1/32

AS3
Router F
IP (Router C Link): 10.1.1.1/32 

You then configure routers B, C and E in a cluster with routers B and C as route-reflector-clients.

Would the configuration below be correct for routers B, C and E or do I need to specify the cluster-id on each?

Also I am I right in thinking that all the other routers would just have BGP as normal with the correct peers (if it were a mesh solution). If so how would you configure router D to announce the routes that router E is dealing with from the route-reflector-clients?

Router_B(config)# bgp 2
Router_B(config-router)# neighbor 192.168.1.1 remote 2
Router_B(config-router)# network 111.111.111.0 mask 255.255.255.0

Router_C(config)# bgp 2
Router_C(config-router)# neighbor 192.168.2.1 remote 2
Router_C(config-router)# network 222.222.222.0 mask 255.255.255.0

Router_E(config)# bgp 2
Router_E(config-router)# cluster-id 10
Router_E(config-router)# neighbor 192.168.1.2 remote 2
Router_E(config-router)# neighbor 192.168.1.2 route-reflector-client
Router_E(config-router)# neighbor 192.168.2.2 remote 2
Router_E(config-router)# neighbor 192.168.2.2 route-reflector-client
Router_E(config-router)# neighbor 192.168.3.1 remote 2

Thanks in advance.

Best Answer

Well, you're way over complicating the issue. You don't need to even think about route reflecting with just 4 routers. Just have them all peer with one another. However:

The important thing to keep in mind is that routers B and C don't "know" that they are route reflector clients. Router E knows that, though. So in this case you would just peer router D with router E (normal IBGP like you have with 192.168.3.1) and that's it.

When a router is configured with the attribute 'route reflector client' towards an IBGP peer, what that means is "I will pass on all of this routers routes to all my other IBGP neighbors", whereas normally, each router would only send its own routes to other IBGP neighbors.

i.e., towards router A (EBGP neighbor router D), D will just do its normal policy towards an EBGP neighbor - it will send every IBGP route that it has, not just its own. It doesn't matter if they were reflected via E from B or C - it's not important how they arrived at D.