このページの本文へ

試してわかるルーティング 第12回

RIPよりも柔軟なルーティングが可能なルーティングプロトコルを知ろう

OSPFの通信手順と代表ルータを理解しよう

2011年05月10日 06時00分更新

文● 編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

 前回は、OSPFの基本を紹介した。続いてはOSPFの通信手順、そしてOSPFのキモともいえる代表ルータを見てみよう。

RIPと違うOSPFの工夫とは

 RIPではルータ間の経路情報の交換にUDPを使っていたが、OSPFではそれ自身がネットワーク層のプロトコル(プロトコル番号89)である。RIPはパケットも1 種類だけの比較的単純なものだったが、これに比較するとOSPFのLSAはかなり多様である。

 OSPFは、隣接するルータとLSAによってリンク情報を交換することは前回で述べた。しかし、OSPFはより規模の大きなネットワークを扱うことを想定して作られているために、いろいろな工夫が凝らされている。たとえば、通信にマルチキャストを利用したり、代表を決めて通信を集約させたりといったことをする。

図1 OSPFルータの通信手順

 図1は、OSPFの動作の流れを示したものだ。最初にルータが起動すると、状態は「Down」となっている。それから、OSPFに使用するインターフェイスに「Hello」パケットを送信する。これは、そのインターフェイスの先に接続されている隣接ルータに自分自身の存在を伝えるためだ。隣接ルータはこのHelloパケットを受け取ることで初期化を行なう「Init」状態になり、相手を認知する。これでお互いが認知しあうと「2Way」という状態になる。

 また、隣接しているルータ同士は隣接関係(Adjacency)を結び、代表ルータ(Designate Router、DR)を選出する。代表ルータは、各隣接ルータのLSAのやり取りを取りまとめる役目を負う。この隣接ルータと代表ルータの関係は強い隣接関係と呼ばれる

 強い隣接関係となったルータは、互いに「ExStart」というモードに入り、DD(Database Description)パケットを交換する。DDパケットとは、各ルータが持っているLSAの要約を集めたパケットである。DDパケット交換の2回目からは、DDの交換中を意味する「Exchange」に移行する。この間、それぞれのルータは自身の持っているLSAと、持っていないLSAを判断し、持っていないLSAを要求する。こうして、最終的にはすべてのLSAの交換が終わって「Full」という状態になり、ルーティングテーブルの計算を始めることになる。

 ここで、代表ルータを選出したのには理由がある。隣接ルータが2 台だけであれば、どちらかが代表になればよいだけで、特にメリットは感じられないかもしれない。しかし、同じ回線に属する隣接ルータが5 台、6 台……と増えたらどうだろうか。もし、代表を決めずにルータ同士が各々通信を始めるようになったら、そのトラフィックは膨大なものになるはずだ。こうした多数のルータが利用される状況は、基幹ネットワークにはよくある。

 こうした状況では、代表を決めることで通信を必要最低限に抑えることができる(図2)。

図2 代表ルータを選ぶ理由

 実際には代表ルータは2台選ばれ、一方はバックアップ代表ルータ(BDR)となる。DRとBDRの決め方は、事前に設定するプライオリティの値を利用する。Helloパケットにプライオリティが含まれており、大きなプライオリティを持つものが順次代表ルータの権利を得る。最終的に、もっとも大きなプライオリティを持つルータが代表になるが、プライオリティが同じルータがある場合は、先に起動していたほうが優先される。

ネットワークを分割するエリアとは

 OSPFには、大きなネットワークを分割して管理するための「エリア」という概念がある。1つのネットワークが大きくなりすぎた場合、エリアに分割することで経路情報が増えすぎるのを防ぐ。また、OSPFのネットワークは、すべていずれかのエリアに属さなければならないルールになっている。

 エリアは、中心となるバックボーンエリアに、その他のエリア(スタブエリア)が接続される構成を採る(図3)。バックボーンエリアとスタブエリアはエリア境界ルータ(Area Border Router、ABR)によって接続され、エリア間のルーティング情報は集約されて伝達される。エリアに付けられる番号は、IPアドレスと同じ32ビットで、オクテット十進数表記がよく用いられる。バックボーンエリアの番号は0.0.0.0で、その他のエリアはネットワーク構築ポリシーに合わせて自由に付けられる。

図3 バックボーンエリアとスタブエリア

 ネットワークの規模がエリアに分割するほどでもない場合は、バックボーンエリアだけを使ってもかまわない。また、やむを得ずスタブエリアの外にエリアを設ける場合は、バーチャルリンクと呼ばれる機能を使うことで、仮想的にバックボーンエリアに接続できる(図4)。

図4 バーチャルリンクによる遠隔エリアの接続

 また、インターネットのような外部ネットワークと接続する場合は、集約された外部経路(デフォルトゲートウェイ等)を境界ルータから広告する。

 本記事は、ネットワークマガジン2008年11月号の特集1「試してわかるルーティング」を再編集したものです。内容は原則として掲載当時のものであり、現在とは異なる場合もあります。

カテゴリートップへ

この連載の記事