【FAQ】OSPF-スタブエリアのあるある疑問をパパっと解消

FAQ スタブエリア

スタブエリア

哲学者トニーくん
哲学者トニーくん

スタブエリアって何?

OSPFにおけるスタブエリアとは?

スタブエリア(Stub Area) とは、OSPF(Open Shortest Path First)のエリア設計の一種で、外部ルート(LSA Type 5)をエリア内に流さないようにする設定 のことです。

なぜスタブエリアを使うのか?

OSPFでは、外部ネットワーク(例えばBGPで学習したインターネット経由のルートなど)は、LSA Type 5 という形で全エリアに広がります。しかし、以下のような問題が発生することがあります。

ルーティングテーブルが大きくなる → 小さなルータではメモリ消費が増える
計算負荷が増加する → OSPFのルート計算が複雑になる

これを解決するために、スタブエリアを設定すると、LSA Type 5(外部ルート)をエリア内に流さず、代わりに「デフォルトルート(0.0.0.0/0)」をABR(Area Border Router)が広報する 仕組みになります。


スタブエリアの動作

スタブエリアを設定すると、

  1. LSA Type 5(外部ルート情報)がエリア内に流れなくなる。
  2. 代わりに、ABR(エリアボーダールータ)がデフォルトルート(0.0.0.0/0)をエリア内に広報する。

例えば、以下のようなネットワークを考えます。

Bash
[外部ネットワーク] -- [R3(ABR)] -- [R4] -- [R5]
                         エリア1(スタブエリア)
  • 通常のOSPFエリアなら
    R3はLSA Type 5(外部ルート)をエリア1に広報する。
    → R4とR5はすべての外部ルートを持つ。
  • スタブエリアなら
    R3はLSA Type 5を流さない代わりに、デフォルトルート(0.0.0.0/0)のみを広報する。
    → R4とR5は「外部ネットワークに行きたいときはR3を通ればいい」とシンプルに判断できる。

スタブエリアの設定方法(Ciscoの場合)

ABR(R3側):

Bash
router ospf 1
 area 1 stub

エリア内のルータ(R4, R5側):

Bash
router ospf 1
 area 1 stub

この設定をすることで、エリア1はスタブエリアとして動作します。


スタブエリアのメリットとデメリット

項目内容
✅ メリットOSPFの負荷が減る(ルーティングテーブルが小さくなる)
ネットワークの設計がシンプルになる
❌ デメリットスタブエリア内のルータは詳細な外部ルート情報を得られない
すべての外部宛先をデフォルトルートに依存するため、ルートの最適化ができない

まとめ

🔹 スタブエリアとは、LSA Type 5(外部ルート)をブロックすることで、ルータの負荷を軽減するOSPFのエリア設計の一種 である。
🔹 代わりに、ABR(エリアボーダールータ)がデフォルトルート(0.0.0.0/0)を広報する。
🔹 メモリとCPUの使用量を抑え、ルーティングテーブルを小さくするメリットがある。


哲学者トニーくん
哲学者トニーくん

LSA(Link-State Advertisement)の種類は?

OSPFでは、ネットワーク内のルート情報をやり取りするために「LSA(リンクステート広告)」というメッセージを使います。LSAにはいくつかの種類があり、それぞれ役割が異なります。


OSPFのLSAタイプ一覧

