第2回で紹介したIP Anycastでは、パケットの送り先を決める仕組み(経路制御)を応用する。宛先IPアドレスに至る複数の経路がある際に、「ネットワーク的に近いかどうか」など、様々な要素を勘案して最適な経路を選ぶのだ。

 広域ネットワークにおけるIP Anycastでは、経路の選択にBGPを利用する。BGPは大規模なネットワーク同士のやり取りで使うルーティングプロトコルで、ASという単位で経路制御を実施する。プロバイダーなどの大規模ネットワークが、インターネット上で一意のAS番号を割り当てられているのだ。AS間では各種のパラメータを交換し、「受け取ったパケットを、次にどのAS番号のネットワークに送り出したらよいか」をまとめた経路表を作成する。自らが持つ経路情報を隣接ASに伝播する際は、自分のAS番号を追加して伝える(図1上の(1)~(3))。すると宛先のIPアドレスごとに、経由するAS番号のリストができる。同じASに至る接続経路が複数ある場合は、AS番号のリストの長さでどちらが“近い”かを判断できる。IP Anycastは、このAS番号のリストの長さ(ASパス長)などを基にネットワークの“近さ”を判断する(図1上の(4)、(5))。

図1●BGPを使ったIP Anycastの例
図1●BGPを使ったIP Anycastの例
広域ネットワークにおいてIP Anycastを実現するには、ルーティングプロトコルのBGPを使うのが一般的だ。ネットワークの“近さ”を判断する際には、BGPによって設定された複数のパラメータを使うが、ここではわかりやすくするため、「ASパス長」というパラメータを例に見てみよう。
[画像のクリックで拡大表示]