目次
DR/BDRとは
DR(Designated Router)/BDR(Backup Designated Router)とは、イーサネットなどのマルチアクセスネットワーク上で効率よくLSDBの同期をとるために選ばれるルータです。DRはマルチアクセスネットワークを代表するOSPFルータです。そして、BDRは、DRのバックアップです。もし、DRがダウンしたらBDRが次のDRとなります。なお、マルチアクセスネットワーク上で、DRでもBDRでもないOSPFルータはDROTHERです。
DRによって、マルチアクセスネットワーク上でLSDBの同期をとる仕組みを詳しく解説します。
イーサネット(マルチアクセスネットワーク)上でのLSDBの同期
イーサネットのようなマルチアクセスネットワークには、2台以上のOSPFルータが接続される可能性があります。そして、マルチアクセスネットワーク上の各OSPFルータは、最終的にLSDBの同期を取ります。
簡単なマルチアクセスネットワークの例を考えます。以下の図では、イーサネット上にR1~R4の4台のOSPFルータが接続されています。それぞれのルータのLSDBには、はじめは自身のLSAのみが登録されています。それが、最終的には各ルータのLSDBの同期を取ります。R1~R4のLSDBには、R1~R4のすべてのLSAが登録されるようにします。
DRを介したLSDBの同期
このような同期をとるために、OSPFでは、マルチアクセスネットワーク上ではDRを選出します。DRとマルチアクセスネットワーク上のOSPFルータ間でアジャセンシーを確立します。各ルータは自身のLSAをDRに送信します。つまり、DRにすべてのLSAが集まることになります。
そして、不足しているLSAをDRから送ってもらうようにして、最終的にマルチアクセスネットワーク上のすべてのOSPFルータのLSDBの同期を取ります。
DRとネイバー/アジャセンシー
R1~R4のネイバーとアジャセンシーの関係は、以下のようになります。
ルータ同士の関係 | ルータ間 |
ネイバー | R2-R3、R2-R4、R3-R4 |
アジャセンシー | R1-R2、R1-R3、R1-R4 |
DRとなっているR1との間のみアジャセンシーとなります。その他のルータ間は単なるネイバーです。単なるネイバー関係のルータ同士は直接LSAを交換していないのですが、最終的には同じLSDBを持っています。
関連記事
ネイバーとアジャセンシーについて、以下の記事をご覧ください。
Ciscoルータでイーサネット上でネイバーとアジャセンシーがどのように見えるかについて、以下の記事をご覧ください。
DR/BDRの選出
DR/BDRの選出は、次の2つのパラメータによって行われます。
- ルータプライオリティ
- ルータID
ルータプライオリティとルータIDは、ともにHelloパケットの中に含まれています。ルータプライオリティは、OSPFのインタフェースに対して設定されている8ビットの値です。10進数では0~255の範囲の値です。ルータプライオリティの値が最も大きいルータがDRになり、次に大きいルータがBDRになります。また、プライオリティ「0」はDR/BDRにならないということを意味しています。
ルータプライオリティが同じ値で、ルータプライオリティでDR/BDRが決められないときにルータIDによる選定を行います。ルータIDが最も大きいルータがDRになり、次にルータIDが大きいルータがBDRになります。ルータIDは一意なので、ルータIDによって最終的には、必ずDR/BDRが決まります。
関連記事
Ciscoルータでルータプライオリティを変更するための設定について、以下の記事をご覧ください。
DRの切り替え
DRを中心として、マルチアクセスネットワーク上でLSDBの同期を確保しています。DRが変更されてしまうと、LSDBの同期を保つことができずに、パケットをルーティングできなくなってしまうことがあります。そこで、いったん決まったDR/BDRはなるべく変更されないようにしています。あとから、ルータプライオリティが大きいルータが追加されても、既存のDR/BDRは変わりません。また、DRがダウンしたときにはBDRが新しいDRになります。
以下の図では、R1のルータプライオリティが5でDRとなり、R2のルータプライオリティが2でBDRとなっています。そこに、新しくルータプライオリティ10のR5を追加したとしても、DRおよびBDRは変わりません。
そして、DRであるR1がダウンすると、BDRであったR2が新しいDRになります。R5がDRになるわけではありません。BDRとは、現在のDRが利用できなくなったら次に必ずDRになるルータです。このとき、R5はBDRになります。
以上のように、なるべくDR/BDRの変更が起こらないような動作になっています。そのため、マルチアクセスネットワーク上に複数のOSPFルータが存在するとき、ルータの起動する順番を考えておく必要があります。DRにしたいルータの起動の順序が遅くなると、プライオリティが高くてもDRにならない場合があるからです。
DRの選出の例
さて、ここまでは1つのイーサネットネットワークを例にしてDR/BDRについて考えています。もう少し現実的な以下のようなネットワーク構成で、DRの選出を考えます。
この図のR1-R5間は、シリアル接続のポイントツーポイントネットワークです。ほかはすべてイーサネットのマルチアクセスネットワークとしています。また、OSPFのルータプライオリティは、記載していない部分はすべて1としています。
DR/BDRは、マルチアクセスネットワークごとに選出します。つまり、DR/BDRはルータ単位で考えるのではなく、OSPFを有効化しているイーサネットのインタフェースごとに考えます。ポイントツーポイントネットワークではDR/BDRの選出は不要です。この例での、DRの選出は以下のようになります。なお、話を簡単にするためにBDRは考慮しません。
ネットワーク | DR |
192.168.12.0/24 | R2 |
192.168.134.0/24 | R1 |
192.168.15.0/24 | DRの選出不要(ポイントツーポイント) |
192.168.2.0/24 | R2 |
192.168.3.0/24 | R3 |
192.168.4.0/24 | R4 |
192.168.5.0/24 | R5 |
192.168.12.0/24ではルータプライオリティが大きいR2がDRです。192.168.134.0/24ではルータプライオリティが大きいR1がDRです。そして、マルチアクセスネットワークでは、DRとの間でアジャセンシーとなりLSDBの同期を取ります。ポイントツーポイントネットワークでは、DRは選出していませんが、R1とR5はネイバーがすなわちアジャセンシーとなりLSDBの同期を取ります。最終的には、R1~R5のすべてのOSPFルータのLSDBが同期します。
まとめ
ポイント
- DR/BDRはイーサネットなどのマルチアクセスネットワーク上で効率よくLSDBの同期をとるために選出されるルータです。DR/BDRとの間でアジャセンシーを確立して、LSAを交換し、LSDBを同期します。
- ポイントツーポイントネットワークではDR/BDRの選出は不要です。
- DR/BDRはルータプライオリティととルータIDによって選出されます。DRがダウンすると、BDRが新しいDRになります。
OSPFの仕組み
- OSPFとは? 初心者にもわかりやすくOSPFの特徴を解説
- OSPFの処理の流れ
- OSPFルータID ~OSPFルータを識別~
- OSPFルータのルータIDが重複してしまったら?
- OSPF ネイバーとアジャセンシー
- OSPF DR/BDR
- イーサネット上のshow ip ospf neighborの見え方
- OSPFネットワークタイプ ~OSPFが有効なインタフェースの分類~
- OSPF LSDBの同期処理
- 大規模なOSPFネットワークの問題点
- OSPFエリア ~エリア内は詳しく、エリア外は概要だけ~
- OSPFルータの種類
- OSPF LSAの種類
- OSPF エリアの種類
- OSPFの基本的な設定と確認コマンド [Cisco]
- インタフェースでOSPFを有効化することの詳細
- OSPF ループバックインタフェースのアドバタイズ
- OSPF Hello/Deadインターバルの設定と確認コマンド
- OSPFコストの設定と確認
- OSPFルータプライオリティの設定と確認コマンド
- OSPFネイバー認証の設定 ~正規のルータとのみネイバーになる~
- バーチャルリンク上のネイバー認証
- OSPF スタブエリアの設定と確認[Cisco]
- OSPF スタブエリアの設定例 [Cisco]
- OSPFデフォルトルートの生成 ~default-information originateコマンド~
- OSPFデフォルトルートの生成 ~スタブエリア~
- OSPF バーチャルリンク ~仮想的なエリア0のポイントツーポイントリンク~
- OSPF バーチャルリンクの設定と確認 [Cisco]
- OSPF バーチャルリンクの設定例 [Cisco]
- OSPF 不連続バックボーンのVirtual-link設定例
- OSPFのルート集約と設定
- OSPFルート集約の設定例(Cisco)
- OSPF ルート種類による優先順位
- OSPFネイバーの状態がExstartでスタックする原因
- OSPFパケットの種類とOSPFヘッダフォーマット
- OSPF Helloパケット
- OSPF DD(Database Description)パケット
- OSPF LSR(Link State Request)パケット
- OSPF LSU(Link State Update)パケット
- OSPF LSAck(Link State Acknowledgement)パケット
- OSPF 再配送ルートの制限 ~redistribute maximum-prefixコマンド~
- OSPFでのディストリビュートリスト/プレフィクスリストの動作
- OSPFでのディストリビュートリストの設定例 Part1
- OSPFでのディストリビュートリストの設定例 Part2
- OSPFのLSAフィルタの概要 ~LSAタイプ3/タイプ5をフィルタ~
- LSAタイプ3のフィルタ設定例
- LSAタイプ5のフィルタ設定例
- 3階層モデルLANのOSPFルーティング
- 演習:実践的なOSPFルーティング Part1:OSPFの基本設定
- 演習:実践的なOSPFルーティング Part2:デフォルトルートの生成
- 演習:実践的なOSPFルーティング Part3:スタブエリア
- 演習:実践的なOSPFルーティング Part4:ルート集約
- 演習:実践的なOSPFルーティング Part5:トラブルシューティング
- OSPF 設定ミスの切り分けと修正 Part1
- OSPF 設定ミスの切り分けと修正 Part2
- OSPF 設定ミスの切り分けと修正 Part3
- OSPF 設定ミスの切り分けと修正 Part4
- OSPF 設定ミスの切り分けと修正 Part5
- OSPF 設定ミスの切り分けと修正 Part6
- Cisco OSPFv3 for IPv4の設定と確認コマンド
- Cisco OSPFv3 for IPv4の設定例
- OSPFv3の設定例 [Cisco]
- OSPFv3 ルート集約の設定例 [Cisco]