DR・BDRの選定基準〜設定方法・障害時の動作を解説【OSPF】

本記事ではDRとBDRの必要性とDRとBDR導入時の通信のやりとりを解説いたします。

また、本記事は「ネイバー」「アジャセンシー」の違いをご理解頂いている方向けの記事となっております。復習されたい方は以下の記事をご覧下さい。

DRとBDRの必要性

ブロードキャストマルチアクセスネットワーク(例:Ethernetのように同一ネットワークに複数のルータが接続可能なネットワーク)の場合、同一ネットワークに所属するOSPFルータが多くなるとアジャセンシーを確立する数が増加します。

DRの必要性

上記図のOSPFネットワークでは5台構成の為アジャセンシーの数は「10」ですが、ルータの台数が増えるとアジャセンシーの数は増大していきます。

ポイント
「アジャセンシーを確立する数が増加する」という事は、LSA情報をやりとりするルータ数が増加しネットワーク上のトラフィックが増大します。(ネットワークの負荷も上昇します)

上記のような問題を解決する為にOSPFではDRとBDRという概念がございます。

DRとBDRについて

ではDRとBDRについて解説いたします。

OSPFネットワーク上のルータを3つの役割(DR,BDR,DROTHER)に分類し、アジャセンシーの数を最小限に抑え、ネットワーク上の負荷を軽減する事がございます。

DR,BDR,DROTHERの詳細及び実装イメージは以下の通りです。

  • DR(Designated Router)
    OSPFネットワークの代表ルータ
    ※全ルータと「アジャセンシー」を確立するルータ
  • BDR(Backup Designated Router)
    DRのバックアップルータ
    ※全ルータと「アジャセンシー」を確立するルータ
  • DROTHER(Designated Router OTHER)
    DR・BDR以外のルータ
    ※DRとBDRとのみ「アジャセンシー」を確立、DROTHER同士は「ネイバー」を確立



DR・BDRの実装イメージ

上記のようにOSPFネットワーク上にてDR(R1),BDR(R2)を1台ずつ選出し、その他のルータ(R3-R5)がDROTHERとなります。

また、DROTHERはDR,BDRとのみ「アジャセンシー」を確立し、DROTHER同士は「ネイバー」にする事により、LSA情報のやりとり数を最小限(DR,BDRのみ)にする事ができ、トラフィック量を抑制する事が可能です。

※上記図のOSPFネットワークではDR・BDR構成にする事により、アジャセンシーの数は「10」から「7」へ減っております。


では次章では「DR・BDR・DROTHER間のLSAのやりとり」について解説いたします。

DR・BDR・DROTHER間のLSAのやりとりについて

OSPFネットワークにDR,BDRが存在する場合、DR,BDRがOSPFネットワークの代表となりDROTHERからのLSA情報を受信します。
DROTHERからDR・BDRへの通信はマルチキャスト「224.0.0.6」でやりとりされます。

詳細は以下の通りです。

マルチキャスト(224.0.0.6)

その後、DR,BDRがDROTHERへLSA情報を送信する事でOSPFネットワーク全体で必要なネットワーク情報を伝搬させます。
DR・BDRからDROTHERへの通信はマルチキャスト「224.0.0.5」でやりとりされます。

詳細は以下の通りです。

マルチキャスト(224.0.0.5)

【補足】DR・BDRが選出されないネットワークについて

ここで1つ注意点がございます。

OSPFでは「ネットワークタイプ」という概念があり、「ネットワークタイプ」によりDR/BDRが選出されない場合がありますで、注意が必要です。

ネットワークタイプDR/BDR有無備考
Broadcast(例)Ethernetインターフェースが該当
NBMA(Non-Broadcast MultiAccess)
Point to Point(例)PPP / Tunnelインターフェースが該当
Point to Multipoint
Point to Multipoint Non-Broadcast

上記の通り、Broadcast(例:Ethernetインターフェース)やNBMAではDR/BDRの選出が自動的に実施されますが、その他ネットワーク(例:Point to Point(PPPインターフェースやTunnelインターフェース))ではDR/BDRの選出は実施されません。

そもそも、以下のネットワーク図のように対向機器と1対1の関係になる為、DR/BDRの選出は不要です。

point-to-pointネットワーク

では次に「DR,BDRの選出基準」について解説いたします。

DR・BDRの選出基準

DR・BDRはHelloパケットに含まれている「OSPFプライオリティ」の値に基づき、ネットワークセグメント毎に選出されます。

OSPFプライオリティ値は「0〜255」の範囲で設定する事が可能でデフォルト値は「1」です。
また、OSPFプライオリティ値を「0」にする事により強制的にDROTHERにする事が可能です。

DR,BDRの選出基準は以下の通りです。

▼DR・BDRの選出基準▼

  1. OSPFプライオリティ値が1番高いルータが「DR」になる
  2. OSPFプライオリティ値が2番高いルータが「BDR」になる
  3. OSPFプライオリティ値が同一の場合はルータIDの値に基づき、DR・BDRを選出する

DRの障害時の挙動

では、DRの障害時の挙動について紹介いたします。

DRに障害が発生した場合はBDRがDRヘ昇格します。
また、BDRのポジションが不在になりますので、次にOSPFプライオリティ値が高いルータがBDRへ昇格いたします。

DR障害時の挙動

上記の図のようにR1(DR)に障害が発生した場合は、R2(BDR)がDRへ昇格いたします。

R2がDRになる事によりBDRのポジションが不在になりますので、OSPFネットワークで次にOSPFプライオリティ値が高いR3(OSPFプライオリティ値:1)がBDRへ昇格いたします。

注意点
既にDR・BDRの選出が完了しているネットワークにて、既存のDR・BDRのOSPFプライオリティ値より高いOSPFルータが接続されたとしても、DR・BDRになる事は出来ません。

Waitタイマー後の挙動

〜補足〜
少し難しい話になりますが、DR・BDRの選出は「Waitタイマー」の間に実施されます。

つまり、Waitタイマーの間にOSPFルータ同士でOSPFプライオリティ値やルータIDの値を比較し合い、DR・BDRの選定が実施されます。
Waitタイマー経過後(DR・BDRの選定が完了後)にOSPFプライオリティ値の高いルータが接続されたとしてもDR・BDRになれない為、ネットワーク構築時は予めルータの起動順序を考慮しておく事が非常に重要です。


ただし、DRに障害が発生した場合BDRのポジションが不在になりますので、「BDRの選定プロセス」が実行されR5がBDRに選定されます。
Waitタイマー後のDR障害

OSPFプライオリティ値の設定方法

OSPFプライオリティ値の設定変更方法は以下の通りです。

【設定コマンド】
Router(config)# interface [インターフェース名&番号]
Router(config-if)# ip ospf priority [OSPFプライオリティ値]

まとめ

いかがでしたでしょうか?

OSPFネットワークを構築する上で「DR」「BDR」の仕様について理解しておく必要がございます。ぜひ覚えておきましょう!


興味のある方は合わせて読んでみてください!