オープン・ショートパス・ファースト(OSPF)とは?

OSPFとは何ですか?

OSPF(Open Shortest Path First)は、典型的なリンクステート型ルーティングプロトコルで、一般的には同一のルーティングドメイン内で使用されます。ここで、ルーティングドメインとは、統一されたルーティングポリシーまたはプロトコルを使用して互いにルーティング情報を交換するネットワークの集まりである自律システム(AS)を指します。このAS内では、すべてのOSPFルーターが同じデータベースを維持し、このデータベースにはルーティングドメイン内のリンク状態情報が保存されます。このデータベースを基にして、OSPFルーターは自らのOSPFルーティングテーブルを計算します。

リンクステート型ルーティングプロトコルとして、OSPFはリンクステートマルチキャストデータLSA(Link State Advertisement)を特定のエリア内のすべてのルーターに送信します。これは、距離ベクタールーティングプロトコルとは異なり、距離ベクタールーティングプロトコルでは、ルーターが一部またはすべてのルーティングテーブルを隣接ルーターに渡す仕組みです。

情報交換のセキュリティに関して、OSPFはルーター間の情報交換が必要に応じて認証されるべきだと規定しています。これにより、信頼できるルーターのみがルーティング情報を伝播できるようにします。OSPFは複数の認証機構をサポートしており、異なるエリア間で異なる認証機構を採用することも可能です。OSPFのリンクステートアルゴリズムは、ブロードキャストネットワーク(例えばEthernet)で最適化され、ハードウェアのブロードキャスト能力を最大限に活用してリンクステートメッセージを配信します。通常、リンクステートアルゴリズムのトポロジー図では、各ノードがルーターを表します。もしk台のルーターがEthernetに接続されている場合、リンクステートがブロードキャストされると、これらk台のルーターに関するメッセージの数はkの2乗になります。したがって、OSPFではノードがブロードキャストネットワークをトポロジー図に表すことを許可しており、各ブロードキャストネットワーク内のすべてのルーターはリンクステータスメッセージを送信し、ネットワーク内のルーターのリンク状態を報告します。

 

動作原理

簡単に言えば、OSPFは2つの隣接するルーターがメッセージを送信して隣接関係を確立し、その後、隣接ルーターが互いにリンクステート情報を交換して隣接関係を形成します。その後、各ルーターは最短経路アルゴリズムに基づいてルートを計算し、それをOSPFルーティングテーブルに配置します。その他のルートと比較して、OSPFのルートはグローバルルーティングテーブルに追加されます。このプロセスは、5種類のメッセージ、3つの段階、および4つのテーブルを使用します。

5種類のメッセージ

Helloメッセージ:隣接関係を確立し、維持します。

DBDメッセージ:リンクステートのヘッダー情報を送信します。

LSRメッセージ:DBDから見つけたリンクステートのヘッダー情報を隣接ルーターに送信し、完全な情報を要求します。

LSUメッセージ:LSR要求に対応する完全な情報を隣接ルーターに送信します。

LSACKメッセージ:LSUメッセージを受け取った後、その確認を送信します。

3つの段階

隣接発見:Helloメッセージを送信して隣接関係を形成します。

ルートアナウンス:隣接ルーターがリンクステート情報を送信して隣接関係を形成します。

計算:最短経路アルゴリズムに基づいてルーティングテーブルを計算します。

4つのテーブル

隣接テーブル:隣接関係を形成するルーターを記録します。

リンクステートデータベース:リンクステート情報を記録します。

ルーティングテーブル:リンクステートデータベースから得られた情報です。

グローバルルーティングテーブル:他のルーティング情報と比較してOSPFのルートを配置します。