BGPの特徴

BGP(Border Gateway Protocol)は、主にAS(Autonomous System)間でルート情報を交換するために利用するEGPs(Exterior Gateway Protocols)のひとつです。ASとは、「統一の管理ポリシーに基づいて管理されるネットワークの集合」です。ある組織が管理しているネットワーク全体がひとつのASを形成します。

ASの例として、インターネット接続サービスを提供するISP(Internet Service Provider)が挙げられます。また、Google、Amazonなどインターネット上のユーザにサービスを提供する企業のネットワークもASの例です。

各ASがそれぞれのネットワークを管理・運用し、ASのネットワークを相互に接続したネットワークがインターネットです。言い換えるとインターネットは、いろんなASが相互に接続した「ネットワークのネットワーク」です。

「AS」という言葉の狭義の意味は、「同じルーティングプロトコルを利用しているネットワークの集合」です。OSPFの「ASBR」やEIGRPの「AS番号」で使うASは狭義の意味です。

さまざまなASが相互に接続してAS間で通信するためには、各ASで管理しているネットワークのルート情報を交換しなければいけません。このためのルーティングプロトコルがEGPsです。BGPはEGPsの代表的なプロトコルです。

このようなインターネットを構成するAS同士で利用する上で、BGPの特徴として特に重要なことは以下の2つです。

  • 膨大な数のルート情報を扱うことができる
  • 最適ルートを柔軟に制御できる

BGPでは、OSPFなどのAS内で利用するIGPsとは桁が違うぐらいの膨大な数のルート情報を扱うことができます。最大で何十万以上にものぼる膨大な数のルート情報を扱います。

BGPのルート情報にはさまざまなパスアトリビュートが付加されています。そして、さまざまなパスアトリビュートに基づいて、最適ルートを柔軟に制御できます。

AS内のIGPsとBGP

各ASは、AS内のネットワークのルーティングのために、OSPFやRIP、EIGRPなどのIGPsを利用します。そして、他のASに自身のAS内のルートをアドバタイズしたり、他のASのルート情報を受け取ったりするためにBGPを利用します。IGPsとBGPの使い分けは、次のようになります。

図 1 IGPsとBGP
図 IGPsとBGP

自AS内のネットワークのルート情報を相手のASにアドバタイズすれば、そのネットワークあてのパケットが相手のASからルーティングできることになります。つまり、BGPでルート情報を交換するのは、AS間の通信を可能にするためです。このようなBGPの目的からBGPでは、ルート情報をAS単位で考えています。OSPFなどのIGPsとは異なるので注意してください。OSPFなどのIGPはルータ単位でルート情報を考えています。

AS内のすべてのネットワークのルート情報を他のASにアドバタイズするわけではありません。
アドバタイズしたルート情報が相手のASで利用されるとは限りません。そのため、相手のASにルート情報をアドバタイズしても、そのネットワークあてのパケットが相手のASからルーティングされるとは限りません。
同じAS内でBGPを利用してルート情報を交換することもあります。

BGPの仕組み