IT用語集

OSPFとは? わかりやすく10分で解説

水色の背景に六角形が2つあるイラスト 水色の背景に六角形が2つあるイラスト
アイキャッチ
目次

はじめに

OSPFとは?

OSPF(Open Shortest Path First)は、IPネットワークで広く使われるリンクステート型のIGP(Interior Gateway Protocol)です。ルータ同士が「どこに、どのリンクでつながっているか」というリンク状態情報を共有し、各ルータが同じトポロジ情報(リンクステートデータベース)をもとにSPF(Shortest Path First)計算で最短経路木を求めて、最適な転送経路を決定します。経路計算には一般にダイクストラ法が用いられます。

OSPFの経路選択は、リンク(主にインターフェース)のコストを合計して決めます。コストは実装や設計方針に依存しますが、多くの環境では帯域幅を基準に算出されます(例:基準帯域幅 ÷ インターフェース帯域幅)。合計コストが最も小さい経路が優先されるため、運用者はコスト設計によって「どこを主経路にしたいか」をネットワークへ反映できます。

また、OSPFはAS(Autonomous System)内部でのルーティングを担うプロトコルとして位置づけられます。インターネット全体の経路制御(AS間)を担うBGPとは役割が異なり、企業内ネットワークやデータセンター、ISPの内部網などで、安定した内部ルーティングを実現するために利用されます。

ルーティングプロトコルとは?

ルーティングプロトコルとは、ネットワーク内のルータ同士が情報を交換し、パケットの転送先を決めるための経路学習と経路選択のルールを定めた仕組みです。代表的な分類として、ネットワーク全体のリンク状態を共有して計算する「リンクステート型」と、距離(ホップ数など)や方向の情報を交換して学習する「ディスタンスベクタ型」があります。

OSPFはリンクステート型であり、各ルータが自分の接続情報をLSA(Link-State Advertisement)として周囲に通知し、同一エリア内のルータがLSDB(Link-State Database)を同期します。そのうえで、各ルータが独立にSPF計算を行ってルーティングテーブルを作成します。全ルータが同じトポロジを共有するため、経路の整合性を保ちやすく、ネットワーク変化(リンク断など)への追随も設計次第で素早く行えます。

OSPFの開発経緯

OSPFは、大規模ネットワークでのスケーラビリティや収束速度の課題に対応するために標準化が進められました。リンクステート型の採用により、トポロジ変化を全体へ共有しつつ、各ルータが計算で経路を導く方式が実現され、さらに「エリア」という仕組みによって、情報量の増大を抑えながらネットワークを運用できるよう設計されています。

また、OSPFはオープンな標準として広く実装されており、異なるベンダー機器を混在させた環境でも相互運用しやすい点が特徴です。現場では「同一ベンダー縛りを避けたい」「構成変更に強い内部ルーティングを作りたい」といった要件で採用されることが少なくありません。

OSPFが使用されるシーン

OSPFは、企業のWAN、拠点間ネットワーク、データセンター、キャンパスネットワークなど、ある程度の規模と変更頻度がある環境でよく使われます。理由は、リンクステート型としてネットワーク変化に追随しやすく、またエリア分割で拡張しやすいからです。

さらに、同一コストの経路が複数ある場合、OSPFは等コストマルチパス(ECMP)として複数経路を同時に利用できます。これにより、単一経路への集中を避け、冗長性と帯域の有効活用を両立しやすくなります。ただし、どの程度ECMPを活用するかは機器実装や設計、運用ポリシー(経路の対称性、監視のしやすさ等)に依存します。

OSPFの重要性

OSPFが重要視される背景には、ネットワークが「止められない」インフラになった現実があります。拠点の追加、回線の増速、冗長化、障害対応など、運用上の変化が避けられない中で、内部ルーティングが不安定だと、通信障害は一気に利用者影響へ波及します。OSPFはそうした環境で、設計と運用を前提にしながら、安定した内部経路制御を実現する選択肢になります。

