インターネットは複数のISPのネットワークが相互に接続されて成り立つ、いわばネットワークの集合体だ。今回はIPパケットがインターネットを流れる際に使うルーティングプロトコル「BGP」を解説する。

 インターネットではISP同士が経路情報をやりとりする。利用するルーティングプロトコルが「BGP(Border Gateway Protocol)」である。インターネットはBGPによって支えられているといえる。

 BGPではAS(Autonomous System)という単位で経路情報をやりとりする。ASの中にはたくさんのネットワークが含まれる。OSPFなどとは異なり個々のネットワークのトポロジー情報などは取り扱わず、ASという大きな単位で運用し、取り扱う情報の量を大幅に減らす。これはインターネットのような大規模ネットワークの運用に向いている。

 ASは主にISPの運用単位だが、大企業や大学・学術機関、データセンター事業者、CDN(Content Delivery Network)事業者、巨大コンテンツ事業者などもAS単位でネットワークを運用している。

 ASには2バイトまたは4バイトの一意な「AS番号」が割り振られている。例えばNTTコミュニケーションズのOCNであれば「4713」というAS番号が割り当てられている。

 BGPでは経路が複数ある場合、経由するASが最も少ない経路を最短と見なして選択するのが基本的な動作だ。その仕組みを見ていこう。

 まずBGPに対応したルーター(BGPルーター)同士が経路情報を交換し、「BGPテーブル」というデータベースに登録する。交換時に自身のAS番号を経路情報に付与するのがポイントだ。

 例えばAS番号「5」が送信し、AS番号「3」とAS番号「2」のネットワークを経由して届いた経路情報には「AS2-AS3-AS5」という情報が含まれている。BGPルーターは自身のBGPテーブルの経路情報を基にルーティングテーブルを作成。宛先までに経由するAS数が少ない経路を選択してIPパケットを送信する。

BGPの経路選択
[画像のクリックで拡大表示]

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

BGPはTCPを使って経路を伝える
[画像のクリックで拡大表示]

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

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。