Hello Pradyumna
A non-client is simply a BGP router with which an RR will create a BGP peering. This peering functions the same way as any other normal BGP peering. However, the way that updates are “reflected” is affected by the role (client or non-client) that a particular router has.
In order to make this clearer, take a look at the following diagram of a single BGP AS:
These routers are all in the same AS, so iBGP is functioning. The RR router is the route reflector, and C1 and C2 are clients of this RR. N1 and N2 are non-clients, but have normal BGP peerings configured with the RR.
Note the following:
- if an update comes from C1, the RR will forward this update to C2, N1, and N2.
- if an update comes from C2, the RR will forward this update to C1, N1, and N2.
- if an update comes from N1, the RR will forward this update to C1, C2, but not N2
- if an update comes from N2, the RR will forward this update to C1, C2, but not N1
The above description abides by the “rules” for sharing routes that are laid out in the lesson.
How would you know that a particular router is a client or non-client? Based on the configuration. Within the RR itself, the following BGP commands would make a particular neighbor a client:
R2(config)#router bgp 123
R2(config-router)#neighbor 192.168.12.1 remote-as 123
R2(config-router)#neighbor 192.168.12.1 route-reflector-client
Alternatively, if the “route-reflector-client
” command is absent, then that particular neighor is a non-client. Another term for non-client is simply an iBGP peer. The term non-client is only used in order to distinguish between RR clients and those that are regular iBGP peers.
I hope this has been helpful!
Laz