大規模ネットワークの管理を容易にする

OSPFは「エリア」という概念によって大規模ネットワークの運用を現実的にします。ネットワークを複数エリアに分割することで、各エリア内で共有するリンクステート情報を抑制し、トポロジ変更の影響範囲を限定できます。結果として、CPU・メモリ消費や制御トラフィック(LSAの流通)を抑えつつ、拡張性を確保しやすくなります。

運用の観点でも、障害が発生した際に「どのエリアの問題か」を切り分けやすくなり、監視やトラブルシューティングの導線が作りやすい点が利点です。逆に言えば、エリア設計が曖昧なまま拡張を続けると、後からの整理が難しくなるため、早い段階で方針を決めておくことが重要です。

高速なネットワークコンバージェンス

ネットワークの変化に応じて経路情報が安定状態へ収束することをコンバージェンスと呼びます。OSPFはリンクステート型として、変化が起きたリンクに関するLSAをネットワークへ通知し、各ルータがSPF計算をやり直すことで経路を更新します。適切なタイマー設計や機器性能、トポロジ設計が伴えば、障害発生時の影響時間を短縮し、ダウンタイムを抑えた運用が可能になります。

一方で、「OSPFなら必ず速い」と決めつけるのは危険です。LSAの流通量、エリア境界設計、ルータ性能、LSDB規模、SPF計算頻度、隣接関係の張り方など、収束時間に影響する要素は多く、設計と運用の品質がそのまま反映されます。

ループフリーなルーティングを実現しやすい

ルーティングループは、パケットがネットワーク内を無駄に回り続ける状態で、輻輳や遅延、最悪の場合は通信断を引き起こします。OSPFは全ルータが同一のトポロジ情報(LSDB)を共有し、SPF計算に基づいて経路を選ぶため、ディスタンスベクタ型で問題になりやすい収束過程のループを起こしにくい特性があります。

ただし、設計ミス(不整合な集約、誤った再配布、フィルタ設定の破綻など)や異常系の条件次第では、想定外の経路選択やブラックホールが起こり得ます。OSPFを採用しても、経路設計と変更管理が不要になるわけではありません。

負荷分散と冗長性の強化

OSPFは等コストの経路が複数ある場合にECMPとして利用でき、負荷分散冗長性の両方に効果があります。単一回線へ負荷が集中しがちな構成でも、設計次第で帯域を有効活用し、障害時には別経路へトラフィックを逃がすことができます。

ただし、冗長化は「経路が複数ある」だけでは成立しません。障害検知(Hello/Deadの設計)、収束時間、迂回後の帯域、対称経路の維持、監視・アラートの設計など、運用の要件を満たす形で設計しないと、冗長化が逆にトラブルの温床になることもあります。

OSPFの仕組み

ここでは、OSPFがどのような流れで隣接関係を作り、情報を共有し、ルーティングテーブルへ反映するのかを整理します。用語が多く見えますが、要点は「隣接関係を作る → 情報を同期する → 計算して経路を決める」の3段階です。

Helloパケットと隣接関係の確立

OSPFはまずHelloパケットを用いて、隣接するルータとの関係(ネイバー関係)を確立します。ルータは定期的にHelloを送信し、相手からのHelloを受け取ることで「相手が存在し、OSPFとして会話できる」ことを確認します。

Helloの交換が一定時間途絶えると、OSPFはその隣接ルータをダウンと判断し、経路再計算に必要な更新をトリガーします。運用では、Hello/Deadインターバルの設計や、冗長回線での隣接関係の張り方が、障害時の収束や安定性に影響するため重要です。

LSA交換とリンクステートデータベース(LSDB)の同期

隣接関係が確立すると、ルータはLSAを交換し、同一エリア内でLSDBを同期します。LSDBは「そのエリアのトポロジ情報の写し」と考えると理解しやすく、全ルータが同じLSDBを持つことで、同じ条件でSPF計算が行えるようになります。

