全1679文字
PR

 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パケットを送信する。

図3-1●BGPの経路選択
図3-1●BGPの経路選択
経路情報を受け取ったASは自分のAS番号を経路情報に付与して別のASに送信する。基本的に経由するASの数が少ないほうを選択する。
[画像のクリックで拡大表示]

 BGPの経路情報の交換にはTCPを使う。これはRIPやOSPFにはない特徴だ。TCPを使うのは、経路情報を確実に伝えるため、そして回線が切れたときに即座に把握するためだ(図3-2)。BGPルーター同士が経路情報をやりとりするために確立するTCPコネクションを「ピア」と呼ぶ。

図3-2●BGPはTCPを使って経路を伝える
図3-2●BGPはTCPを使って経路を伝える
BGPは経路情報を確実に伝えるためにTCPを使用する。TCPセッション確立後はOPENメッセージなどを用いてBGPピアを確立し、経路情報の交換に移る。
[画像のクリックで拡大表示]

 TCPセッションを張った後はメッセージを使って情報をやりとりする。例えばOPENメッセージはAS番号などの情報を交換する。