本記事ではOSPFの特徴や仕組みについて解説いたします。
>>参考記事: 「[まとめ] OSPF 基礎〜応用・検証結果の記事をまとめました!」
OSPFとは
OSPF(Open Shortest Path First)とは、ネットワーク機器同士が経路情報をやりとりする時に使用するルーティングプロトコルです。
OSPFの主な特徴な標準化されているルーティングプロトコルである点です。
複数のネットワーク機器メーカーで構成されているネットワークであっても、OSPFを使ってネットワークを構築することができます。
さらに、RIPのようなネットワーク規模の制限(RIPのようなホップ数[ネットワーク機器数])の制限もありません。
小規模〜大規模にも柔軟に対応できるルーティングプロトコルです。
このような特徴から現在日本中で多く利用されているルーティングプロトコルです。
その他、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試験などにも出題される可能性があるので、覚えておきましょう!!
リンクステート型ルーティングプロトコルの動作
それでは、リンクステート型ルーティングプロトコルの挙動・動作を確認してみましょう。
- 隣接ルータの検出
- LSA(ネットワーク情報)の収集&ネットワーク構成の把握
- 最適経路の選出
- 最適経路をルーティングテーブルに反映
では上記①〜④の詳細について、1つずつ解説します。
①隣接ルータの検出
まず最初にOSPFが有効化されているルータにてHelloパケットを送出し合い、隣接するOSPFルータを検出します。
その後、検出したOSPFルータとネイバー関係を確立し、そのルータ情報をネイバーテーブルへ反映します。
ネイバーテーブルはネイバー関係を確立したOSPFルータリストが保存されているテーブルの事です。
ネイバーテーブルは「show ip ospf neighbor」コマンドで確認可能です。
OSPFネイバーの確立条件など確認されたい方は、以下の記事をご確認ください!
>>参考記事: 「OSPF ネイバー(2WAY)確立の条件・不具合時の解決方法!」
②LSA(ネットワーク情報)の収集&ネットワーク構成の把握
ネイバー関係を確立後、各OSPFルータでLSA(自身のネットワーク情報)を送信し合います。
それぞれのOSPFルータで送受信したLSAをリンクステートデータベース(LSDB)へ格納します。
OSPFではリンクステートデータベース(LSDB)にて、全体ネットワークを把握できるようになります。
リンクステートデータベースとは、各種LSAを保存するデータベースです。
このデータベースを使うことで、OSPFの特徴の1つである「素早いコンバージェンス」や「ルーティングループの防止」を実現します。
リンクステートデータベースは「show ip ospf database」コマンドで確認可能です。
OSPFデータベースを構成するLSAについて詳しく知りたい方は、以下の記事をご確認ください。
③最適経路の選出
SPFアルゴリズムを用いて、各宛先ネットワークに対する最適経路を決定します。
SPFアルゴリズムは自ルータをルート(頂点)とするツリーを作成し、各ネットワーク経路への最適経路(コスト値が最小の経路を最適経路)として選定します。
④最適経路をルーティングテーブルに反映
最後に最適経路をルーティングテーブルに反映して、完了です。
OSPFのメトリック「コスト」について
それでは、経路の選定時に使用される「メリトック」について、説明します。
メトリックとは、最適な経路を選定する際に使用される「経路選択の判断基準」です。
OSPFではコストというメトリックを使います。
例えば、宛先ネットワークへの通信経路が複数ある場合、最小コスト値を持つ経路が最適経路として扱います。
コスト値の計算式は以下の通りです。
OSPFのコストの関する仕様について確認したい方は、以下の記事をご確認ください。
>>参考記事: 「OSPF コストの計算式やコスト加算のタイミングを解説」
OSPF コスト値の設定方法
最後に、OSPFコストの設定変更方法を紹介します。
設定方法は、3種類の方法があります。
- ip ospf costコマンドでコスト値を変更
- bandwidthコマンドで帯域幅を変更
- 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 基礎〜応用・検証結果の記事をまとめました!」