LSAタイプ名称発信元適用範囲主な役割
Type 1ルータLSAすべてのOSPFルータ同じエリア内– 自身の接続情報(インターフェースやコスト)を通知
Type 2ネットワークLSADR(指定ルータ)同じエリア内– マルチアクセスネットワーク(Ethernetなど)の情報を広報
Type 3ネットワーク集約LSA(Summary LSA)ABR(エリアボーダールータ)OSPFの異なるエリア間– あるエリアのルート情報を、別のエリアに通知
Type 4ASBR概要LSAABR(エリアボーダールータ)OSPFの異なるエリア間– ASBR(外部ルートを持つルータ)への経路情報を通知
Type 5外部LSA(External LSA)ASBR(外部ルートを持つルータ)全OSPFエリア(スタブエリアを除く)– OSPF外のネットワーク(BGPや静的ルートなど)の情報をOSPF内に広報
Type 6MOSPF用LSA(Multicast LSA)ルータ(MOSPF専用)OSPFドメイン内– マルチキャストルーティング(MOSPF)用(通常のOSPFでは使わない)
Type 7NSSA外部LSANSSA(Not-So-Stubby Area)のASBRNSSA内のみ– NSSA内のASBRが外部ルートをOSPF内に広報(Type 5の代わり)
Type 8リンクLSA(OSPFv3のみ)ルータ同じリンク上– OSPFv3(IPv6版OSPF)で使用、リンクローカル情報を広報
Type 9Intra-Area Prefix LSA(OSPFv3のみ)ルータ同じエリア内– OSPFv3で、エリア内のプレフィックス情報を広報
Type 10エリアスコープLSA(OSPFv3のみ)ルータ同じエリア内– 特定のエリア内で使用する情報を広報(ルータの設定や機能拡張向け)
Type 11ASスコープLSA(OSPFv3のみ)ルータOSPFドメイン全体– AS全体に影響する情報を広報(あまり使われない)

OSPFのLSAの特徴と関係性

  1. エリア内で使われるLSA
    • Type 1(ルータLSA): ルータ自身の情報
    • Type 2(ネットワークLSA): DR(指定ルータ)が発信
    • Type 9, 10(OSPFv3のみ)
  2. エリア間で使われるLSA
    • Type 3(ネットワーク集約LSA): ABRが他のエリアへルート情報を広報
    • Type 4(ASBR概要LSA): ASBRへの経路情報を他のエリアへ広報
  3. 外部ルートに関連するLSA
    • Type 5(外部LSA): OSPF外のネットワークを広報(BGPや静的ルートなど)
    • Type 7(NSSA外部LSA): NSSAエリア用の外部ルート情報(Type 5の代わり)

LSA Type 5とType 7の違い

項目Type 5(外部LSA)Type 7(NSSA外部LSA)
発信元ASBR(外部ルートを持つルータ)NSSA内のASBR
適用範囲OSPF全体(スタブエリア除く)NSSA(Not-So-Stubby Area)内のみ
ABRでの変換なしNSSA外のエリアに出るとType 5に変換

ポイント:

  • NSSA(Not-So-Stubby Area) では、通常のスタブエリアと異なり、外部ルートを許可したいことがある。そのため、Type 7を使って外部ルートを広報し、ABRがType 5に変換して通常のエリアに流す

まとめ

OSPFのLSAには、内部・エリア間・外部ルートの情報を伝えるさまざまな種類がある。

  • Type 1~2: エリア内の情報
  • Type 3~4: エリア間の情報
  • Type 5~7: 外部ルート(スタブ/NSSAの違いに注意)
  • Type 8~11: OSPFv3(IPv6)の拡張用



哲学者トニーくん
哲学者トニーくん

stub no-summaryを使うのはどんな状況か?

stub no-summary

stub no-summary を使うのは、エリア内のルータに LSA Type 5(外部ルート情報)と LSA Type 3(エリア間ルート情報)の両方を流さないため
この設定をすることで、ルーティングテーブルを小さくできる(エリア内のルータはデフォルトルートだけを使用するため)
動作としては「とりあえずすべてのトラフィックをデフォルトルートに投げる」ようになる

通常の STUB(area X stub)との違い

通常のスタブ(area X stub)では LSA Type 5 を流さないが、LSA Type 3(エリア間ルート情報)は流れる
ABR はデフォルトルートを自動で広報するのが基本動作(ただし、設定次第で広報されないこともある)
✅ エリア内のルータは LSA Type 3 の情報を使ってルーティングするため、デフォルトルートが使われないこともある

