シスコ環境で学ぶOSPFの徹底解説 設計原則から基本設定そして運用確認コマンドまで網羅する技術ガイド

IT

1 OSPFとは何か ネットワーク設計における基本原則

OSPF(Open Shortest Path First)は、大規模かつ複雑なIPネットワーク環境において広く採用されているリンクステート型のダイナミックルーティングプロトコルです。ディスタンスベクタ型プロトコル(例としてRIP)とは異なり、ルータは自身の隣接関係やインターフェースの状態、トポロジ全体に関する情報を収集します。この情報を基に、SPF(Shortest Path First)アルゴリズムを用いて最短経路を計算することが、OSPFの最大の特徴です。

OSPFが大規模ネットワークで支持される最大の理由は、その階層型設計能力にあります。OSPFネットワークはエリア(Area)と呼ばれる論理的なグループに分割されます。この階層化設計を採用することで、ルーティング情報の伝播範囲を意図的に限定し、各ルータが保持するLSDB(Link-State Database)のサイズを縮小できます。結果として、トポロジ変更時の再計算(SPF計算)に必要なCPU負荷を軽減し、ネットワーク全体の収束時間を短縮することが可能です。

設計の基本原則として、エリア0(バックボーンエリア)が中核を担います。OSPFでは、すべての非バックボーンエリアは、エリアボーダールータ(ABR)を介してエリア0に直接接続されている必要があります。この設計上の制約により、エリア間の通信経路が標準化され、安定したルーティングドメインが形成されます。

この階層化設計は、単に管理を容易にするだけでなく、ネットワークの安定性を高める上で極めて重要な役割を果たします。ある特定のエリア内でリンクステートの不安定化(フラッピング)が発生した場合でも、その影響はエリア内に限定されます。エリア外のルータへ伝播されるのは、更新されたサマリ情報(LSA Type 3)のみとなるためです。これにより、エリア外のルータは広範囲なSPF再計算を行う必要がなくなり、ネットワーク全体でルーティングの不安定化が最小限に抑えられます。

 

2 OSPFの心臓部 LSAタイプとエリアの役割を徹底解説

OSPFにおいて、ネットワークのトポロジや接続状態を記述するルーティング情報の断片をLSA(Link-State Advertisement)と呼びます。ルータは、受信したこれらのLSAをLSDBに格納し、SPF計算を実行することで最適経路を決定します。LSAには主要なものがタイプ1からタイプ5まで存在し、それぞれが異なる役割と伝播範囲を持っています。

LSA Type 1 ルータLSA

LSA Type 1は「ルータLSA」と呼ばれ、OSPFネットワークの基礎となる情報です。このLSAは、ルータ自身がどのネットワークに接続しているか、リンクの種類、およびそのリンクのメトリック(コスト)を通知します。

  • 送信者 すべてのOSPFルータです。

  • 伝播範囲 OSPFの同じエリア内でのみ伝播し、エリアを越えて伝播することはありません。

LSA Type 3 サマリLSA

LSA Type 3は「サマリLSA」と呼ばれ、エリア間ルーティングを実現するために使用されます。エリアボーダールータ(ABR)が、自エリア内で学習したネットワーク情報を集約し、それを他のエリアに通知する役割を果たします。例えば、エリア0にあるネットワーク情報をエリア1のルータに伝える際に使用されます。

  • 送信者 ABR(エリアボーダールータ)です。

  • 伝播範囲 OSPFの異なるエリア間です。

LSA Type 4 ASBRサマリLSA

LSA Type 4は「ASBRサマリLSA」と呼ばれ、自律システム境界ルータ(ASBR)の情報を通知します。ASBRは外部ネットワーク(例えばBGP経由のインターネットなど)のルートをOSPFドメインに再配布するルータです。LSA Type 4は、他のルータがASBRに到達するための経路情報を提供し、ASBRが広報するLSA Type 5にアクセスするために不可欠です。

  • 送信者 ABRです。

  • 伝播範囲 OSPFの異なるエリア間です。

LSA Type 5 外部LSA

LSA Type 5は「外部LSA」と呼ばれ、OSPFの外部ドメインから再配布されたルート情報をOSPFネットワーク全体に広報します。

  • 送信者 ASBRです。

  • 伝播範囲 OSPFの全エリアに伝播します。ただし、特殊なエリアタイプであるスタブエリアには伝播しません。

LSA Type 5が外部ルートをOSPFドメイン全体に広報するという特性が、ネットワーク設計上の重要な課題を生み出しています。大規模なOSPFネットワークにおいて、すべてのルータが外部ルートの情報を全て持つ必要はありません。もし不要な外部ルートLSAをルータが受け取ると、そのLSDBは肥大化し、メモリやCPUリソースの浪費につながります。この問題に対処するため、Type 5をエリア境界でブロックする特殊なエリア設定(スタブエリアなど)が必要とされます。このように、LSA Type 5の全域伝播という設計上の特性が、スタブエリアという高度な設定を必要とする根本的な原因となっています。

