OSPF エリアの種類 その3

NSSA(Not So Stuby Area)

NSSAはスタブエリアの特殊なものです。スタブエリアやトータリースタブエリア内にはASBRを置くことができなかったのですが、NSSAではASBRを置くことができるようになっています。

なぜNSSAが必要なのでしょうか?

たとえば、スタブエリアの中にさらに小規模な拠点のルータを接続するケースを考えましょう。スタブエリアとして、余計なLSAをブロックしたいのですが、小規模な拠点のルータはOSPFをサポートできず、RIPを利用しているとします。
小規模拠点のルータのルーティングは、あまり複雑に考えずにデフォルトルートを1つ設定すればいいです。しかし、双方向でIPパケットをルーティングするためには新しく接続した小規模拠点のネットワークアドレスをOSPFルータが学習する必要があります。そのためには、エリア1の中にASBRをおいて、RIPのルートをOSPFに再配送しなければいけません。
しかし、スタブエリアにはASBRをおくことができないという制限がありました。ASBRをおくためにスタブエリアを標準エリアに変更すると、アドバタイズされるLSAが増加してしまい、パフォーマンス上の問題が発生する可能性があります。そこで、スタブエリアの特徴を保ちつつ、ASBRを置いて、非OSPFドメインのルートをアドバタイズできるようにしたエリアがNSSAです。

ospf_area_type05.png
図 NSSAの必要性

NSSAは、スタブエリア内にASBRを置くことができるようにしたエリアです。そのため、NSSAのABRは、LSAタイプ4とLSAタイプ5をブロックし、NSSA内ではLSAタイプ1・LSAタイプ2・LSAタイプ3とLSAタイプ7がアドバタイズされます。
エリア1をNSSAにすることによって、エリア0の先にある非OSPFドメインの個別のネットワークアドレスを表すLSAタイプ5は、ルータ1.1.1.1によってブロックされエリア1内にはアドバタイズされません。そして、エリア1に小規模拠点のネットワークアドレスをアドバタイズするためのLSAタイプ7がエリア1のASBRであるルータ3.3.3.3によって生成されます。また、NSSAのABRであるルータ1.1.1.1は、NSSA内のLSAタイプ7をLSAタイプ5に変換して、バックボーンエリアに送信
します。

ospf_area_type06.png
図 NSSA内のLSAのアドバタイズ

しかし、スタブエリアやトータリースタブエリアと同様に、バーチャルリンクにおけるトランジットエリアになることはできません。また、スタブエリア、トータリースタブエリアのABRと異なり、NSSAのABRは、NSSA内に自動的にデフォルトルートをアドバタイズしません。NSSAでは、NSSA内にASBRをおくことができるため、非OSPFドメインのネットワークが必ずしもABRの先にあるわけで
はないからです。デフォルトルートをアドバタイズするためには、明示的に設定する必要があります。
Ciscoルータでは、NSSA内のすべてのルータに対して、次のように該当のエリアがNSSAであるということを設定します。

(config)#router ospf <process>
(config-router)#area <area-id> nssa

NSSA内にデフォルトルートをアドバタイズするときはABRで、

(config)#router ospf <process>
(config-router)#area <area-id> nssa default-information originate

の設定を行います。
この設定により、LSAタイプ7でデフォルトルートをNSSA内にアドバタイズします。

トータリーNSSA

トータリーNSSAは、トータリースタブエリアのNSSAバージョンです。トータリースタブと同じように、LSAタイプ4、LSAタイプ5だけでなく他のエリア内のルートを表すLSAタイプ3もブロックします。NSSAの特徴があるので、トータリーNSSA内にASBRをおいて、トータリーNSSAの先にある非OSPFドメインのルートをLSAタイプ7でアドバタイズできます。LSAタイプ7は、ABRでLSAタイプ5に変換され、バックボーンエリアにアドバタイズされます。
また、単なるNSSAではデフォルトルートを自動的にアドバタイズしなかったのですが、トータリーNSSAでは、ABRが自動的にデフォルトルートをLSAタイプ3でアドバタイズします。

ospf_area_type07.png
図 トータリーNSSA内のLSAのアドバタイズ

トータリーNSSAの設定は、通常のNSSAの設定に加えてABRで次のように設定します。

(config)#router ospf <process>
(config-router)#area <area-id> nssa no-summary