stub no-summary を使うときの具体的なメリット

エリア内のルータを「デフォルトルート経由でしか外部と通信できない」ように強制できる → ルーティングのシンプル化が可能
LSA Type 3 を排除することでルーティングテーブルを削減し、リソースを節約できる
デフォルトルートが適切に広報されないリスクを減らせる(ABRが確実に 0.0.0.0/0 を広報するため)


まとめ

stub no-summary を使うのは、LSA Type 3 も流さずに、エリア内のルータをシンプルにデフォルトルートだけでルーティングさせたいとき。
これにより、ルーティングテーブルが小さくなり、無駄な情報を持たずに済む。
通常のスタブ(area X stub)では LSA Type 3 を流すため、詳細ルートがエリア内のルータに伝わるが、それを防ぎたい場合に stub no-summary を使う。


哲学者トニーくん
哲学者トニーくん

エリアって具体的に何なの?

大企業のネットワークをOSPFに当てはめて考える

1. AS(自律システム) = 大企業全体

  • OSPFは一つのAS(自律システム)内で動作するルーティングプロトコルなので、
    「AS = その企業のネットワーク全体」 と考えられる
  • 例えば、「会社全体がISP(インターネットプロバイダ)に接続する1つのネットワーク」として機能する。

2. OSPFの「エリア」 = 会社の支社や部門

  • エリアの分割は、本社・支社・部門ごとに行うのが一般的
  • 各エリア内では、詳細なルーティング情報を共有するが、エリア間ではサマリー(要約)だけを伝える
    • 例: 本社(エリア1)、東京支社(エリア2)、大阪支社(エリア3)
    • 本社(エリア1)のネットワーク機器は、東京や大阪の詳細なネットワーク情報は知らず、「東京支社に行くならR1へ」みたいな情報だけ持つ

3. バックボーンエリア(エリア0) = 会社の「幹線ネットワーク」

  • OSPFでは、エリア間を通信するためには「エリア0(バックボーンエリア)」を必ず経由しなければならない
  • これは会社の「基幹ネットワーク」や「データセンター」と考えると分かりやすい
  • 例えば…
    • 本社のコアネットワーク がエリア0
    • 各支社のネットワーク はエリア1, エリア2, エリア3 として個別に管理
    • 支社間の通信は、必ず本社のネットワーク(エリア0)を経由する

4. サブネット = 企業の各部署やフロア

  • OSPFエリアの中には、さらに小さな サブネット(IPネットワークの範囲) がある
  • サブネット = 会社の部署・オフィスのフロア
    • 例: エリア1(本社)の中に、192.168.1.0/24(営業部)、192.168.2.0/24(開発部) などのサブネットが存在する
    • これらのサブネットは、同じエリア内なのでLSAで詳細情報を共有できる

大企業のOSPF構成(例)

Bash
AS(自律システム) = ある大企業全体
└── エリア0(バックボーン) = 本社の基幹ネットワーク・データセンター
      ├── エリア1 = 本社のネットワーク
          ├── サブネット 192.168.1.0/24(営業部)
          ├── サブネット 192.168.2.0/24(開発部)
          ├── サブネット 192.168.3.0/24(経理部)
      
      ├── エリア2 = 東京支社のネットワーク
          ├── サブネット 10.1.1.0/24(営業)
          ├── サブネット 10.1.2.0/24(技術)
      
      ├── エリア3 = 大阪支社のネットワーク
           ├── サブネット 10.2.1.0/24(営業)
           ├── サブネット 10.2.2.0/24(技術)
  • 支社間の通信は、必ずエリア0(本社)を経由する
  • 各支社のネットワーク(エリア2, エリア3)は、詳細なルーティング情報を本社に伝えない(要約される)
  • 本社内の各部署(サブネット)は、直接通信可能(同じエリアだから)

まとめ