ここで大切なのは、OSPFが「経路そのもの」を直接配るのではなく、「トポロジ情報」を配り、それを各ルータが計算して経路へ落とし込む点です。したがって、LSDBの規模や変化量が大きいと、制御トラフィックと計算負荷が増えます。エリア設計や集約の方針が効いてくるのはこのためです。

ルーティングテーブルの作成と更新

各ルータはLSDBをもとにSPF計算を行い、最短経路木を求めます。その結果がルーティングテーブル(経路情報)へ反映され、パケット転送に利用されます。

リンク断、コスト変更、再配布の変化などでLSAが更新されると、OSPFは必要に応じて再計算し、ルーティングテーブルを更新します。頻繁な再計算はCPU負荷や収束の揺れにつながるため、変更管理と監視をセットで考えるのが現実的です。

コストの考え方

OSPFは経路選択の際にコストの合計を比較します。多くの環境では帯域幅を基準にコストが算出されますが、運用者が設計意図を反映するために手動で調整することも一般的です。

重要なのは「速い回線=必ず主経路」という単純な話ではない点です。例えば、回線の安定性、迂回時の帯域、特定拠点へのトラフィック制御、障害時の影響範囲など、ネットワーク設計の要件に応じて、コストを設計する必要があります。

OSPFのエリア設計

大規模ネットワークでは、ルータ数の増加に伴ってLSDBも大きくなり、LSA流通量やSPF計算負荷が増えます。そこでOSPFは「エリア」を用いてネットワークを分割し、情報量と影響範囲をコントロールします。

一般的には、中心となるエリア(バックボーン)を軸に、拠点や機能単位でエリアを分割します。エリア設計では、障害時の影響をどこまで局所化したいか、集約をどうするか、運用チームが管理できる粒度はどこか、といった視点が重要になります。

OSPFの利点と欠点

OSPFは大規模ネットワークに向いた特徴を持つ一方、設計と運用の前提を外すと扱いにくさが表面化します。採用時は「何が得られて、何が難しくなるのか」を最初に整理しておくと、導入後のトラブルを減らしやすくなります。

OSPFの利点

OSPFの利点は、リンクステート型としてトポロジ変化へ追随しやすく、設計次第で収束を速くできる点にあります。また、エリア分割によってスケーラビリティを確保しやすく、ECMPで帯域の有効活用と冗長性を両立しやすい点もメリットです。

さらに、標準化され多くの機器に実装されているため、マルチベンダー環境でも運用しやすい傾向があります。拠点追加や回線変更が避けられないネットワークでは、設計の自由度を確保できること自体が大きな価値になります。

OSPFの欠点

欠点としてまず挙がるのは、設計・設定・運用が複雑になりやすい点です。エリア設計、LSAの扱い、再配布、集約、タイマー調整、冗長化設計など、検討項目が多く、経験やルールがないまま拡張を続けると破綻しやすくなります。

また、OSPFはLSDBや計算処理を持つため、一定のCPU・メモリ資源を必要とします。小規模環境では過剰な選択肢になる場合もあり、要件に応じて他プロトコルや静的ルーティングとの使い分けが現実的です。

OSPFと他プロトコルとの比較

OSPFはAS内部のルーティングに向く一方、BGP(Border Gateway Protocol)はAS間の経路制御に使われます。役割が異なるため、単純な優劣ではなく、設計対象の範囲で使い分けるのが基本です。

また、IS-ISもOSPFと同様にリンクステート型で、通信事業者のバックボーンなどで利用されることがあります。どちらが優れているかは一概に言えず、運用実績、設計方針、機器実装、運用チームの経験などで選定されるのが実態です。

OSPFを使用する上での配慮

OSPFを安定運用するには、エリア設計、集約、再配布方針、タイマー設計、コスト設計、監視設計、変更管理がセットになります。特に再配布(外部経路の取り込み)は設計ミスが影響を広げやすいため、採用する場合はルールを明文化しておくのが安全です。

