本記事ではDRとBDRの必要性とDRとBDR導入時の通信のやりとりを解説いたします。
>>参考記事: 「CCIEが語る!ネットワークエンジニアにオススメな本・参考書!」
>>参考記事: 「[まとめ] OSPF 基礎〜応用・検証結果の記事をまとめました!」
DRとBDRの必要性
ブロードキャストマルチアクセスネットワーク(例:Ethernetのように同一ネットワークに複数のルータが接続可能なネットワーク)の場合、同一ネットワークに所属するOSPFルータが多くなるとアジャセンシーを確立する数が増加します。
上記図の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同士は「ネイバー」を確立
上記のように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」でやりとりされます。
詳細は以下の通りです。
その後、DR,BDRがDROTHERへLSA情報を送信する事でOSPFネットワーク全体で必要なネットワーク情報を伝搬させます。
DR・BDRからDROTHERへの通信はマルチキャスト「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の選出は不要です。
では次に「DR,BDRの選出基準」について解説いたします。
DR・BDRの選出基準
DR・BDRはHelloパケットに含まれている「OSPFプライオリティ」の値に基づき、ネットワークセグメント毎に選出されます。
OSPFプライオリティ値は「0〜255」の範囲で設定する事が可能でデフォルト値は「1」です。
また、OSPFプライオリティ値を「0」にする事により強制的にDROTHERにする事が可能です。
DR,BDRの選出基準は以下の通りです。
- OSPFプライオリティ値が1番高いルータが「DR」になる
- OSPFプライオリティ値が2番高いルータが「BDR」になる
- OSPFプライオリティ値が同一の場合はルータIDの値に基づき、DR・BDRを選出する
DRの障害時の挙動(DR,BDRの再選出)
では、DRの障害時の挙動について紹介いたします。
DRに障害が発生した場合はBDRがDRヘ昇格します。
また、BDRのポジションが不在になりますので、次にOSPFプライオリティ値が高いルータがBDRへ昇格いたします。
上記の図のようにR1(DR)に障害が発生した場合は、R2(BDR)がDRへ昇格いたします。
R2がDRになる事によりBDRのポジションが不在になりますので、OSPFネットワークで次にOSPFプライオリティ値が高いR3(OSPFプライオリティ値:1)がBDRへ昇格いたします。
既にDR・BDRの選出が完了しているネットワークにて、既存のDR・BDRのOSPFプライオリティ値より高いOSPFルータが接続されたとしても、DR・BDRになる事は出来ません。
〜補足〜
少し難しい話になりますが、DR・BDRの選出は「Waitタイマー」の間に実施されます。
つまり、Waitタイマーの間にOSPFルータ同士でOSPFプライオリティ値やルータIDの値を比較し合い、DR・BDRの選定が実施されます。
Waitタイマー経過後(DR・BDRの選定が完了後)にOSPFプライオリティ値の高いルータが接続されたとしてもDR・BDRになれない為、ネットワーク構築時は予めルータの起動順序を考慮しておく事が非常に重要です。
ただし、DRに障害が発生した場合BDRのポジションが不在になりますので、「BDRの選定プロセス」が実行されR5がBDRに選定されます。
OSPFプライオリティ値の設定方法
OSPFプライオリティ値の設定変更方法は以下の通りです。
Router(config)# interface [インターフェース名&番号]
Router(config-if)# ip ospf priority [OSPFプライオリティ値]
まとめ
最後までお読み頂きありがとうございました。
OSPFネットワークを構築する上で「DR」「BDR」の仕様について理解しておく必要がございます。ぜひ覚えておきましょう!
網羅的にOSPFの知識を身につけたい方は、以下のまとめ記事をご確認ください!!
>>参考記事: 「[まとめ] OSPF 基礎〜応用・検証結果の記事をまとめました!」