【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の動作
Helloパケットとネイバー検出
OSPFルーターは、Helloパケットを定期的にマルチキャストアドレス224.0.0.5(IPv4)およびFF02::5(IPv6)に送信。これにより、同じネットワークに存在する他のOSPFルーターを検出し、隣接関係を確立します。Helloパケットには、ルーターID、エリアID、Hello間隔、デッド間隔などのパラメータが含まれています。これらのパラメータが一致した場合にのみ、ネイバー関係が確立される。ネイバーテーブルへの登録
ネイバー関係が確立されると、OSPFルーターはネイバーテーブルにネイバールーターの情報を登録。この情報には、ネイバールーターのルーターID、IPアドレス、インターフェイス情報、ネイバー関係の状態などが含まれます。LSDB交換の準備
ネイバーテーブルが更新されると、OSPFルーターは隣接するルーターとの間でリンクステートデータベース(LSDB)の情報を交換する準備を行います。これにより、ネットワーク全体のトポロジー情報が正確かつ最新の状態で保たれます。DBDパケットの交換
データベースディスクリプション(DBD)パケットは、LSDBの概要情報を含んでいます。隣接するOSPFルーター同士でDBDパケットを交換し、LSDBの情報を比較します。この比較により、双方のルーターが持っていない最新のLSA情報を特定します。詳細な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の代替として機能するルータ
リンク状態情報の交換を効率化することで、ネットワークのオーバーヘッドを削減。DRが中心となってLSAを集約・配布することで、全てのルータが個別にLSAを交換するよりも、効率的に情報交換が行われる。
ネットワークの安定性を向上。DRがダウンした場合に迅速にBDRがDRの役割を引き継ぎ、ネットワークのリンク状態情報の交換が継続。
ネットワークの収束時間を短縮。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)のサイズを削減する。同一エリア内のルータには詳細な情報を渡すが、他のエリアに関してはルート情報のみ保持する。
注意事項
Backbone Area(エリア0)
エリア0はOSPFのバックボーンエリアとして必ず作成され、他のエリア間のルーティング情報の交換を行います。OSPFネットワークにおいては、すべてのエリアがエリア0に直接接続するか、仮想リンクを介して接続される必要があります。Area Border Router (ABR)
2つ以上のエリアに接続し、エリア間のルーティング情報の伝播を制御するルータ。ABRは、エリア内のルート情報を他のエリアに伝播するために、サマリLSAを生成。Autonomous System Boundary Router (ASBR)
OSPFネットワークと外部ネットワーク(別の自治システム)間でルーティング情報を交換するルータ。ASBRは、外部ルート情報をType 5 LSAやType 7 LSAとして伝播する。
この記事が参加している募集
よろしければサポートお願いします!よりいい情報を発信します。