AS(自律システム) = 大企業全体(1つの組織のネットワーク)
エリア = 会社の本社・支社・部門ごとのネットワーク単位(ルーティング負荷分散のため)
バックボーンエリア(エリア0) = 本社の幹線ネットワークやデータセンター(すべてのエリアをつなぐ)
サブネット = 各エリア内の部署・フロア単位のIPネットワーク(同じエリア内なら直接通信可能)


哲学者トニーくん
哲学者トニーくん

エリア0(バックボーンエリア)を必ず経由って非効率じゃない?

「なんでエリア0(バックボーンエリア)が必要なのか?」という疑問は、OSPFを理解する上でかなり重要なポイントです。


1. エリア間のルーティングを効率的に管理するため

OSPFは「階層的なルーティング」を採用しており、エリア0を エリア間のハブ(中心) にすることで、ネットワーク全体の管理をシンプルにしています。

もしエリア0がなかったら?

例えば、以下のようなネットワークを考えてみます。

Bash
エリア1(東京) ─── エリア2(大阪) ─── エリア3(福岡)

この場合、東京が大阪を経由して福岡に通信する ことになりますよね?
これだと「どのエリアを経由すればいいか?」がネットワークの設計次第でバラバラになってしまい、経路が複雑になります。

一方で、エリア0を中心にすると すべてのエリアはエリア0だけを見ればよくなる ので、経路がシンプルになります。

Bash
エリア1(東京) ─── エリア0(本社) ─── エリア2(大阪)
                       
                   エリア3(福岡)

この形にすれば、どのエリアからどのエリアに通信する場合も、必ずエリア0を通るだけでOK です。
👉 エリア間の経路を単純化し、管理しやすくするのがエリア0の役割 なんです。


2. ループを防ぐため

OSPFは リンクステート型プロトコル なので、各ルータは「ネットワーク全体のトポロジ情報」を持っています。
しかし、エリアごとにLSA(リンクステート情報)の範囲を制限することで、ルータの負荷を減らす 仕組みになっています。

  • エリア内のルータは、エリア内の詳細情報だけを持つ
  • エリア間の情報は、要約されて交換される(サマリーLSA)

もしエリア0がなかったら、エリア間の情報が どこを通るべきか統一されず、ルーティングループが発生しやすくなる 可能性があります。


3. スケーラビリティ(拡張性)を確保するため

企業のネットワークはどんどん大きくなりますよね?
もしエリア0なしで「すべてのエリアがフルメッシュでつながっている」と、以下のような問題が起こります。

  • ルーティングテーブルが 巨大化する(全エリアの情報を持たなければならない)
  • エリア間のルート変更が 全体に影響する(あるエリアの変更が全ルータに伝播する)
  • ネットワークが複雑になり、設計・管理が困難になる

👉 エリア0をハブにすることで、エリアごとにルーティング情報を要約でき、スケーラブルなネットワーク設計が可能になる!


✅ もし、エリア0がなかったら…

  • エリア1とエリア2をつなぐために、直接エリア間でルーティング情報を交換する必要がある
  • すると、エリア数が増えるほど「どのエリアとどのエリアを接続するのか?」という設計が超複雑になる
  • ネットワークが大きくなると、管理が破綻する

例えば、こんなフルメッシュ状態になったら悲惨ですよね?

Bash
エリア1 ── エリア2 ── エリア3  
                    
                    
エリア4 ─── エリア5 ─── エリア6

OSPFが「エリア0を使え」と言っているのは、このカオスな状態を避けるため なんです。


エリア0(バックボーンエリア)の役割

エリア間のルーティングを一元管理し、シンプルにする
ルーティングループを防ぐ
スケーラビリティを確保する(ネットワークが大きくなっても運用しやすい)

👉 OSPFは「エリア0を中心にする」というルールを決めることで、
 「エリア間の通信経路を統一し、ネットワークの設計をシンプルにする」というメリットを生み出しているんです!



I Want to Write You a Song-One Direction

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