LSAのタイプと伝播範囲を整理します。

Table 1. OSPF LSAタイプと伝播範囲の対照表

LSAタイプ 名称 送信者 伝播範囲 記述する情報
Type 1 ルータLSA すべてのOSPFルータ 同一エリア内 ルータ自身の接続とステータス
Type 3 サマリLSA ABR 異なるエリア間 エリア間ネットワークルート
Type 4 ASBRサマリLSA ABR 異なるエリア間 ASBRの場所(ルータID)
Type 5 外部LSA ASBR 全エリア(スタブエリアを除く) 外部ドメイン(BGP等)のルート

DR/BDR選出とネイバー状態の重要性

ブロードキャストネットワーク(例: Ethernetセグメント)では、ルータ間のLSA交換を効率化するため、DR(Designated Router)とBDR(Backup Designated Router)が選出されます。DRとBDRは、セグメント内の他のルータ(DROTHER)からLSAを受け取り、それをセグメント全体に配布する役割を担います。これにより、フルメッシュ接続を避けることができ、LSA交換によるネットワーク負荷を軽減できます。特定のインターフェースがDR、BDR、またはDROTHERのいずれであるかという役割は、show ip ospf interface コマンドで確認できます。

 

3 CiscoルータにおけるOSPF基本設定のステップとキーワード

Cisco IOSルータでOSPFを起動し、ルーティングドメインを構築するプロセスは、以下の2つの核となる設定ステップによって実行されます。

ステップ1 OSPFプロセスの起動と識別子の定義

最初に、OSPFルーティングプロセスをルータ上で起動します。

  • コマンド router ospf [process-id]

ここで指定する process-id は、OSPFルーティングプロセスを識別するためのローカルなIDです。1から65535の範囲で指定可能であり、ルータ内部で利用される識別子であるため、他のルータのプロセスIDと一致させる必要はありません。ルータ内で複数のOSPFプロセスを立ち上げる際に、これらを区別するために利用されます。

Bash

 
Router(config)# router ospf 1

プロセスIDはローカル識別子ですが、ルータID(Router ID)はOSPFドメイン全体で一意である必要があり、これがネイバーの識別やLSA生成の基盤となります。ルータIDは、通常、ルータに設定された最高IPアドレス(ループバックインターフェースがあればループバックの最高IPアドレス)から自動的に決定されます。

ステップ2 OSPFを有効にするインターフェースの指定

次に、どのインターフェースでOSPFを有効化し、どのエリアに所属させるかを指定します。この設定が完了すると、該当インターフェースからHelloパケットが送信され、ネイバー確立が試みられます。

  • コマンド network [address][wildcard-mask] area [area-id]

このコマンドでは、OSPFを有効化したいインターフェースを、ネットワークアドレスまたはインターフェースのIPアドレスで指定し、ワイルドカードマスクとエリアIDを紐づけます。

ワイルドカードマスクの厳密な定義

ワイルドカードマスクは、指定したIPアドレスのどのビットをチェックするか、つまりどのインターフェースをマッチさせるかを定義する重要なキーワードです。

  • 0: 指定したIPアドレスのビットをチェック(合致確認)することを意味します。

  • 1: 指定したIPアドレスのビットをチェックしないことを意味します。

実務におけるネットワークエンジニアリングでは、インターフェースを厳密に定義し、設定ミスを防ぐためのベストプラクティスとして、ワイルドカードマスクに 0.0.0.0 を使用することが推奨されます。

例えば、IPアドレスが 192.168.1.1 のインターフェースのみをエリア0に所属させたい場合、以下のように設定します。

Bash

 
Router(config-router)# network 192.168.1.1 0.0.0.0 area 0

network コマンドはインターフェースをエリアに所属させ、OSPFパケットの送受信を可能にしますが、ワイルドカードマスクを広範囲に設定しすぎると、意図しないインターフェースがOSPFに参加してしまう可能性があります。これは予期せぬルーティングの変更やセキュリティリスクを引き起こす可能性があります。したがって、0.0.0.0 を使用したピンポイントな指定は、設定のキーワードにおける重要な原則であり、安定した運用を保証します。

 

4 OSPF高度な設定 トラフィック削減とセキュリティ対策

大規模なOSPF環境を運用する上で、ネットワークの効率化とセキュリティ強化は不可欠です。ここでは、トラフィックを削減する特殊エリアの設定と、ネイバー認証によるセキュリティ対策について解説します。

スタブエリアの設定によるLSDBの最適化

