OSPFの特徴

OSPF(Open Shortest Path First)は、規模の大きい企業ネットワークに対応できるルーティングプロトコルです。ただ、単にOSPFを利用すれば、規模が大きいネットワークで効率のよいルーティングできるわけではありません。OSPFの仕組みをしっかりと把握した上で適切な設計が必要です。OSPFの特徴を簡単にまとめると、以下のようになります。

  • IGPs(Interior Gateway Protocols)
  • リンクステート型ルーティングプロトコル
  • 効率よいルーティングのための「エリア」の概念
  • クラスレスルーティングプロトコル
  • ルーティングテーブルのコンバージェンス時間が短い
  • ループが発生する可能性が極めて小さい
  • メトリックとして「パスコスト」を採用
  • マルチキャストの利用
  • 認証機能のサポート
  • CPUやメモリへの負荷が大きい
  • きちんとしたアドレス設計が必要

以降、これらの特徴について簡単に解説します。

IGPs

OSPFは、RIPと同じくAS内部のルーティングを対象としたIGPsの一種です。RIPよりも大規模なネットワークを主な対象としています。

リンクステート型ルーティングプロトコル

OSPFのルーティングアルゴリズムは、リンクステート型です。リンクステート型では、ルータ同士で単純なネットワークアドレス/サブネットマスクではなく、LSA(Link State Advertisement)を交換します。リンクとはOSPFが有効なインタフェースです。それぞれのOSPFルータがリンクの状態を交換することで、各OSPFルータがネットワーク構成を詳細に把握することができます。OSPFルータが交換したLSAはリンクステートデータベース(Link State Database : LSDB)に格納されます。LSDBは、各OSPFルータが認識している詳細なネットワーク構成図です。そして、SPF(Shortest Path First)アルゴリズムから各ルータを起点とした最短パスツリーを計算して最適ルートを判断し、ルーティングテーブルを作成します。SPFアルゴリズムはダイクストラアルゴリズムとも呼ばれます。次の図は、IPルーティングの章でも載せていますが、OSPFのLSAの交換様子を表しています。

図 OSPFの動作の概要
図 OSPFの動作の概要

効率よいルーティングのための「エリア」の概念

リンクステートデータベースは、すべてのエリア内のルータで共通です。大規模なネットワークでは、交換されるリンクステート情報の数とサイズが非常に多くなり、それにともなってリンクステートデータベースサイズも巨大になってしまいます。その結果、ルータのCPUサイクルやメモリを多く消費することになるので、好ましくありません。このような問題を解消するために、OSPFでは「エリア」という概念を取り入れて、大規模ネットワークでより効率よくルーティングできるようにしています。

クラスレスルーティングプロトコル

OSPFは、サブネットマスクに基づいてネットワークアドレスを認識するクラスレスルーティングプロトコルです。OSPFで交換するLSAには、サブネットマスクも含まれています。そのため、OSPFでは、RIPv1のようなクラスフルルーティングプロトコルではサポートできないVLSMや不連続サブネットをサポートすることが可能です。

ルーティングテーブルのコンバージェンス時間が短い

すべてのOSPFルータが共通のネットワークの地図、つまりリンクステートデータベースを持ち、ネットワークに変更があったときだけLSAを送信するトリガードアップデートを採用しています。そのため、何か変更が起きたときでもトリガードアップデートによって各ルータが速やかに変更を認識し、その変更情報をリンクステートデータベースやルーティングテーブルに反映することができます。したがって、RIPのようなディスタンスベクタ型ルーティングプロトコルよりもはるかに高速にコンバージェンスさせることが可能です。

ループが発生する可能性が極めて小さい

各OSPFルータがネットワーク全体の地図であるリンクステートデータベースを保持し、トリガードアップデートを利用することでコンバージェンスが高速です。ネットワーク構成の変化を迅速にルーティングテーブルに反映できるので、間違ったルーティングテーブルになってしまいループが発生する可能性はほとんどありません。

メトリックとして「パスコスト」を採用

OSPFでは、最適ルート選択の基準(メトリック)として、パスコストを採用しています。デフォルトで、インタフェースの帯域幅に応じて自動的にコストが計算されます。目的のネットワークまでのコストを累積したものがパスコストです。パスコストが最小の経路が最適経路です。帯域幅が大きいほどコストの値が小さくなるので、OSPFでは、帯域幅大きい経路が最適とみなされることになります。


OSPFのメトリックのパスコストについてさらに詳しくは以下の記事をご覧ください。


マルチキャストの利用

OSPFルータ同士のやり取りは、通常はマルチキャスト(224.0.0.5または224.0.0.6)で行われます。そのため、ネットワーク上のほかのホストやOSPFを有効にしていないルータなどに余計な負荷をかけることもありません。

認証機能のサポート

さらに、セキュリティを向上させるために、OSPFでは認証機能をサポートしています。認証機能によって、正規のOSPFルータ間でのみLSAのやりとりを行うようにできます。

CPUやメモリへの負荷が大きい

OSPFはRIPよりも複雑な処理を行います。そのため、RIPを利用するよりもルータのCPUやメモリへの負荷が大きくなってしまいます。

きちんとしたアドレス設計が必要

OSPFに限ったことではありませんが、ルーティングプロトコルを効率よく利用するためにはきちんとしたアドレス設計が必要です。アドレス設計がいい加減だとルート情報の集約がうまくできません。