見出し画像

【Cisco】 OSPFの概要

OSPF(Open Shortest Path First)

インターネットプロトコル(IP)ネットワークでルーティングを行うためのリンクステート型の内部ゲートウェイプロトコル(IGP)。
内部ゲートウェイプロトコル(IGP)は、自治システム(AS)内のルータ間でルーティング情報を交換するためのプロトコル。

パッシブインターフェイス

OSPFがインターフェイスに対してネイバー関係を形成しない設定。パッシブインターフェイス上でOSPFパケットは送受信されませんが、インターフェイスのネットワークは他のルータに通知されます。この設定は、ネットワークのセキュリティを強化したり、不要なOSPFトラフィックを削減するために使用される。(ユーザーエンドの端末など)

MTU(Maximum Transmission Unit)

ネットワークインターフェイスが一度に送信できる最大パケットサイズを表し、隣接関係を確立する際に、ネイバー間のMTUが一致していることが求められます。MTUが一致しない場合、隣接関係が確立されず、ルーティング情報の交換が行われないため、ネイバー間のMTUが一致していることを確認することが重要

OSPFのネットワークタイプ

OSPFでは、異なるネットワークタイプをサポートしており、それぞれのタイプが特定のネットワーク環境や要件に対応している。

  • Broadcast: イーサネットやトークンリングのようなブロードキャストネットワークで使用されます。DRとBDRが選出され、ネイバー関係の確立やLSAの交換が効率化されます。

  • Non-Broadcast Multi-Access (NBMA): フレームリレーやATMなどの非ブロードキャストネットワークで使用されます。DRとBDRが選出されますが、ネイバー関係の確立には静的な設定が必要。

  • Point-to-Point: 2つのルータ間の直接接続に使用されます。DRとBDRは選出されません。

  • Point-to-Multipoint: 複数のルータがポイントツーポイント接続で結ばれたネットワークで使用されます。DRとBDRは選出されない


OSPFの動作

  1. Helloパケットとネイバー検出
    OSPFルーターは、Helloパケットを定期的にマルチキャストアドレス224.0.0.5(IPv4)およびFF02::5(IPv6)に送信。これにより、同じネットワークに存在する他のOSPFルーターを検出し、隣接関係を確立します。Helloパケットには、ルーターID、エリアID、Hello間隔、デッド間隔などのパラメータが含まれています。これらのパラメータが一致した場合にのみ、ネイバー関係が確立される。

  2. ネイバーテーブルへの登録
    ネイバー関係が確立されると、OSPFルーターはネイバーテーブルにネイバールーターの情報を登録。この情報には、ネイバールーターのルーターID、IPアドレス、インターフェイス情報、ネイバー関係の状態などが含まれます。

  3. LSDB交換の準備
    ネイバーテーブルが更新されると、OSPFルーターは隣接するルーターとの間でリンクステートデータベース(LSDB)の情報を交換する準備を行います。これにより、ネットワーク全体のトポロジー情報が正確かつ最新の状態で保たれます。

  4. DBDパケットの交換
    データベースディスクリプション(DBD)パケットは、LSDBの概要情報を含んでいます。隣接するOSPFルーター同士でDBDパケットを交換し、LSDBの情報を比較します。この比較により、双方のルーターが持っていない最新のLSA情報を特定します。

  5. 詳細なLSA情報の交換
    DBDパケットの交換を通じて最新のLSA情報が特定された場合、リンクステート要求(LSR)パケットを使用して詳細なLSA情報を要求します。受信側のルーターはリンクステート更新(LSU)パケットで応答し、詳細なLSA情報を提供します。これにより、LSDBが更新され、最新のネットワークトポロジー情報が得られます。この情報をもとに、各ルーターはSPFアルゴリズムを実行して最適なルーティングパスを計算する。

