BGP - RRs vs confederations

When deploying BGP within an AS, a prerequisite of its implementation is that full mesh peering be configured between all iBGP routers. However, this requirement doesn't scale well because the number of peerings increases exponentially.

Specifically, for every N iBGP routers, you must have N(N-1)/2 peerings. If we have 10 iBGP routers in an AS, we will require 10*(10-1)/2 = 45 peerings.

To resolve this problem, we can use one of two features of BGP:

Both route reflectors (RRs) and confederations are used to manage large ASes where a conventional iBGP full-mesh would be too cumbersome to deploy. When should we use one or the other? Here are some guidelines that will help to make such a decision:

  • RRs are generally preferred in networks where simplicity of configuration and maintenance are paramount. The primary use case for RRs is within a single, large AS. One drawback of using RRs is the fact that you have a single point of failure (the RR) but that can be remedied by applying a redundant RR.
  • Confederations, on the other hand, are typically used in complex network environments where the organization has a need for extensive control over routing policy and wants to manage it in a hierarchical way. They are particularly useful for large, complex networks divided into many different segments or subnetworks. Essentially we are saying that confederations scale better than RRs simply because you are breaking your AS into smaller ASes.
  • Additionally, confederations give you a higher degree of control over routing policies between different parts of your AS, assuming your AS can be organized in such a way that it is effectively divided into sub-ASes with a clear hierarchy. Of course, as you mentioned, there is a tradeoff. Confederations are more complex, but they give you more control.

So in a nutshell, while both techniques can be used to simplify iBGP configurations, RRs are typically easier to implement and manage, making them suitable for simpler networks. Confederations, while more complex, offer more fine-grained control and flexibility, making them more suitable for larger or more complex networks.