◆ BGPスプリットホライズンとは
BGPスプリットホライズンとは「 IBGPピアからの受信ルートを他のIBGPピアにはアドバタイズしない 」
というルールのことです。AS内では、BGPスプリットホライズンの機能によって、IBGPルートがループ
するのを防止しています。下図のR3では、IBGPピアであるR2からの受信ルートを、他のIBGPピアである
R4へアドバタイズしません。
AS内の全てのルータがBGPルートを学習できるようにするためには、AS内でIBGPピアをフルメッシュ化
する必要があります。下図ではR2とR4とがIBGPピアを確立することで、AS内で全てのBGPルートが学習
できるようになっています。また、BGPスプリットホライズン機能によって、R2から通知されたルートは
R3→R4へのアドバタイズと、R4→R3へのアドバタイズは行われず引き続きループ回避を実現しています。
◆ BGPスプリットホライズン - IBGPピアのフルメッシュ化の問題点
IBGPピアのフルメッシュ化を行うことで、AS内のルートはAS内で全てのBGPルートが学習できるように
なり、BGPスプリットホライズンによりループ回避もできるので全て問題ないように思えますが、AS内の
全てのBGPルータでIBGPピアをフルメッシュ化させると、ルータ数が増えるほどIBGPピアの数も増えて
IBGPセッションを維持するためにルータに負荷がかかるだけでなく、設定数も多くなり運用上も負荷です。
フルメッシュのIBGPピアのセッション数は 「 n(n-1)÷2 」で算出できます。「n」にはBGPルータの
数が当てはまります。下図の場合、BGPルータが4台あることから、IBGPピアセッション数は「6」だけ
となりますが、BGPルータが30台である場合はIBGPピアのセッション数は「 435 」となってしまいます。
上述のIBGPピアのフルメッシュの問題を解決するために、ルートリフレクタとBGPコンフェデレーション
という2つの解決策(IBGPピアのフルメッシュに伴うセッション数増加の緩和策)があります。一般的には
ルートリフレクタが使用されるケースが多いです。これらの解決策の詳細は、別ページで解説していきます。
IBGPフルメッシュの緩和策 |
説明 |
ルートリフレクタ |
IBGPピアからもらうルート情報を、他のIBGPに反射(リフレクト)してアドバタイズする手法
|
BGPコンフェデレーション |
1つのASを複数のサブASに分割して、一部のBGPピアをEBGPピアとして扱うことで緩和する手法 |
◆ 参考:IBGPにおけるループ回避、EBGPにおけるループ回避
IBGP or EBGP |
ループ回避の手法 |
IBGPにおけるループ回避 |
BGPスプリットホライズンによりループ回避を実現 |
EBGPにおけるループ回避 |
AS_PATHアトリビュートによりループ回避を実現 |
|