ルートリフレクタ【route reflector】
概要

BGP(Border Gateway Protocol)はインターネット上の異なるAS間で経路情報を交換するためのルーティングプロトコルである。同一のAS内部でBGPを使用する場合は「iBGP」(Internal BGP)と呼ばれ、別のASと経路情報を交換する「eBGP」(External BGP)と区別される。
iBGPには「ルートループを防ぐためにiBGPピアから受け取った経路情報を他のiBGPピアに転送してはならない」というルールがある。このルールにより、AS内のすべてのiBGPルータ同士がフルメッシュ接続、すなわち、お互いにすべてのルータと直接ピアリングを確立する必要が生じる。ルータの台数が増えるにつれてピアリングの数が n×(n-1)÷2 と台数の2乗に比例して爆発的に増加するため、大規模なネットワークではこの構成を維持することが現実的でなくなる。
ルートリフレクタはこの問題を緩和するために設けられる特定のルータで、クライアントルータから受け取った経路情報を他のクライアントルータに反射(reflect)して配布する。クライアントルータはフルメッシュのピアリングを確立する代わりにルートリフレクタとのみピアリングを行えばよいため、ピアリング数を大幅に削減できる。ルートリフレクタとそのクライアントルータで構成されるグループは「クラスタ」と呼ばれる。
クラスタ内にルートリフレクタが一台のみの場合、ここが障害を起こすと経路情報の配布が停止するリスクがあるため、実運用では同一クラスタ内に複数のルートリフレクタを配置して冗長性を確保する構成が一般的である。また、「クラスタID」と呼ばれる識別子を用いてルーティングループの発生を防ぐ仕組みも備わっている。