OSPFの基本動作


OSPF(Open Shortest Path First) は、リンクステート型ルーティングプロトコルの代表格で、
LAN・WANを含む中〜大規模ネットワークで使われるIGP(Interior Gateway Protocol)です。

基本動作

1. Helloパケットで隣接ルータを発見

  • 各OSPFルータは、インターフェイスごとにHelloパケットを定期的に送信します。
  • Helloパケットの中には以下の情報が含まれます:
    • ルータID
    • Hello/Deadタイマー
    • ネットワークマスク
    • 認証情報
    • Area ID など

➡ これらの条件が一致した隣のルータ同士が、Neighbor(隣接関係)を形成します。

2. 隣接関係の確立

  • Helloのやり取りが成功すると、ルータ同士はネイバー関係を確立します。
  • OSPFのネイバー状態までは、以下のように進みます。
状態内容
DownまだHelloを受け取っていない
Init相手のHelloを受け取った
2-Way双方向通信が確認された(DR選出完了)
ExStartLSA交換の準備
ExchangeLSAヘッダを交換
LoadingLSAの内容を要求・受信
Full同期完了(隣接確立)

3. DR/BDRの選出

  • セグメント上に複数ルータがある場合、通信量を減らすために次を選出します:
役割説明
DR(Designated Router)ネットワーク内の代表。LSAを中継する中心。
BDR(Backup DR)DRが落ちたときの予備。

選出基準は:

  1. OSPFプライオリティ(ip ospf priority)が高いルータ
  2. 同じならRouter IDが大きい方

4. LSA交換➡LSDB構築➡ネットワーク全体図の作成

  • 隣接ルータは、お互いのリンク情報を LSA(Link State Advertisement) として交換します。
  • LSAを全ルータにフラッディング(洪水のように配布)し、
     結果として各ルータは同じネットワークマップ(LSDB)を保持します。

5. SPFツリーの作成➡ルーティングテーブルへの登録

  • 各ルータはLSDBをもとに、SPF計算(Dijkstra(ダイクストラ)アルゴリズム)を実行し、SPFツリー(最短経路ツリー) を作成します。
  • 宛先までの最短経路を、ルーティングテーブル(RIB)に登録します。

6. 経路変更時の再計算(高速収束)

  • リンク障害や新規ルータの追加が発生したとき:
    • 障害を検出したルータがLSAを再送信
    • 各ルータが新しいLSDBを構築
    • 再びSPF計算を実施

➡ このため、OSPFは高速に経路を再計算(収束)できます。

まとめ

項目内容
種類リンクステート型IGP
経路情報単位LSA(Link State Advertisement)
経路計算SPF(Dijkstra)アルゴリズム
経路選択基準コスト(帯域幅に基づく)
優れた点高速収束・ループ防止・スケーラブル
注意点メモリ・CPU負荷が高い/設計要素が多い(エリア設計など)