なぜ、OSPFのNSSAのABRはデフォルトルートを作らない?その1

YUKA150701098458-thumb-1000xauto-19923

CCIEの勉強をする時、ほとんどの方の主たるソースは書籍かINEなどの研修動画になるかと思います。

それらを使用して勉強を続けていると「なぜ、こんな仕様なんだろうか?」と疑問に思うシーンが多々あるはずです。

ラッキーな方は周りにCCIEの先輩や同僚がいて、質問する事で答えを得られるかもしれません。

しかし、残念ながら私の場合は周りにそもそもネットワークに詳しい人が皆無だったので、殆どの場合ネットやRFCを網羅する事でしか解決出来ませんでした。これは非常に時間がかかる作業です。

例えば、私がCCIEの勉強をしている時に、以下の疑問が出てきました。

OSPFのNSSAエリアのABRは通常はデフォルトルートを作成しません。何故だろう?

もう少し論点を噛み砕いてみますね。

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

StubエリアのABRは作る。NSSAは作らない。

OSPFにはStubという概念があります。

Stubエリアにすると、ABRがそのエリア内にLSA5とLSA4を入れなくなります。その代わりにLSA3としてデフォルトルートを挿入します。

例えば、以下のログは、Area1に入っているR10というルーターのOSPF関係のshowコマンドの結果です。

LSA3(Summary LSA)の1つ目に0.0.0.0がありますね。このトポロジではRouterIDが150.1.5.5のルータがABRとなっています。このエリアはStub設定をしており、150.1.5.5が0.0.0.0(デフォルトルート)をエリア1内に伝搬しているんです。

ちなみに、Stubエリアではルートの再配送は出来ません。正確にはLSA5を生成できません。例えば、R10が再配送しようとすると、以下の様なエラーが発生します。

Stubエリアにしか属していないのにASBR(再配送してるルータ)になろうとしちゃダメだよ!と怒られました。

話を戻します。

そもそも、なぜStubエリアの場合は、ABRがデフォルトルートを生成するのでしょうか?

これは、当たり前ですね。

そもそも、Stub内のルータはLSA4とLSA5を持たない事になります(ABRが伝搬しないから)。つまり、「どこかのエリアで再配送されたルート」の情報を受けれなくなるのです。

でも、心配無用です。ABRがデフォルトルートを流してくれるので、結果的にデフォルトルートに向かってStub内のルータはパケットを転送すれば良いのです。

例えば以下の図を見てください。ちなみにこれ、iPad ProとApple Pencilで書きました!上とか下とかで書いているコマンドのトポロジとは関係ないので、混乱しないようにお願いします。

IMG_0029

R1とR2はStubのエリアに入っています。仮に、R6がルートを再配送しても、R5がルートを再配送しても、R1からするとR2に転送しますよね。R2はエリア1の中以外にパケットを送る時は絶対にR2に転送するしか術がありません。つまり、R1にとって、R6が再配送したルートなんて知る必要がありません。とりあえず、エリア1の中のルートじゃなかったら、R2に送信すれば良いので。だから、R2はR1に対してデフォルトルートだけあげたらいいのです。これが、Stubですね。

ちなみに、Totally Stubby Areaとは、LSA3もなくすことでしたよね。先ほどの例で、ABRに[area 1 stub no-summary]とした時のR10のOSPF databaseの結果がこれです。

LSA3が[0.0.0.0]だけになりました。なので、Totally Stubby Areaとは厳密には「完全にLSA3をなくす」訳ではありません。デフォルトルートはLSA3で伝搬させるので。

話を戻します。

Stub Area(とTotally Stubby Area)は、逆に言うと、R2がデフォルトルートをR1にあげなかったら、R1は困ります。デフォルトルートがなくなると、いよいよエリア1より外に出れなくなります。

Stubの場合は、ABRが原則デフォルトルートを伝搬するので、それほど心配しなくても良いのですけどね。

で、NSSAの場合、ABRは原則でフォルトルートを伝搬しません。

R10をnssaにしてみました。ABR(R5)含む、エリア内の他のルーターもnssaにしてみました。R10の結果がこれです。

R5(ABR)からデフォルトルートが伝搬されていません。

もちろん、R5(ABR)で[area 1 nssa default-information-originate]とやったら、Stubと同じくデフォルトルートを伝搬してくれます。

ちなみに、上記の状態だとエリア1内のルーターはエリア1外で作られた再配送ルートには通信出来ません。Stubで発生したジレンマ(デフォルトルートがなかったら、外に出れない)と同じです。

なぜ、NSSAでは通常はデフォルトルートを作らないの?

何故、ABRにて明示的に指定しないとデフォルトルートを伝搬しないのでしょうか?だって、Stubだと明示的に指定しないでもデフォルトルートを伝搬してくれたのに。。なんか、不親切に感じます。

これには、もちろん理由があります。次回は、その理由を記載予定です。

この記事の内容がすんなり理解出来なかった方は、INEのWorkbookをマスター出来ていない可能性が高いです。

INEのOSPFセクションを何度も繰り返してください。私はINEのOSPFセクションを全て1時間程度で終わらせれます。

また、以下のOfficial Guide Vol1のOSPFセクションを読み直してください。まだ購入していない方、小手先の勉強でCCIE合格は無理です。必要な書籍は購入して、しっかり体系だった勉強をしましょう。勉強に重要な書籍をケチって回り道をしても、ラボ試験にFailしたら結局時間と費用を無駄にします。

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

もし、お分かりになった方がいれば、コメントくださいね!

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

コメント

  1. AS65000 より:

    出口が2つある以上、ABR側にその他全ての宛先がある保証がないからではないでしょうか

コメントをどうぞ

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

次の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="">