OSPF のコストと SPF アルゴリズムを理解する

  • URLをコピーしました!

OSPF(Open Shortest Path First)は、最短経路を選択するためにコスト(Cost)SPF(Shortest Path First)アルゴリズムを使用します。この記事では、CCNAレベルから実務レベルまで、これらの概念をわかりやすく解説します。

目次

1. OSPFのルーティング原理

OSPFはリンクステート型ルーティングプロトコルで、各ルータがネットワーク全体の構造(トポロジ)を把握し、最短経路を自律的に計算します。

OSPFの処理の流れ:

  1. 各ルータが自分の接続情報をLSA(Link-State Advertisement)として送信
  2. すべてのLSAが集まり、LSDB(Link-State Database)を形成
  3. SPFアルゴリズムで最短経路を計算

2. OSPFコストとは?

OSPFでは経路の「良し悪し」を数値化したコスト(Cost)を使って経路選択を行います。
コスト値が小さいほど優先されるため、帯域幅の広いリンクが選ばれる傾向にあります。

インターフェース種別帯域幅OSPFコスト(デフォルト)
Ethernet10 Mbps10
FastEthernet100 Mbps1
GigabitEthernet1 Gbps1
Serial(T1)1.544 Mbps64

コストの計算式:

OSPF Cost = 100,000,000 ÷ 帯域幅(bps)

例:10 Mbps の回線 → 100,000,000 ÷ 10,000,000 = 10

3. コストの計算方法と経路選択

OSPFは「通過する全リンクのコストの合計」をもとに最短経路を選択します。

例:
R1 --(Cost 10)--> R2 --(Cost 20)--> R3
R1 --(Cost 5) --> R4 --(Cost 10)--> R3

計算結果:
R1→R2→R3 の合計コスト = 10 + 20 = 30
R1→R4→R3 の合計コスト = 5 + 10 = 15 ← 選択される経路

このように、OSPFはより低コストな経路を優先的に使用します。

4. SPF(ダイクストラ)アルゴリズムの原理

OSPFの心臓部であるSPF(Shortest Path First)アルゴリズムは、ダイクストラ法と呼ばれる最短経路探索アルゴリズムを採用しています。

SPFアルゴリズムの基本ステップ:

  1. 全ノードの距離を「∞」で初期化、自ノードは0とする
  2. 未確定ノードの中で最小距離のノードを確定
  3. 確定ノードに隣接するノードの距離を再計算・更新
  4. すべてのノードが確定するまで繰り返す

5. SPFアルゴリズムの動作例

例えば、以下のようなネットワークを考えます。

      (10)
  A -------- B
   \         |
   (5)       | (20)
    \        |
      \      |
        C --- D
          (10)
  • A→B→D のコスト = 10 + 20 = 30
  • A→C→D のコスト = 5 + 10 = 15(最短経路)

このように、SPFアルゴリズムは全体を俯瞰して「最短コストの経路」を求めます。

6. コスト調整による経路制御

OSPFでは、管理者が明示的にコストを変更して経路制御を行うことが可能です。

設定例(Cisco IOS)

R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip ospf cost 5

活用ポイント:

  • バックアップ回線には高いコストを設定して待機させる
  • ロードバランスを行う場合は、同一コストに設定
  • 経路の最適化や冗長性を目的にチューニング

7. まとめ

  • OSPFは「コスト(帯域幅に基づく値)」で経路を決定する
  • SPFアルゴリズム(ダイクストラ法)で最短経路を計算
  • コストを調整することで経路制御が可能

要点:
コストとSPFアルゴリズムの理解は、OSPFネットワークのトラブルシューティングや設計の基礎となります。

目次