OSPFの特徴とリンクステート型ルーティングプロトコルを解説

本記事ではOSPFの特徴や仕組みについて解説いたします。

OSPFとは

OSPF(Open Shortest Path First)とは、ネットワーク機器同士が経路情報を動的にやりとりする時に使用する動的ルーティングプロトコルの1つです。

OSPFはネットワーク機器のメーカーに依存する事なく実装する事が可能であり、RIPのようなホップ数(ネットワーク機器数)の制限もありません。
その為、小規模〜大規模にも実装可能なルーティングプロトコルであり、現在日本中で多く利用されているルーティングプロトコルです。

OSPFの特徴は以下の通りです。

▼OSPFの特徴▼

  • OSPFはベンダーフリー(メーカーに依存しない)プロトコルである事
  • OSPFはAS内で導入されるIGP(Interior Gateway Protocol)である事
  • OSPFはリンクステート型ルーティングプロトコルである事 ※詳細は次章で解説
  • OSPFはAD(Administrative Distance)値は「110」である事
  • OSPFは可変長サブネットマスク(VLSM)をサポートしている事
  • OSPFはメトリックは「コスト」を使用している事
  • OSPFはネットワーク変更に対し迅速に対応する可能な事(コンバージェンス時間が短い)
  • OSPFネットワークを「複数のエリア」に分割し、大規模なネットワーク対応可能な事
  • OSPFは認証機能・IPv6対応など様々な機能を有している事

ではOSPFの特徴の1つである「リンクステート型ルーティングプロトコル」についてご紹介します。

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

リンクステート型ルーティングプロトコルとはOSPFルータ同士でLSA(Link State Advertisement)という「自身のネットワーク情報」をやりとりし、各ルータから収集したLSAを用いて全体ネットワークを把握する事により最短経路のルーティングを実現しております。

(最短経路を選出する際に「SPF(Shortest Path First)アルゴリズム」を用いて実現しております。又、SPFアルゴリズムはCPUやメモリへの負荷が高い特徴がございます。)

ポイント
リンクステート型ルーティングプロトコルの代表的なプロトコルが「OSPF」や「IS-IS」です。

リンクステート型ルーティングプロトコルは以下のように動作します。

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

  1. 隣接ルータの検出
  2. LSA(ネットワーク情報)の収集&ネットワーク構成の把握
  3. 最適経路の選出
  4. 最適経路をルーティングテーブルに反映

では上記①〜④の詳細について、1つずつ解説します。

①隣接ルータの検出

まず最初にOSPFが有効化されているルータにてHelloパケットを送出し合い、隣接するOSPFルータを検出します。

その後、検出したOSPFルータとネイバー関係を確立し、そのルータ情報をネイバーテーブルへ反映する。

ネイバーテーブルとは
ネイバーテーブルはネイバー関係を確立したOSPFルータリストが保存されているテーブルの事です。
ネイバーテーブルは「show ip ospf neighbor」コマンドで確認可能です。

OSPF-Hello

▼ あなたにオススメな記事 ▼

②LSA(ネットワーク情報)の収集&ネットワーク構成の把握

ネイバー関係を確立後は各OSPFルータでLSA(自身のネットワーク情報)を送信し合い、収集したLSAをリンクステートデータベース(LSDB)へ格納します。
その後、リンクステートデータベース(LSDB)に格納されているLSAを元に、全体ネットワークを把握します。

リンクステートデータベースとは
リンクステートデータベースはLSAを保存するデータベースであり、OSPFの特徴の1つである「素早いコンバージェンス」や「ルーティングループの防止」を実現しているデータベースです。
リンクステートデータベースは「show ip ospf database」コマンドで確認可能です。

OSPF-LSA

▼ あなたにオススメな記事 ▼

④最適経路の選出

SPFアルゴリズムを用いて各ネットワーク経路に対する最適経路を決定します。

※SPFアルゴリズムは自ルータをルート(頂点)とするツリーを作成し、各ネットワーク経路の最適経路(コスト値が最小の経路を最適経路)として選出します。

OSPF-SPF

⑤最適経路をルーティングテーブルに反映

最後に各ネットワーク経路の最適経路をルーティングテーブルに反映します。

ルーティングテーブルへの反映

では、次にOSPFのメトリックとして用いられている「コスト」について、解説いたします。

OSPFのメトリック「コスト」について

メトリックとは最適経路を判断する際に使用する「経路選択の判断基準」の事です。
OSPFではコストというメトリックを用いており、宛先経路への通信経路が複数ある場合は最小コスト値を持つ経路が最適経路として扱います。

コスト値の計算式は以下の通りです。

OSPFのコスト計算

▼ あなたにオススメな記事 ▼

※コスト値の設定変更方法は次章で紹介します。

コスト値の設定方法

コスト値の設定変更方法は以下の3通りございます。

▼コスト値の設定変更▼

  1. ip ospf costコマンドでコスト値を変更
  2. bandwidthコマンドで帯域幅を変更
  3. auto-cost reference-bandwidthコマンドでコスト計算式の分子値を変更

ポイント
実務では「①ip ospf costコマンドでコスト値を変更」で設定変更するのは一般的です!

では上記①〜③の詳細について、1つずつ解説します。

【コスト 変更方法①】ip ospf costでコスト値を変更

【設定コマンド】
Router(config)# interface [インターフェース名&番号]
Router(config-if)# ip ospf cost [コスト値]

【コスト 変更方法②】bandwidthコマンドで帯域幅を変更

【設定コマンド】
Router(config)# interface [インターフェース名&番号]
Router(config-if)# bandwidth [帯域幅]

【コスト 変更方法③】コスト計算式の分子値を変更

【設定コマンド】
Router(config)# router ospf [OSPF プロセス番号]
Router(config-if)# auto-cost reference-bandwidth [帯域幅]

まとめ

いかがでしたでしょうか?

OSPFは色んなネットワークで実装されておりますので、OSPFの特徴・リンクステート型ルーティングプロトコルについて、ぜひ覚えておきましょう!

興味のある方は合わせて読んでみてください!