Instiq
第3章 · IP接続(ルーティング)·v1.0.0·更新 2026/7/17·読了目安 約17分

変更要約: 初版

3.4OSPFのDR/BDR選出とルータID

この節の要点

ブロードキャストネットワークで隣接数の爆発を抑えるDR(代表ルータ)BDR(バックアップ代表ルータ)の役割と、優先度(既定1・0はDR不参加)→ルータIDの順で決まる選出、選出が非プリエンプティブである性質、そしてルータIDが手動→最高ロープバックIP→最高物理IPの順で決まる仕組みを、show ip ospf neighborDR/BDR/DROTHER表示の診断を通じて学びます。

前節で見たとおり、ブロードキャストリンクではDR/BDRを選出します。CCNAでは「なぜ一番性能の良いルータがDRにならなかったのか」「ロープバックを足したのにルータIDが変わらないのはなぜか」といった、選出ルールの正確な理解が問われる診断が頻出です。この節では、選出が優先度→ルータIDで決まること、そして一度選ばれたDRは非プリエンプティブで居座ること、ルータIDが決まる順序を、実機の挙動として押さえます。

3.4.1DR/BDRの役割と選出ルール

  • DR(代表ルータ)BDR(バックアップ代表ルータ)=同一ブロードキャストセグメント上で、各ルータが全員と個別にFullの隣接を組むと隣接数がn(n-1)/2に爆発する。これを防ぐため、代表としてDRを1台選び、全DROTHERはDRとBDRとだけFullになる。BDRはDR障害時に即座に引き継ぐ控えである。
  • 選出は
    ①インタフェースの優先度ip ospf priority、既定1・範囲0〜255)が最も高いルータがDR、次点がBDR。優先度が同じなら
    ルータIDが最も高いルータが勝つ。優先度0のルータはDR/BDRに一切ならない(常にDROTHER)
  • 選出は非プリエンプティブ=いったんDRが決まった後に、より高い優先度のルータが加わってもDRを奪い返さない。既存のDRが落ちるかOSPFがリセット(clear ip ospf process)されるまで交代しない。これはHSRPのプリエンプト(次節)と対照的な性質。

3.4.2ルータIDの選出順序

  • ルータID(32ビット・IPアドレス形式)は次の順で決まる:
    router-idコマンドで手動設定した値 →
    ②最も高いロープバックインタフェースのIP →
    ③最も高いアクティブな物理インタフェースのIP。ロープバックは物理より優先され、かつダウンしにくいので安定したルータIDになる。
  • ルータIDはOSPFプロセス起動時に一度だけ確定する。運用中にロープバックを追加したりrouter-idを変えても、clear ip ospf processでOSPFを再起動する(またはルータを再読み込みする)まで既存のルータIDは変わらない
試験ポイント

最頻出:DR/BDR選出は「優先度(高い方が勝ち・0は不参加)→ルータID(高い方が勝ち)」。選出は非プリエンプティブ(後から高優先度が来ても奪い返さない)。ルータIDは「手動→最高ロープバックIP→最高物理IP」の順で、プロセス起動時に確定しclear ip ospf processまで変わらない。 ポイントツーポイントではそもそもDR/BDRを選出しない点も忘れずに。

あなたはブロードキャストセグメントに、性能の高い新ルータR3を後から増設しました。R3のインタフェース優先度は既定の1ではなく100に上げてあり、「これでR3がDRになるはずだ」と考えたのに、show ip ospf neighborを見ると依然として先に立ち上がっていたR1がDRのままです。ここで「優先度100が効いていないのでは」と設定を疑うのは早計で、真因はOSPFのDR選出が非プリエンプティブである点にあります。DRはセグメント上で最初に選出が確定した時点のメンバーで決まり、あとから優先度の高いR3が加わっても既存のDR(R1)を奪い返さない——これは仕様どおりの正常動作です。R3を意図的にDRにしたいなら、clear ip ospf processでセグメント上のOSPFを再選出させる(メンテナンス時間に実施)必要があります。もう1つよくあるのが、安定したルータIDを狙ってR3にロープバックインタフェース(高いIP)を後から設定したのに、show ip ospfのルータIDが物理インタフェースのIPのままだ、というケースです。これもルータIDはプロセス起動時に一度確定し、後からロープバックを足してもclear ip ospf processするまで変わらないという仕様によるもので、設定ミスではありません。DR選出とルータID、どちらも「変更を反映するにはOSPFプロセスの再起動が要る」という共通の落とし穴があり、これを知っていれば「反映されない=故障」という誤診を避けられます。

判断第1基準第2基準(同点時)特記
DR/BDR選出優先度が高い(既定1)ルータIDが高い優先度0は不参加・非プリエンプティブ
ルータID決定`router-id`手動設定最高ロープバックIP次点は最高物理IP・起動時に確定
注意

ひっかけ: 「後から優先度の高いルータを追加すれば自動的にそれがDRになる」は誤りです——OSPFのDR選出は非プリエンプティブで、既存のDRが落ちるかclear ip ospf processするまで交代しません。また「ロープバックを追加すればルータIDが自動で最高ロープバックIPに更新される」も誤り=ルータIDはプロセス起動時に確定し、再起動するまで変わりません。DR選出とルータIDは「最も性能の良い/最も新しいルータが自動的に主役になる」わけではない点に注意。

DR/BDR選出ルールとルータID決定順の図。
隣接爆発を防ぐ代表選出

3.4.3この節のまとめ

  • ブロードキャストではDR/BDRを選出し、DROTHERはDR/BDRとだけFullになる(隣接数の爆発を防ぐ)
  • 選出は優先度(高い方・0は不参加)→ルータID(高い方)の順で、非プリエンプティブ(後から高優先度でも奪い返さない)
  • ルータID手動→最高ロープバックIP→最高物理IPの順、プロセス起動時に確定しclear ip ospf processまで変わらない

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. ブロードキャストセグメントでOSPFが安定稼働した後、より高い優先度(100)を設定した新ルータR3を増設した。しかし`show ip ospf neighbor`では先に稼働していたR1がDRのままで、R3はDROTHERになっている。この状況の説明として最も適切なものはどれか。

Q2. OSPFのルータIDについて、`router-id`コマンドによる手動設定がなく、ロープバックインタフェースも存在しないルータでは、ルータIDは何に基づいて決まるか。最も適切なものはどれか。

Q3. 同一ブロードキャストセグメント上で、あるルータを「絶対にDRやBDRにさせたくない(常にDROTHERとして動作させたい)」という運用方針がある。このルータのインタフェースに設定すべき最も適切なものはどれか。

理解度を確認第3章「IP接続(ルーティング)」の問題を解く