OSPFの状態遷移

  • Down:ルータはOSPFネイバーを検出していない状態

  • Init:ルータがHelloパケットを送信し、他のOSPFルータを検出する状態

  • Two-Way:ルータが互いにHelloパケットを交換し、双方向通信が確立される状態。ネイバーテーブルに登録される

  • Exstart:ルータがLSDBの概要情報を交換する準備が整った状態。DBDパケットが交換される

  • Exchange:ルータがDBDパケットを交換し、LSDBの概要情報を共有する状態

  • Loading:ルータが詳細なLSA情報を交換する状態。LSRパケットとLSUパケットが使用される

  • Full:ルータ間でLSA情報が一致し、最新のLSDBが構築された状。LSAckパケットを使用してLSA情報の受信確認が行われる


DR(Designated Router)

ネットワーク上でリンク状態情報の交換を統括するルータで、他のルータとのLSA(Link State Advertisement)の交換を担当

BDR(Backup Designated Router)

DRが故障した場合に備えて、DRの代替として機能するルータ

  1. リンク状態情報の交換を効率化することで、ネットワークのオーバーヘッドを削減。DRが中心となってLSAを集約・配布することで、全てのルータが個別にLSAを交換するよりも、効率的に情報交換が行われる。

  2. ネットワークの安定性を向上。DRがダウンした場合に迅速にBDRがDRの役割を引き継ぎ、ネットワークのリンク状態情報の交換が継続。

  3. ネットワークの収束時間を短縮。DRとBDRによる効率的なLSAの交換により、ネットワークの変更が迅速に伝播され、ルーティングテーブルが最新の状態に更新されることで、収束時間が短縮。

DRとBDRは、大規模なネットワーク環境で使用されることが多い。

DRとBDRの選出方法

  • Helloパケットには、各ルータのRouter ID(ルータ識別子)とRouter Priority(優先度)が含まれています。
    ※Router Priority:ルータのインターフェイスごとに決まる値。デフォルトでは1が設定されており、0にするとどちらにも選ばれなくなる。

  • OSPFルータは、受信したHelloパケットを元に、 最も高いRouter Priorityを持つルータをDRに選び、同じPriorityの場合は最も高いRouter IDを持つルータがDRに選ぶ。 次に高いRouter PriorityまたはRouter IDを持つルータがBDRに選ばれます。

  • DRとBDRが選出されると、他のルータはDRother(DRやBDR以外のルータ)の状態になる。


ルート選択

メトリック計算

ルート選択のメトリックとして「コスト」が使用され、リンクの帯域幅や遅延などの要素を考慮して割り当てられる値で、通常は帯域幅の逆数に比例。具体的には、コスト = 10^8 / 帯域幅(bps)の式で計算され、管理者が手動で設定することも可能。

等コストロードバランシング

複数の同じコストを持つ経路が存在する場合、デフォルトで4つまでルーティングテーブルに登録し、それらの経路を利用してロードバランシング(負荷分散)を行う。


マルチエリアOSPF

大規模なネットワークを効率的に運用するための方法で、ネットワークを階層化し、エリアと呼ばれる複数の単位に分割することで、ルーティング情報の伝播を制限し、リンク状態データベース(LSDB)のサイズを削減する。同一エリア内のルータには詳細な情報を渡すが、他のエリアに関してはルート情報のみ保持する。


注意事項

  1. Backbone Area(エリア0)
    エリア0はOSPFのバックボーンエリアとして必ず作成され、他のエリア間のルーティング情報の交換を行います。OSPFネットワークにおいては、すべてのエリアがエリア0に直接接続するか、仮想リンクを介して接続される必要があります。

  2. Area Border Router (ABR)
    2つ以上のエリアに接続し、エリア間のルーティング情報の伝播を制御するルータ。ABRは、エリア内のルート情報を他のエリアに伝播するために、サマリLSAを生成。

  3. Autonomous System Boundary Router (ASBR)
    OSPFネットワークと外部ネットワーク(別の自治システム)間でルーティング情報を交換するルータ。ASBRは、外部ルート情報をType 5 LSAやType 7 LSAとして伝播する。















いいなと思ったら応援しよう!

Ken @ インフラエンジニア
よろしければサポートお願いします!よりいい情報を発信します。

この記事が参加している募集