OSPFのネイバーを張る為にはHello/Deadタイマーは一致する必要がある?その1(問題編)

この記事は約3分で読めます。
スポンサーリンク

以下の記事で軽くネタバレしていますが、一般的にOSPFのHello/Deadタイマーは一致する必要があると学びます。

OSPFのDR/BDRはPreemptしない?その1
CCIEではOSPFについてかなり細かい所まで求められます。 時にはCCNPで勉強した常識が覆される事も多々あります。 例えばNetwork Typeが違うルータ同士でもネイバー張れるとかですね。 今日の記事はそんなCCN...

これは、本当に「絶対」でしょうか?

そもそも、何故一致する必要があるのか?

答えは簡単ですね。一致させないとネイバーを張る時に失敗するからです。(今回はOSPFのネイバーのStateについては深く説明しません)

じゃあ、何故ネイバーを張る時に失敗するのか?

それは、RFCで明確に規定されているからです。

RFC4062に以下の記載があります。

Router Dead Interval:

This is advertised in the router’s Hello Packets in the
Router-DeadInterval field. The router dead interval should
be some multiple of the HelloInterval (perhaps 4 times the
hello interval) and must be the same for all routers
attached to a common network.

“must be the same for all routers attached to a common network”なので、必須です。

つまり、「deadタイマーは一致させなければいけないか?」の問いについては

Yes

が正解のはずです。

仮にこんな問題が出たらどうしますか?

  • RouterAとRouterBでネイバーを張る事。ただし、HelloインターバルはRouterAとRouterBで違う必要がある。

もうむちゃくちゃですね。なぞなぞみたいですね。

実は、上記に対する解が(私の知る限り)一つだけあります。

初めて私がこの解を発見したとき「そんなバカな・・・」と思い、何度も複数の環境で検証し、RFCを再度読み直しました。

でも、確かに動作しますし、RFC的にも成立しているように思われます。Cisco Proprietaryという訳ではない解のはずです。

ということで、次回に持ち越します

別に出し渋りしたい訳ではないです。

一度考えてみてほしいんです。考えた方が絶対に勉強になりますし、仮に発見した時に嬉しくて絶対忘れないはずですから。CCIEでは想定外の問題は必ず出るので、柔軟に対応する意味でも役立つはずです。

あ、BFDを使うとか、そういうOSPFではない機能を持ち出すのはNGです。あくまでもOSPFの範囲の話です。

回答編の記事自体は書き終わっているので、ヒントが必要な方はコメントください。

コメント

タイトルとURLをコピーしました