BGP peer groups and router reflectors

Peer groups simplifies the configuration by allowing to apply same policy rules to more neighbors. Updates are generated once per peer group.

You configure new peer group by following commands:

  • #neighbor {name of peer group} peer-group – you create peer group with its name
  • #neighbor {name of peer group} remote-as {number} – you set the peer group with all these commands
  • #neighbor {name of peer group} password {passord}
  • #neighbor {name of peer group } version 4
  • #neighbor {name of peer group } update-source {interface}
  • #neighbor {IP address} peer-group {name of peer group} – then finally you apply the peer group to specific neighbor

Route reflectors

Because of Split horizon rule the IBGP peer will not send received update to another IBGP peer. This is loop prevention mechanism which creates a need to configure full mesh IBGP relationship. If you dont have full mesh IBGP relationship then your traffic can be blackholed. Imagine you route packet inside your AS to peer via non BGP routers (or routers you dont have BGP session with). These routers dont have the route, hence the traffic is dropped.

However there are some full mesh disadvantages:

  • administration – configuration management on large number of routers.
  • number of TCP sessions – total number of sessions n*(n-1)/2. You handle extreme number of sessions which creates overhead

Route reflectors are solving this problem without need to create full mesh relationship. It allows a router (route reflector) to advertise routes received from IBGP peer to another IBGP peer. All clients creates relationship just with servers and not with other clients. Then clients updates server and servers updates all remaining clients. In case you have two servers then the servers establish relation with clients and other servers.

Configuration of route reflector is very easy. You just add in server for every client this command:

#neighbor {ip address} route-reflector-client

everything other is same.