スタブエリアは、ネットワークの末端に位置し、外部ルート情報(LSA Type 5)を必要としないエリアに対して設定されます。

  • 機能 スタブエリアを設定することで、LSA Type 5の伝播がエリア境界(ABR)でブロックされます。これにより、スタブエリア内のルータは外部ルートに関するLSAを受信しないため、LSDBのサイズが大幅に削減され、ルータの負荷が軽減されます。

  • 代替手段 外部ルートが伝わらない代わりに、ABRがこのエリア内にデフォルトルート(0.0.0.0/0)を自動的に広報します。これにより、スタブエリア内のルータは、エリア外や外部ネットワークへの通信はすべてデフォルトルートに依存することになります。

  • 設定コマンド area [area-id] stub

Bash

 
Router(config-router)# area 1 stub 

Totally Stub Area (No-Summaryオプション)

スタブエリアの概念をさらに拡張したものが、Totally Stub Areaです。標準のスタブエリアはType 5のみをブロックしますが、no-summary オプションを追加すると、さらにType 3(エリア間サマリ)LSAもブロックします。

この設定を適用された末端ルータは、自身のエリア内のルート情報と、ABRが注入したデフォルトルートのみを持つことになります。これにより、LSDBサイズを最大限に削減できます。

  • 設定コマンド area [area-id] stub no-summary

Bash

 
Router(config-router)# area 1 stub no-summary

Type 5 LSAだけでなくType 3 LSAまでブロックすることは、大規模ネットワークにおけるスケーラビリティの確保に不可欠な設計パターンです。ルータが他のエリアの特定ルートを知る必要がなくなり、ルーティングの判断がデフォルトルートに集約されるため、ルータのメモリ消費が最小限に抑えられます。これは、特にリソースが限られたアクセスレイヤのルータや多数のエリアを抱える環境において、システム安定性とコスト効率を向上させる重要な設定のキーワードとなります。

インターフェース認証の設定によるセキュリティ強化

OSPFはデフォルトで認証を行いませんが、ネイバー間に認証を設定することで、不正なルータがルーティングドメインに参加することを防ぎ、セキュリティを強化します。OSPFでは、Null認証(認証なし)、平文認証(クリアテキスト)、MD5認証(暗号化)の3種類が利用可能です。

実環境では、セキュリティ強度の高いMD5認証が推奨されます。

  • MD5認証の設定キーワード

    • 認証キーを定義し、MD5認証を行う際に message-digest を指定します。

    • key-id は1から255で指定し、password は大文字、小文字が区別されます。

Bash

 
# インターフェース設定モードで実行
Router(config-if)# ip ospf message-digest-key 1 md5 Cisco123
# OSPF認証を有効化
Router(config-if)# ip ospf authentication message-digest

 

5 OSPF運用と検証 ネイバー関係・ルーティングテーブルの確認コマンド詳解

OSPFの設定が正しく機能しているかを確認するためには、検証コマンドの使用が不可欠です。ここでは、OSPF運用で最も頻繁に使用される3つの確認コマンドとその出力内容について深く解説します。

ネイバー確立状況の確認 show ip ospf neighbor

このコマンドは、隣接ルータとのOSPF関係(アジェイセンシー)が確立されているか、また相手の役割(DR/BDR)を確認するために実行されます。

出力項目 意味
Neighbor ID

ネイバールーターのルーターIDです。

Pri

ネイバールーターのプライオリティ値です。DR/BDR選出に使用されます。

State

ネイバーの確立状況を示します。FULLであれば、LSDBの同期が完了し、ルーティング情報の交換が可能な状態です。

Dead Time

ネイバーダウンを検知するまでの残り時間です。

Address

ネイバールーターのインターフェースIPアドレスです。

Interface

ネイバー関係を確立しているローカルルーターのインターフェースです。

このStateフィールドが FULL に達していることが、正常な動作の最低条件となります。もし EXSTART2WAY などの状態が長時間続く場合、ネイバー間のパラメータ不一致や通信経路の問題が原因である可能性が非常に高いです。特にHello/Deadタイマー値や認証設定の不一致は、ネイバーが FULL に遷移できない主要な原因となります。

インターフェースステータスの確認 show ip ospf interface

このコマンドは、ローカルルータのOSPFインターフェースが正しく設定されているか、DR/BDRとしての役割、およびタイマー値を確認するために使用されます。

  • Internet Address/Area 自身が所属するエリアIDを確認し、期待通りのエリアに所属しているかを検証します。

  • Process ID/Router ID OSPFプロセスの識別子とルータIDを確認します。

  • State 自身のインターフェースがDR、BDR、またはDROTHERのいずれであるかを示します。ブロードキャストセグメントにおけるDR/BDR選出状況を把握できます。

  • Timer intervals configured Hello(デフォルト10秒)やDead(デフォルト40秒)などのタイマー値を確認します。ネイバー間のタイマー値が一致していないと、ネイバー関係が FULL になれません。

