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

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

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

>>参考記事: [まとめ] OSPF 基礎〜応用・検証結果の記事をまとめました!

OSPFとは


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


OSPFの主な特徴な標準化されているルーティングプロトコルである点です。
複数のネットワーク機器メーカーで構成されているネットワークであっても、OSPFを使ってネットワークを構築することができます。


さらに、RIPのようなネットワーク規模の制限(RIPのようなホップ数[ネットワーク機器数])の制限もありません。
小規模〜大規模にも柔軟に対応できるルーティングプロトコルです。

解決者

このような特徴から現在日本中で多く利用されているルーティングプロトコルです。

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

▼OSPFの特徴▼

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



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

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

リンクステート型ルーティングプロトコルとは、OSPFルータ同士でLSA(Link State Advertisement)という「自身のネットワーク・リンク情報」を交換します。


前述の通り、LSAにはそれぞれのルータのネットワーク・リンク情報が含まれておりますので、各ルータから収集したLSAを組み合わせると、パズルのように全体ネットワークを把握できるようになります。


リンクステート型ルーティングプロトコルでは、このように全体ネットワークを把握することで、最適なルーティングを実現しております。

最短経路の計算には「SPF」を使う

最短経路を選出する際「SPF(Shortest Path First)アルゴリズム」を用いて実現しております。


SPFアルゴリズムは、CPUやメモリへの負荷が高い特徴があります。
その為、大規模なネットワークでは計算範囲を限定(OSPFではエリア分割)することで、CPUやメモリの負荷を軽減させることができます。


OSPFのエリアに関して確認されたい方は、以下の記事をご確認ください!

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

>>参考記事: OSPFのエリア分割・分断の必要性! エリアの種類とタイプを解説

解決者

代表的なリンクステート型ルーティングプロトコルは、「OSPF」や「IS-IS」です。
CCNA試験などにも出題される可能性があるので、覚えておきましょう!!

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

それでは、リンクステート型ルーティングプロトコルの挙動・動作を確認してみましょう。

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

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



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

①隣接ルータの検出

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


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

OSPF-Hello

解決者

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

OSPFネイバーの確立条件など確認されたい方は、以下の記事をご確認ください!

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

>>参考記事: OSPF ネイバー(2WAY)確立の条件・不具合時の解決方法!

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

ネイバー関係を確立後、各OSPFルータでLSA(自身のネットワーク情報)を送信し合います。
それぞれのOSPFルータで送受信したLSAをリンクステートデータベース(LSDB)へ格納します。


OSPFではリンクステートデータベース(LSDB)にて、全体ネットワークを把握できるようになります。

OSPF-LSA

解決者

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

OSPFデータベースを構成するLSAについて詳しく知りたい方は、以下の記事をご確認ください。

③最適経路の選出

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


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

OSPF-SPF

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

最後に最適経路をルーティングテーブルに反映して、完了です。

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

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

それでは、経路の選定時に使用される「メリトック」について、説明します。


メトリックとは、最適な経路を選定する際に使用される「経路選択の判断基準」です。



OSPFではコストというメトリックを使います。
例えば、宛先ネットワークへの通信経路が複数ある場合、最小コスト値を持つ経路が最適経路として扱います。



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

OSPFのコスト計算



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の知識を身につけたい方は、以下のまとめ記事をご確認ください!!

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

>>参考記事: [まとめ] OSPF 基礎〜応用・検証結果の記事をまとめました!