Part3では企業ネットワークの外に出て、IPパケットがインターネットを流れる際に使うルーティングプロトコルを解説する。
インターネットは複数のISPのネットワークが相互に接続されて成り立つ、いわばネットワークの集合体だ。ISP同士が経路情報をやりとりするのに使うルーティングプロトコルがBGPである。インターネットはBGPによって支えられているといえる。
AS単位で経路情報を交換する
BGPではASという単位で経路情報をやりとりする。ASの中にはたくさんのネットワークが含まれる。OSPFなどとは異なり個々のネットワークのトポロジー情報などは取り扱わず、ASという大きな単位で運用し、取り扱う情報の量を大幅に減らす。これはインターネットのような大規模ネットワークの運用に向いている。
ASは主にISPの運用単位だが、大企業や大学・学術機関、データセンター事業者、CDN▼事業者、巨大コンテンツ事業者などもAS単位でネットワークを運用している。
ASには2バイトまたは4バイトの一意な「AS番号」が割り振られている。例えばNTTコミュニケーションズのOCNであれば「4713」というAS番号が割り当てられている。
BGPでは経路が複数ある場合、経由するASが最も少ない経路を最短と見なして選択するのが基本的な動作だ。その仕組みを見ていこう。
まずBGPに対応したルーター(BGPルーター)同士が経路情報を交換し、「BGPテーブル」というデータベースに登録する。交換時に自身のAS番号を経路情報に付与するのがポイントだ(図3-1)。例えばAS番号「5」が送信し、AS番号「3」とAS番号「2」のネットワークを経由して届いた経路情報には「AS2-AS3-AS5」という情報が含まれている。BGPルーターは自身のBGPテーブルの経路情報を基にルーティングテーブルを作成。宛先までに経由するAS数が少ない経路を選択してIPパケットを送信する。
BGPの経路情報の交換にはTCP▼を使う。これはRIPやOSPFにはない特徴だ▼。TCPを使うのは、経路情報を確実に伝えるため、そして回線が切れたときに即座に把握するためだ(図3-2)。BGPルーター同士が経路情報をやりとりするために確立するTCPコネクションを「ピア」と呼ぶ。
TCPセッションを張った後はメッセージを使って情報をやりとりする。例えばOPENメッセージはAS番号などの情報を交換する。