このコマンドでタイマー値を確認し、ネイバー間でこれらの設定が異なっていることが判明した場合、パラメータ不一致が原因でネイバーが FULL に遷移できないという原因と結果の連鎖が特定できます。これらの確認コマンドは、OSPFのトラブルシューティングにおいて原因を特定するために欠かせません。

OSPFデータベースの状況確認 show ip ospf database

このコマンドは、ルータが保持しているLSDBの内容、すなわち全LSAを確認するために使用されます。

特定のLSAが正しく広報されているか、あるいはスタブエリア設定によって意図的にブロックされているか(例えば、Type 5 LSAがスタブエリア内に存在しないこと)を確認する際に不可欠なコマンドです。

 

6 ルーティングテーブルの確認と学習ルートの識別

OSPFが正しく経路情報を学習していることを確認する最終ステップは、ルーティングテーブルの確認です。show ip route ospf コマンドを使用することで、OSPFによって学習されたルートのみをフィルタリングして表示できます。

ルーティングコードの理解

OSPFによって学習されたルートには、その種類に応じて特定のルーティングコードが付与されます。これらのコードを理解することは、経路の出所や種類を判別するために重要です。

Table 2. OSPF ルーティングコードとルートの種類

コード 名称 説明
O Intra-area route

同一エリア内で学習されたルートです。

O IA Inter Area route

エリア間ルートです。ABRによって広報されます。

O E1 External type 1 route

OSPF外部ドメインから再配布されたルート(メトリックタイプ1)。

O E2 External type 2 route

OSPF外部ドメインから再配布されたルート(メトリックタイプ2)。

管理ディスタンスとメトリック

ルーティングテーブルの各ルートには、“ の形式で管理ディスタンス(AD値)とメトリック(コスト)が表示されます。

  • AD値 (Administrative Distance) OSPFのデフォルトAD値は 110 です。これは、ルータが異なるルーティングプロトコルから学習した同じ宛先へのルートを比較する際に使用される信頼度を示す値です。

  • メトリック (Metric) OSPFにおけるコスト値であり、帯域幅に基づいて計算されます。この値が小さいほど、その経路が優先されます。

外部ルートタイプ(E1とE2)の専門的な違い

外部ルートとして学習されるE1とE2の識別は、パス選択の挙動を理解する上で決定的に重要です。

外部ルートの再配布を行う際、デフォルトではE2タイプが使用されます。E2ルートは、OSPFドメイン内部のコストを無視し、ASBRからOSPFドメインに注入された外部メトリック(シードメトリック)のみを比較します。したがって、ASBRが複数存在し、そのASBRに到達する内部コストが異なる場合でも、E2ルートは常にシードメトリックが低い経路を選択し、最適なパス選択を誤る可能性があります。

これを回避し、よりきめ細やかなパス選択を実現するために、再配布時にE1タイプを選択することが可能となります。E1ルートは、ASBRまでの内部コストと外部メトリックの両方を加算してトータルコストを計算します。これにより、OSPFドメイン内のトラフィックをより効率的にルーティングできるため、E1タイプへの切り替えは、高度なルーティングポリシー設定における重要な調整点となります。

 

7 まとめ OSPF設定を成功に導くためのチェックリスト

Cisco環境におけるOSPFの「説明」と「設定」を成功させ、安定した運用を実現するためには、以下の専門的なチェックリストを遵守することが求められます。

  1. エリア設計の遵守 エリア0をバックボーンとして中心に据え、すべての非バックボーンエリアがABRを通じてエリア0に直接接続されているスター型トポロジを構成していることを確認してください。

  2. ネイバーパラメータの一致 ネイバー関係を確立しているすべてのインターフェースにおいて、エリアID、認証設定、およびHello/Deadタイマー値が完全に一致していることを show ip ospf interface コマンドで確認してください。これらの不一致はネイバー関係が FULL に遷移しない最大の原因です。

  3. ワイルドカードマスクの厳密性 network コマンドを使用する際には、インターフェースを厳密に定義するために、極力 0.0.0.0 のワイルドカードマスクを使用してください。これにより、意図しないインターフェースがOSPFに参加することを防ぎます。

  4. DR/BDR選出の検証 ブロードキャストセグメントにおいて、期待通りのルータがDRおよびBDRに選出されていることを show ip ospf interfaceshow ip ospf neighbor コマンドで確認してください。

  5. 特殊エリアの目的確認 スタブエリアやTotally Stub Areaを設定した場合、LSA Type 5(およびTotally Stub AreaではType 3も)が正しくブロックされ、ABRからデフォルトルートが注入されていることを show ip ospf database コマンドで検証してください。

これらの詳細な技術的知見と設定のキーワードを理解し、適切な確認作業を実施することで、Cisco OSPFネットワークの設計、構築、運用を確実に進めることができます。

コメント

タイトルとURLをコピーしました