OSPFのDR/BDRはPreemptしない?その2

SEP_324615200159-thumb-1000xauto-16088

この記事は、以下の記事の続きです。

OSPFのDR/BDRはPreemptしない?その1
CCIEではOSPFについてかなり細かい所まで求められます。 時にはCCNPで勉強した常識が覆される事も多々あります。 例えばN...

R4のACLを解除すると各ルーターのDR/BDRはどうなるのか!?

スポンサーリンク
レクタングル大

このセグメントのDR/BDRはこうなりました

では、いよいよACLを解いてみます!

この時点で、誰がDRになったかは察しがつきますよね?(理由は後述)

各ルーターのインターフェースの状態を確認してみます。(例によってR1は割愛)

R2:

R3:

R4:

おおお!R3がDROTHER(ドラザー!)になっている!R4がDRのままになっている!

これはPreemptしたと言ってもいいのではないでしょうか。

結論、非常にレアケースだが、OSPFのDR/BDRもPreemptする

ちなみに、何故私が上記で「この時点で、誰がDRになったかは察しがつきますよね?」と言ったかわかりますか?

R4のACLを解いた後に、R4のコンソール上でR1-R3とのOSPF StateがFullになったと表示されたからです。

OSPFはBroadcast/Non BroadcastのNetwork Typeの時はDRかBDRとしかFullになりません。

仮に、R4がDROTHERになったとしたら、3つのルータとFULLになんてならないんです。

どうでした?予想通りでしたか?

何故、こんな事が起きたか?振り返ってみましょう

そもそも、何故こんな事が起きるのでしょう?

そのカギはBR/BDRを選出するタイミングにあります。

BR/BDRはいつ選出されるか?理解していますか?

それは、WAITタイマーが終了した後になります。

インターフェースのOSPFを有効にしたら、WAITタイマーがカウントダウンされます。

例えば、R1だけOSPFを有効にしたとします。OSPFを有効にしたインターフェースはF0/0です。

WAITタイマーはDead intervalと同じで40秒です。各種デバッグをONにしてOSPFを有効にしてみますね。

12行目を見てください。ここで、インターフェース上でOSPFを有効にしています。

24行目を見てください。ここで、WAITタイマーが終わっています。そして、DR/BDRを決定しています。

つまり、WAITタイマーの中で自分よりも優先度が高いルータが現れていたら、WAITタイマーの後にそのルーターをDRにするんです。(ここでの優先度が高いとは、例のPriority/Loopback Address….ってやつです)

仮に、WAITタイマーの後に別のルーターが参加してきたら?

その場合は、通常は、新たに参加してきたルータはWAITタイマー40秒の期間があるはずで、その間に他の既にDR/BDRを選出したグループからOSPFパケットを受信するはずです。

そのパケットに現在のDR/BDRの情報が入っていたら(そして、入っているはず)WAITタイマーの中であろうが、現行のDR/BDRを尊重します。新しく入ってきたルータがPriority250であってもです。

つまり、OSPFのDR/BDRはPreemptしないと言われている理由は、新しく入ってきたルータがWAITタイマーの間に既存のルーターから現在のDR/BDRの情報を受け取る事が前提なのです。

今回のイレギュラーケースは?

TSJ93_hizamakuran20150208150259-thumb-1000xauto-12448

今回は本当に特殊なケースです。

R4は既にWAITタイマーが終わって、自分自身をDRと認識しています。

R3も既にWAITタイマーが終わって、自分自身をDRと認識しています。

なので、WAITタイマーの守りは効かなくて、R4のACLを解除したらR1-R3のOSPFの世界と、R4の世界がくっついて、不思議な事が起った訳です。

今回はWAITタイマーの勉強になりましたか

WAITタイマーとは、何か?ってのはCCNPで深くは学ばなかったはずです。

WAITタイマーとは、DR/BDRがFlapするのを防ぐ為の猶予期間みたいなモノです。

なので、結果的にPoint-to-PointよりもAdjacencyの確立に時間がかかったりするんです。

今回の例のように、WAITタイマーは万能ではないのでPreemptされちゃう可能性もあります。
OSPFの書籍紹介の記事でも説明しましたが、Official Guide Vol1のOSPFセクションはOSPFの仕様を理解する上で非常に参考になります。まだ購入していない方、小手先の勉強でCCIE合格は無理です。必要な書籍は購入して、しっかり体系だった勉強をしましょう。勉強に重要な書籍をケチって回り道をしても、ラボ試験にFailしたら結局時間と費用を無駄にします。

必要な書籍は、買いましょう。

勉強を再会する方へ
スポンサーリンク
レクタングル大
  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">