また、成長するネットワークでは「最初に決めた設計が将来も通用する」とは限りません。拠点追加やクラウド接続、回線品質の変化を見越し、定期的に設計レビューを行う運用が、結果として安定性と作業コストを下げます。

OSPFの設定

OSPFの設定は機器やOSによってコマンド体系が異なるため、ここでは「設定で何を決めるべきか」という観点で整理します。具体的なコマンドはベンダーのガイドに従い、設計意図が設定へ反映されているかを確認するのが重要です。

TCP/IP設定の確認

OSPFを始める前に、IPアドレス、サブネットマスク(プレフィックス長)、デフォルトゲートウェイ、VLAN、インターフェース状態など、IP通信の前提が正しいことを確認します。ここが崩れていると、OSPF以前に隣接関係が張れず、切り分けが難しくなります。

また、MTU不一致やACL/FirewallによるOSPFパケットの遮断など、疎通はできてもOSPFが成立しないケースがあります。事前に「OSPFが通るネットワーク条件」を確認しておくと、導入時のトラブルが減ります。

エリアとルータIDの定義

次に、エリア設計とルータIDの方針を決めます。ルータIDはOSPFルータを識別する一意のIDで、安定した運用のためには「どの値を採用し、どう固定するか」を決めておくことが重要です。

エリアはOSPFのスケーラビリティを支える概念で、将来の拡張(拠点追加や冗長化)も見越して、どの単位で分割するかを検討します。最初から複雑にする必要はありませんが、無秩序に拡張しないための最低限のルールは早めに用意しておくと安全です。

ネットワーク(インターフェース)へのOSPF適用

OSPFを有効にするネットワーク(インターフェース)を決め、どのエリアに所属させるかを定義します。ここで重要なのは「どこと隣接関係を張るか」を意図通りに制御できていることです。

例えば、ユーザーセグメント側で不要に隣接を張ると、意図しないルータが参加したり、制御トラフィックが増えたりするリスクがあります。運用では、隣接を張るインターフェースと張らないインターフェースを整理し、設計意図を明確にしておくことが重要です。

ルーティングテーブルの確認とデバッグ

設定後は、隣接関係の状態、LSDBの同期状況、導入された経路、コスト計算の結果、ECMPの動作、収束時の挙動などを確認します。問題がある場合は、Helloの一致条件、OSPFパケットの疎通、LSAの流通、ルータIDやエリアの整合性を順に見ていくと切り分けやすくなります。

また、運用に入ってからも、回線増速・機器更新・拠点追加などで挙動が変わることがあります。定期的な確認と、変更時の影響評価を運用プロセスに組み込むことが、安定稼働につながります。

OSPFv3とIPv6

IPv6ネットワーク向けにOSPFを拡張したものがOSPFv3です。OSPFv3もリンクステート型であり、エリア分割やSPF計算など、OSPFの基本思想を継承しています。一方で、IPv6を前提とした扱いの違いがあり、設計・運用では「OSPFv2の感覚のまま導入してよいか」を一度確認することが大切です。

OSPFv3とは?

OSPFv2が主にIPv4向けに利用されるのに対し、OSPFv3はIPv6向けとして利用されます。OSPFv3ではルーティング対象(IPv6プレフィックス)とOSPFの動作(隣接・LSAなど)の結びつき方がOSPFv2と異なる点があり、IPv6を前提とした設計上の注意点が増えます。

ただし、OSPFの基本(リンクステート型、エリア、SPF計算、コストの考え方)が理解できていれば、OSPFv3の学習コストは抑えやすいでしょう。重要なのは、OSPFv3固有のポイントを「知らずに踏む」ことを避けることです。

IPv6との互換性

OSPFv2とOSPFv3は別プロトコルとして動作するため、IPv4とIPv6の間でそのまま経路情報を交換するわけではありません。デュアルスタック環境では、IPv4側はOSPFv2、IPv6側はOSPFv3として並行運用し、それぞれのルーティングテーブルが独立して成立するのが一般的です。

