-
OSPF
Open Shortest Path First
OSPFは、IGPに分類されます。
・様々なメーカーのルータで使用できる
・リンステート型
・コンバージェンスが早い
・VLSMに対応している
・ネットワークを階層化できる
・メトリックとしてコストを使用する
・ルーティング認証をサポートしている
-
VLSM
Variable Length Subnet Mask
1つのIPアドレス空間に対して、必要なホスト数に応じて異なる長さのサブネットマスクを使って分割する方法。
これにより、IPアドレスの無駄を最小限に抑え、効率的に割り当てができる。
階層的なネットワーク設計にも使われる。
-
リンクステート型
ネットワーク内の**全ルーターの接続情報(=リンクの状態)をもとに、最短経路を計算するルーティング方式。
各ルーターは、隣接ルーターとリンクの状態(コスト、接続有無など)をLSA(リンクステートアドバタイズメント)**で交換し、
ネットワーク全体の地図(LSDB)を構築。SPF(最短経路優先)アルゴリズムを使って経路を計算する。
-
LSA
Link-State Advertisement
OSPFルーターが、自分のリンク状態(隣接ルーター・接続ネットワーク・コストなど)を周囲に通知するための情報ユニット。
ルーター同士はこのLSAを交換して、ネットワーク全体の構成を把握する。
複数の種類(タイプ)があり、エリアの種類や構成に応じて異なるLSAが使われる。
🔹 代表的なLSAの種類(試験に出る):
タイプ1:ルーターLSA(基本情報)
タイプ2:ネットワークLSA(DR経由の情報)
タイプ3:サマリーLSA(ABRが他エリアに通知)
タイプ5:AS外部LSA(外部ネットワークの情報)
-
LSDB
Link-State Database
OSPFルーターが、受信したすべてのLSAを保管しているデータベース。
これによりネットワーク全体のトポロジー(構成)がわかる。
LSDBは隣接ルーター間で完全に一致している必要があり、これがアジャセンシーの前提条件。
🔹 LSDBをもとにSPFアルゴリズムを使って最短経路を計算し、ルーティングテーブルが作られる。
-
LSAとLSDBの関係
[各ルーター] → LSA作成・送信 → [他のルーターが受信] → LSDBに格納 → SPF計算 → ルーティングテーブル生成
-
SPF
Shortest Path First
OSPFが経路を計算するために使う最短経路探索アルゴリズム(Dijkstraアルゴリズム)の略称。
ルーターはLSDBに格納された全体トポロジーを元に、自分から各宛先までの最もコストの低い経路を選出する。
リンクステート型プロトコルのコアとなる仕組み。
-
ネイバー
Neighbor
OSPFにおいて、Helloパケットをやり取りし、通信が確認できた隣接ルーターのこと。
ネイバー関係が確立されると、ルーター間で情報交換が可能になる。
OSPFの動作ではまず「ネイバー確立」が基本。
🔹 ネイバー関係を確認するコマンド:
show ip ospf neighbor
-
アジャセンシー
Adjacency
OSPFで、ネイバー関係をさらに発展させて、LSAを直接交換する関係のこと。
すべてのネイバーがアジャセンシーになるわけではなく、DR/BDRやトポロジーによって制限される。
アジャセンシーが確立されていないとLSDBの同期ができず、ルーティングに影響が出る。
🔹 完全同期状態で表示されるOSPFステータス → FULL
これら3つは、OSPFの動作理解や状態遷移(Down→Init→2way→...)をつかむ上で非常に重要です。
-
OSPFの5種類のパケット
OSPFがルーター同士で通信・経路情報を交換する際に使用する、以下の5種類の制御パケット。
OSPFがルーター同士で通信・情報交換を行うために使う5種類の制御パケット:
・Hello:ネイバーを検出し、関係を確立するためのパケット。
・DBD(Database Description):自分のLSDBの概要(目次)を相手に知らせる。
・LSR(Link State Request):相手に「必要なLSAを送ってください」と依頼するパケット。
・LSU(Link State Update):LSAの実体(リンク情報)を相手に送信するパケット。
・LSAck(Link State Acknowledgment):LSUを受け取ったことを確認する応答パケット。
🧠 補足:覚え方語呂(参考)
「へだるうさ」
→ Hello → DBD → LSR → LSU → LSAck
-
OSPFの状態遷移
State Transitions
OSPFルーターが隣接ルーター(ネイバー)と通信を確立していく過程で、通過する**7つのステート(状態)**のこと。
OSPFではこれらの状態を順に通過して、最終的に「Full(完全同期)」状態を目指します。
OSPFでネイバーと通信・同期を確立していく過程。以下の7段階で進行する:
・Down:初期状態。Helloパケットをまだ受信していない。
・Init:相手からのHelloを受信したが、自分はまだ認識されていない。
・2-Way:お互いのHelloを確認。ネイバー関係成立。DR/BDRが選出される。
・ExStart:LSDB交換の準備。マスター・スレーブ関係を決定。
・Exchange:DBDパケット(LSDBの概要)を交換。差分の確認を行う。
・Loading:不足しているLSAをLSRで要求し、LSUで受信し始める段階。
・Full:LSDBが完全に同期した状態。アジャセンシー確立。
-
OSPFのメトリック
コスト
OSPFでは経路の良し悪しを判断するために「コスト(Cost)」というメトリックを使う。
コストはリンクの帯域幅(スピード)を基準に自動計算され、値が小さい経路が優先される。
・帯域幅が大きいほどコストは小さくなり、優先される
・コマンドで手動設定も可能:
ip ospf cost [値] をインターフェースで設定
・メトリックが等しい場合は、等コストロードバランシングされる(最大4〜16経路)
・OSPFは1つのメトリック値(コスト)のみを基準に経路を選ぶ(RIPのようにホップ数ではない)
-
OSPFの帯域幅とコストの早見表
OSPFのメトリック(コスト)は、リンクの帯域幅によって決まる。
以下に代表的なインターフェース速度と対応するデフォルトコストをまとめる:
・10 Mbps(Ethernet) → コスト:10
・100 Mbps(FastEthernet) → コスト:1
・1 Gbps(GigabitEthernet) → コスト:1(※計算上は0.1だが1以下にはならない)
・10 Gbps → コスト:1
・T1(1.544 Mbps) → コスト:約64
・DS3(45 Mbps) → コスト:約2
🔸 コストは切り捨て計算、最小値は1
-
RIP・OSPF・EIGRPのメトリックの違い
各内部ゲートウェイプロトコル(IGP)は、経路選択のために異なるメトリックを使用する。
🔹 RIP
メトリック:ホップ数
単位:通過するルーターの数(最大15ホップ)
特徴:最も単純で、設定しやすいが、効率が悪くスケーラビリティに乏しい
種類:距離ベクトル型
🔹 OSPF
メトリック:コスト(Cost)
単位:100,000,000 ÷ 帯域幅(bps)
特徴:帯域幅に基づく正確な経路選択が可能、収束が速く階層化された設計に対応
種類:リンクステート型
🔹 EIGRP
メトリック:複合メトリック(帯域幅・遅延・信頼性など)
単位:K値と呼ばれる重み係数によって計算(Cisco独自)
特徴:複雑だが非常に柔軟かつ高性能、VLSMや不等コストロードバランシングも対応
種類:拡張距離ベクトル型
🧠 試験対策ポイント
・RIPは単純だが非効率(15ホップ制限)
・OSPFは帯域重視で収束が速い(LSDB使用)
・EIGRPは高機能で柔軟性が高いが、計算が複雑(CCNAでは概念のみ)
・すべてメトリックが「小さいほど優先」される
-
セグメントの単位
OSPFにおける「セグメント」とは、1つのブロードキャストドメインのこと。
つまり、スイッチなどで複数のルーターが物理的に接続されている範囲を指す。
この単位でDR(Designated Router)やBDR(Backup DR)の選出が行われる。
→ OSPFは、セグメントごとにDR/BDRを1台ずつ選出する。
-
DR
Designated Router
OSPFネットワーク内で、リンクステート情報(LSA)を集約し配布する代表ルーター。
すべてのルーターが相互にアジャセンシーを張るのではなく、DRとのみやり取りすることで通信効率を高める。
→ アジャセンシー数を減らし、LSAの爆発を防ぐ。
-
BDR
Backup Designated Router
DRのバックアップ役で、常にDRと同様の情報を保持している。
DRが故障した際、自動的にBDRが新しいDRとして昇格する。
→ OSPFではDRもBDRも1セグメントにつき1台だけ選ばれる。
-
DROTHER
DRでもBDRでもない、その他のOSPFルーター。
これらはDRまたはBDRとだけアジャセンシーを結ぶ。
→ 他のDROTHERとはアジャセンシーを結ばない(= LSAをやり取りしない)。
-
Helloパケット
OSPFの最初の通信に使われる制御パケット。
ネイバー関係を確立・維持する目的で10秒(Ethernet)ごとに送信される。
Helloパケットには以下の情報が含まれる:
・ルーターID
・ネイバーのリスト
・Hello/Deadインターバル
・ネットワークマスク
・DR/BDRのIPアドレス
-
2-Way ステート
Helloパケットをお互いに認識し、ネイバー関係が成立した状態。
ここでDR/BDRの選出が行われる。
→ この状態でアジャセンシーを張るかどうかが決まる。
-
DR/BDRの選出方法
OSPFでは以下の優先順位でDR/BDRが選出される:
1.プライオリティ値が最も高いルーター(0にすると選出対象外)
2.同点なら、ルーターIDが大きい方
3.さらに同点なら、インターフェースのIPアドレスが大きい方
→ 選出はHelloパケットを通じて自動で行われる。
-
ルーターID
OSPFでルーターを識別する32ビットの番号(IPアドレス形式)。
以下の優先順位で自動決定される:
1.router-id コマンドで明示的に設定されていれば、それが最優先
2.ループバックインターフェースのIPアドレス(最も高い値)
3.存在しない場合、物理インターフェースのIPアドレスの中で最大のもの
-
ループバックインターフェース
OSPFをArea 0(バックボーンエリア)のみで構成する方式。
小規模なネットワークでよく使われる。
→ 設計が単純で管理しやすいが、LSDB全体を1つの領域で共有するため、規模が大きくなると非効率。
-
シングルエリア
OSPFをArea 0(バックボーンエリア)のみで構成する方式。
小規模なネットワークでよく使われる。
→ 設計が単純で管理しやすいが、LSDB全体を1つの領域で共有するため、規模が大きくなると非効率。
-
マルチエリア
OSPFを複数のエリアに分割する設計。
各エリアはArea 0(バックボーン)を経由して通信する必要がある。
→ スケーラビリティに優れ、大規模ネットワークに適している。
-
OSPFネットワークタイプ別の特徴
🔹 ブロードキャスト(Broadcast)
例:Ethernet(スイッチ接続)
・DR/BDR:選出あり
・ネイバー検出:自動(マルチキャスト 224.0.0.5)
・Helloインターバル:10秒
・Deadインターバル:40秒
特徴:OSPFで最も一般的。自動検出で設定が簡単。
🔹 NBMA(Non-Broadcast Multi Access)
例:Frame Relay、ATM
・DR/BDR:選出あり
・ネイバー検出:手動(neighborコマンドで設定)
・Helloインターバル:30秒
・Deadインターバル:120秒
特徴:マルチアクセスだがマルチキャストできない。設定がやや複雑。
🔹 ポイント・ツー・ポイント(Point-to-Point)
例:ルーター同士のシリアル直結(PPPなど)
・DR/BDR:なし
・ネイバー検出:自動
・Helloインターバル:10秒
・Deadインターバル:40秒
特徴:構成がシンプルで、ネイバー1対1のみ。
🔹 ポイント・ツー・マルチポイント(Point-to-Multipoint)
例:1対多構成の仮想リンク(Frame Relay簡易構成など)
・DR/BDR:なし
・ネイバー検出:手動または自動(構成に依存)
・Helloインターバル:30秒
・Deadインターバル:120秒
特徴:NBMAより簡単に扱えるが制限もある。
🧠 試験対策ポイント(重要まとめ)
DR/BDRが選出されるのは → Broadcast と NBMA
ネイバーの自動検出ができないのは → NBMA
Hello/Deadタイマーが短いのは → Broadcast と P2P(10/40秒)
手動設定が必要なネットワークタイプに注意!
-
OSPFの設定コマンド
🔹 OSPFの有効化
目的: ルーターでOSPFプロセスを起動する
router ospf [プロセスID]
🔹 インターフェースの指定(networkコマンド)
目的: 特定のインターフェースをOSPFに参加させる
network [IPアドレス] [ワイルドカードマスク] area [エリア番号]
🔹 パッシブインターフェースの設定
目的: ネイバー関係を作らず、OSPF広告のみ行う
passive-interface [インターフェース名]
🔹 ルーターIDの指定
目的: OSPFで使用する一意の識別IDを手動で設定する
router-id [IP形式の数値]
🔹 ループバックインターフェースの設定
目的: 安定したルーターIDの自動決定やDR選出を目的に使う
interface Loopback0
ip address 1.1.1.1 255.255.255.255
-
OSPFの確認コマンド
🔹 ルーティングテーブルの確認
目的: OSPFによって学習されたルートの確認
show ip route ospf
🔹 ネイバーの確認
目的: OSPFで確立したネイバーの状態を見る
show ip ospf neighbor
🔹 LSDBの要約情報確認
目的: OSPFのリンクステートデータベースの中身を見る
show ip ospf database
🔹 OSPFプロトコルの設定確認
目的: OSPFプロセスの状態や設定内容を確認する
show ip protocols
-
OSPFネットワークタイプまとめ
以下はOSPFのネットワークタイプごとのHello/DeadインターバルとDR/BDR選出の有無です:
・Broadcast(Ethernet)
- Hello:10秒
- Dead:40秒
- DR/BDR:あり
・NBMA(Non-Broadcast Multi Access)
- Hello:30秒
- Dead:120秒
- DR/BDR:あり
・Point-to-Point(シリアル直結など)
- Hello:10秒
- Dead:40秒
- DR/BDR:なし
※ イーサネット=Broadcast、シリアル=Point-to-Point と覚えると◎
-
OSPFネットワークタイプとインターフェースの対応表
OSPFでは、インターフェースの種類によってネットワークタイプが自動で決定されます:
・GigabitEthernet / FastEthernet / Ethernet
→ タイプ:Broadcast(ブロードキャストマルチアクセス)
→ DR/BDR:あり
・Serial(PPPなど)
→ タイプ:Point-to-Point(ポイントツーポイント)
→ DR/BDR:なし
・Frame Relay(フレームリレー)
→ タイプ:NBMA(Non-Broadcast Multi Access)
→ DR/BDR:あり
ポイント:
- Ethernet系は「みんなで通信」できるからBroadcast
- Serialは「1対1」だからPoint-to-Point
- Frame Relayは「複数接続だがブロードキャスト不可」なのでNBMA
-
ルータIDは優先順位
1. router-idコマンドによる手動設定
2. アクティブなループバックインタフェースのうち最大のIPアドレス
3. アクティブなインタフェースのうち最大のIPアドレス
ただし、ルータIDが決まった後にルータIDとして優先的に採用される別の値が設定されてもルータIDは変わりません。
ルータIDを変更したい場合はOSPFプロセスを再起動する必要があります。
-
OSPFネイバー関係を確立するために一致させる必要がある情報
・Hello/Deadの間隔
・エリアID
・認証パスワード
・サブネットマスク
・スタブエリアフラグ
・MTUサイズ
-
default-information originate
🔹意味(短く)
他のルーターに デフォルトルート(0.0.0.0/0)を OSPFで再配布(アドバタイズ)するコマンド。
🔹補足(試験対策向けにもう少し詳しく)
通常のOSPFでは、ルーターは自分が持っているルートしか広報しない。
default-information originate を設定することで、静的に設定したデフォルトルート(ip route 0.0.0.0 0.0.0.0 xxx)を他のOSPFルーターに通知できる。
このコマンドを設定するルーターは「インターネットへの出口(出口ルーター)」になることが多い。
もしルーターがデフォルトルートを持っていない場合、always オプションを使えば、ルートがなくても強制的に配布可能。
🔹関連コマンド例
router ospf 1
default-information originate
または、デフォルトルートがないときでも送る場合:
router ospf 1
default-information originate always
-
OSPFプライオリティの変更を行った後、設定を即座に反映させるために必要なコマンド
#clear ip ospf process
-
ルータIDが決まった後にルータIDとして優先的に採用される別の値が設定されてもルータIDは変わりません。どうしたら変更できるか?
ルータIDを変更したい場合はOSPFプロセスを再起動する必要があります。
-
OSPFを起動したルータが隣接関係を確立して、コンバージェンスするまでのステートの流れはどれか。
DOWN→INIT→2WAY→EXSTART→EXCHANGE→LOADING→FULL
-