オープン・ショートパス・ファースト(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のルートを配置します。