したがって、IPv6移行期は「IPv4は安定しているがIPv6側で設計が不足している」といった問題が起きやすい局面でもあります。IPv6側の監視や変更管理も、IPv4と同じレベルで整備しておくことが重要です。

OSPFv3の設定方法

設定の流れ自体はOSPFv2と似ており、ルータでOSPFv3プロセスを有効化し、エリアを定義し、各インターフェースに適用していきます。ルータIDはIPv4形式のまま扱われることが一般的ですが、これはOSPFv3の運用に直接の問題を生むものではありません。

ただし、IPv6特有のアドレス設計(プレフィックス設計、リンクローカルの扱い、デュアルスタックの方針など)が運用へ影響するため、OSPFv3の設定だけでなく、IPv6全体設計をセットで確認することが前提になります。

IPv6ネットワークでのOSPFの役割

IPv6ネットワークでも、OSPF(OSPFv3)の役割は「内部でルータ同士が情報を交換し、最適な転送経路を決める」ことにあります。IPv6の採用が進むほど、内部ルーティングの設計品質は通信品質に直結します。

今後、IPv6対応が当たり前になる中で、OSPFv3は「IPv6で内部ルーティングを堅牢に運用するための基本技術」として、引き続き重要性を持ち続けるでしょう。

まとめ

OSPFは、IPネットワーク内部で安定したルーティングを実現するための、リンクステート型IGPです。ルータ同士がリンク状態情報を共有し、各ルータがSPF計算(ダイクストラ法)で経路を決定することで、ネットワーク変化への追随と整合性の高い経路制御を実現します。

エリア分割によるスケーラビリティ、ECMPによる冗長性・負荷分散など、設計次第で大規模環境に強いネットワークを構築できます。一方で、OSPFは「設定すれば勝手に安定する」ものではなく、エリア設計、コスト設計、再配布方針、監視、変更管理といった運用設計が安定性を左右します。

IPv6向けのOSPFv3も含め、OSPFは内部ルーティングの基本技術の一つです。本記事のポイントを土台に、実環境の要件(規模、冗長化方針、監視体制)に合わせて、設計と運用を組み立てていくことが、長期的なネットワーク安定化につながります。

Q.OSPFは何のために使われますか?

AS内部のIPネットワークで、ルータ間が経路情報を共有し、最適な転送経路を決めるために使われます。

Q.OSPFはリンクステート型とはどういう意味ですか?

リンク状態情報をLSAとして共有し、各ルータが同じトポロジ(LSDB)をもとにSPF計算で経路を決める方式です。

Q.OSPFのSPF計算には何が使われますか?

一般にダイクストラ法が用いられ、最短経路木(SPFツリー)を計算して経路を決定します。

Q.OSPFのコストは何で決まりますか?

実装や設計方針に依存しますが、多くの環境ではインターフェース帯域幅を基準に算出され、必要に応じて手動調整します。

Q.Helloパケットは何のためにありますか?

隣接ルータの存在確認とネイバー関係の確立・維持のために定期送信されます。

Q.OSPFの「エリア」とは何ですか?

ネットワークを分割してLSA流通量や計算負荷、障害影響範囲を抑え、スケーラビリティを確保するための単位です。

Q.OSPFは負荷分散できますか?

等コストの経路が複数ある場合、ECMPとして複数経路を同時利用でき、負荷分散と冗長性に役立ちます。

Q.OSPFとBGPの違いは何ですか?

OSPFはAS内部のルーティング、BGPはAS間のルーティングに使われ、役割と設計対象が異なります。

Q.OSPFv3は何が違いますか?

OSPFv3はIPv6向けで、OSPFv2(主にIPv4向け)とは別プロトコルとして並行運用されることがあります。

Q.OSPF運用で注意すべき点は何ですか?

エリア設計、コスト設計、再配布方針、監視、変更管理をセットで整備し、収束や影響範囲を想定して運用します。

記事を書いた人

ソリトンシステムズ・マーケティングチーム