↓ メインコンテンツへスキップ
  1. ネットワーク 記事一覧/
  2. OSPF記事一覧/

OSPFのNSSAとトータリーNSSA

目次

NSSAとは

スタブエリアには「ASBRを置けない」という制約があります(スタブエリア自体はスタブエリアとトータリースタブエリアで解説しています)。再配布の設定自体は通るのに、AS External-LSA(Type 5)が1つも生成されないという形で効く制約です。

現場では「外部経路は入れたくないが、そのエリアの中に外部と繋がるルータが1台だけある」という構成がよくあります。この矛盾を解くのがNSSA(Not-So-Stubby Area、あまりスタブでないエリア)です。Type 7という専用のLSAで外部経路をエリア内に持ち込み、ABRがそれをType 5へ変換して外へ出します。

用語説明
NSSAType 5を入れない(スタブの性質)まま、エリア内のASBRが出す外部経路をType 7として運べるエリア
NSSA External-LSA(Type 7)NSSA内のASBRが出す外部経路のLSA。そのエリアの中だけを流れる
Pビット(Propagate)Type 7のOptionsにあるビット。立っているとABRがType 5へ変換してよいという印
変換役のABRType 7をType 5へ変換するABR。複数いる場合はルータIDが最大の1台が選ばれる
トータリーNSSANSSAからさらにType 3も止めたもの。Ciscoの呼び名

この記事では、7台の3エリア構成のうちarea 2をNSSA・トータリーNSSAにして、Type 7がどこでType 5に変わるのか、変換役のABRがいなくなるとどうなるのか、NSSAのデフォルト経路がスタブとどう違うのかを実機で確認します。

Type 7とType 5の違い

項目Type 5(AS External)Type 7(NSSA External)
流れる範囲AS全体(スタブとNSSAを除く)そのNSSAの中だけ
広告元外部経路を持ち込んだASBRNSSA内のASBR
Forwarding Address0.0.0.0のこともあるPビットが立つときは非0が必須
Pビットなしあり。ABRが変換してよいかどうかを示す
show routeの表示O E1 / O E2O N1 / O N2

NSSAの中では、ASBRが出した外部経路がType 7として流れ、ABRの手前で止まります。そのままでは他のエリアから見えないので、ABRがType 7をType 5に作り直してバックボーンへ流します。これが「変換(translation)」です。

誰がType 7をType 5に変換するのか

NSSAにABRが2台あるとき、両方が変換すると同じ外部経路のType 5が2つできてしまいます。RFC 3101のSection 3.1は、NSSAの中で到達でき、かつバックボーン側でもASBRとして到達できるNSSAのABRのうち、ルータIDが最大の1台が変換役(NSSATranslatorState = elected)になると定めています。

選出とは別にNSSATranslatorRole = Alwaysもあります。Alwaysに設定したABRは他のABRの状態に関係なく常に変換し、自分のRouter-LSAにNtビットを立てて知らせます。Ntビットの立ったABRがいると、他のABRはルータIDが大きくても変換役から外れます。IOS XRではこれがnssa translate type7 alwaysです。

変換役が交代するときの待ち時間も規定されています。選出から外れた変換役はTranslatorStabilityInterval(既定40秒)の間は変換を続けてよい、というものです。頻繁な交代でType 5がフラッシュされ続けるのを防ぐための仕組みです。

以下の検証では、選出はルータIDで決まること、選出そのものには待ち時間がないこと、そしてXRd 26.1.1ではalwaysとTranslatorStabilityIntervalのどちらも観測できなかったことを確かめます。

検証構成

3エリア構成で、R13(area 2の内部ルータ)でもスタティックルートを再配布します。エリア1のR1とエリア2のR13の2台がASBRになり、「外から入ってくるType 5」と「中から出ていくType 7」を並べて観測できます。

項目内容
エリア1R1のLoopback0とR1 - R2間。R1はASBRで192.168.1.0/24を再配布
エリア0R2・R3・R4のLoopback0と、R2 - R3間、R2 - R4間
エリア2R11・R12・R13のLoopback0と、R3 - R11間、R4 - R12間、R11 - R13間、R12 - R13間。ここをNSSAにする
ABRR2(エリア1 ↔ 0)、R3・R4(エリア0 ↔ 2)。R3とR4が変換役の候補
NSSA内のASBRR13。192.168.13.0/24を再配布し、Loopback1に192.168.13.1/32を持つ
観測点R13(NSSAの中から見る)とR1・R2(NSSAの外から見る)
リンクのコストすべて既定のコスト1。R4 - R12間だけ両端cost 10
ネットワークタイプ全リンクnetwork point-to-point。DR/BDRの選出がなくなり、Network-LSA(Type 2)を生成する必要もなくなる

9つのSTEPを続けて実施します。STEP 2〜5が変換役、STEP 6〜8がデフォルト経路の話です。

STEP操作確かめること
0通常エリアのままR13の再配布がType 5としてAS全体に届く
1area 2の5台にnssaR13の経路がType 7になり、R1のType 5が入らなくなる。変換役のR4がType 5に作り直す。デフォルト経路は入らない
2R4でno area 2変換役がR3へ移るまでの実時間
3R4のarea 2の設定を戻すR4が復帰し、R3が取り下げるまでの時間。TranslatorStabilityInterval(40秒)が効くか
4R3にnssa translate type7 alwaysルータIDの小さいR3がNtビットで変換役を奪えるか
5translate type7 alwaysを外すR4のまま(設定を元に戻す)
6ABR 2台にnssa default-information-originateType 7のデフォルト(O*N2、Pビットなし)が入る
7ABR 2台にnssa no-summaryType 3も止まり、デフォルトがType 3(O*IA)に変わる
8no-summaryを外す復旧(NSSA+デフォルト経路)

STEP 2で変換役を落とすのにshutdownではなくno area 2を使うのは、CMLのXRdが片側のshutdownを対向に伝えず、対向のDeadインターバル(40秒)の満了待ちが測定値に乗ってしまうためです。設定から外せばRouter-LSAが即座に作り直され、選出だけの時間が測れます。

R13 show running-config(router ospf 1の部分、起動時)
router ospf 1
 router-id 13.13.13.13
 redistribute static
 area 2
  interface Loopback0
   passive enable
  !
  interface GigabitEthernet0/0/0/0
   network point-to-point
  !
  interface GigabitEthernet0/0/0/1
   network point-to-point
  !
 !
!

通常エリアの状態(STEP 0)

NSSAにする前は、R13の再配布した経路はふつうのType 5としてAS全体に流れます。エリア1のR1から見ると、192.168.13.0/24がtype extern 2で届き、pingも通ります。

STEP 0 R1 show route / ping / traceroute(NSSAにする前)
RP/0/RP0/CPU0:R1#show route 192.168.13.0/24

Thu Sep 10 04:09:44.332 UTC

Routing entry for 192.168.13.0/24
  Known via "ospf 1", distance 110, metric 20, type extern 2
  Installed Sep 10 04:03:00.619 for 00:06:43
  Routing Descriptor Blocks
    10.0.12.2, from 13.13.13.13, via GigabitEthernet0/0/0/0
      Route metric is 20
  No advertising protos. 
RP/0/RP0/CPU0:R1#ping 192.168.13.1 source 1.1.1.1

Thu Sep 10 04:09:44.634 UTC
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.13.1 timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/14/17 ms
RP/0/RP0/CPU0:R1#traceroute 192.168.13.1 source 1.1.1.1

Thu Sep 10 04:09:45.489 UTC

Type escape sequence to abort.
Tracing the route to 192.168.13.1

 1  10.0.12.2 5 msec  4 msec  4 msec 
 2  10.0.23.3 10 msec  6 msec  7 msec 
 3  172.16.3.11 10 msec  9 msec  9 msec 
 4  10.1.11.13 24 msec  *  17 msec 

R13側にも、R1が出した192.168.1.0/24がType 5として届いています。

STEP 0 R13 show route ospf(通常エリア)
RP/0/RP0/CPU0:R13#show route ospf
Thu Sep 10 04:09:13.831 UTC

O IA 1.1.1.1/32 [110/5] via 10.1.11.11, 00:06:13, GigabitEthernet0/0/0/0
O IA 2.2.2.2/32 [110/4] via 10.1.11.11, 00:06:26, GigabitEthernet0/0/0/0
O IA 3.3.3.3/32 [110/3] via 10.1.11.11, 00:06:26, GigabitEthernet0/0/0/0
O IA 4.4.4.4/32 [110/5] via 10.1.11.11, 00:06:26, GigabitEthernet0/0/0/0
O IA 10.0.12.0/24 [110/4] via 10.1.11.11, 00:06:26, GigabitEthernet0/0/0/0
O IA 10.0.23.0/24 [110/3] via 10.1.11.11, 00:06:26, GigabitEthernet0/0/0/0
O IA 10.0.24.0/24 [110/4] via 10.1.11.11, 00:06:26, GigabitEthernet0/0/0/0
O    11.11.11.11/32 [110/2] via 10.1.11.11, 00:06:26, GigabitEthernet0/0/0/0
O    12.12.12.12/32 [110/2] via 10.1.12.12, 00:06:32, GigabitEthernet0/0/0/1
O    172.16.3.0/24 [110/2] via 10.1.11.11, 00:06:26, GigabitEthernet0/0/0/0
O    172.16.4.0/24 [110/11] via 10.1.12.12, 00:06:32, GigabitEthernet0/0/0/1
O E2 192.168.1.0/24 [110/20] via 10.1.11.11, 00:06:13, GigabitEthernet0/0/0/0

area 2をNSSAにする(STEP 1)

NSSAの設定も、スタブと同じくそのエリアに接続する全ルータに入れます。

STEP 1で投入した設定
(R3・R4・R11・R12・R13の5台すべてに投入する)
router ospf 1
 area 2
  nssa

R13が出していた外部経路は、show ospf database external(Type 5)からは消え、show ospf database nssa-external(Type 7)に現れます。OptionsのType 7/5 translationがPビット、Forward Addressに自分のアドレス13.13.13.13が入っているのがType 7の特徴です。

STEP 1 R13 show ospf database nssa-external ほか
RP/0/RP0/CPU0:R13#show ospf database nssa-external

Thu Sep 10 04:14:03.478 UTC


            OSPF Router with ID (13.13.13.13) (Process ID 1)

		Type-7 AS External Link States (Area 2)

  LS age: 198
  Options: (No TOS-capability, Type 7/5 translation, DC)
  LS Type: AS External Link
  Link State ID: 192.168.13.0 (External Network Number)
  Advertising Router: 13.13.13.13
  LS Seq Number: 80000001
  Checksum: 0x17a0
  Length: 36
  Network Mask: /24
	Metric Type: 2 (Larger than any link state path)
	TOS: 0 
	Metric: 20 
	Forward Address: 13.13.13.13
	External Route Tag: 0

RP/0/RP0/CPU0:R13#show route 192.168.1.0/24

Thu Sep 10 04:14:04.184 UTC

% Network not in table

RP/0/RP0/CPU0:R13#show ospf neighbor detail | include Options

Thu Sep 10 04:14:04.324 UTC
    Options is 0x58  
    LLS Options is 0x1 (LR)
    Options is 0x58  
    LLS Options is 0x1 (LR)

同じ出力のとおり、192.168.1.0/24(R1が出したType 5)はNSSAに入らなくなります。そして重要なのは、IOS XRではNSSAに既定でデフォルト経路が入らないことです。スタブエリアならABRが自動で0.0.0.0/0を入れてくれますが、NSSAでは明示的に設定しないと入りません。RFC 3101のSection 2.4は「NSSAのABRはデフォルト宛先のLSAを接続するすべてのNSSAへ生成しなければならない」と定めていますが、Ciscoの実装ではこれを設定で有効にする形になっています。結果として、この時点でR13からエリア外への通信はできなくなります。

STEP 1 R13 show route / ping(外へ出られない)
RP/0/RP0/CPU0:R13#show route 0.0.0.0/0

Thu Sep 10 04:14:08.006 UTC

% Network not in table

RP/0/RP0/CPU0:R13#show route 192.168.1.0/24

Thu Sep 10 04:14:08.181 UTC

% Network not in table

RP/0/RP0/CPU0:R13#ping 192.168.1.1 source 13.13.13.13

Thu Sep 10 04:14:08.354 UTC
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1 timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)

一方、NSSAの外から見ると192.168.13.0/24はちゃんと届いています。R2のLSDBでは、Type 5の広告元がR13ではなくR4(4.4.4.4)に変わっています。R4がType 7をType 5に変換したためです。Forward AddressはType 7の値(13.13.13.13)がそのまま引き継がれています。

STEP 1 R2 show ospf database external 192.168.13.0
RP/0/RP0/CPU0:R2#show ospf database external 192.168.13.0

Thu Sep 10 04:14:22.414 UTC


            OSPF Router with ID (2.2.2.2) (Process ID 1)

		Type-5 AS External Link States

  Routing Bit Set on this LSA
  LS age: 199
  Options: (No TOS-capability, DC)
  LS Type: AS External Link
  Link State ID: 192.168.13.0 (External Network Number)
  Advertising Router: 4.4.4.4
  LS Seq Number: 80000001
  Checksum: 0xba2b
  Length: 36
  Network Mask: /24
	Metric Type: 2 (Larger than any link state path)
	TOS: 0 
	Metric: 20 
	Forward Address: 13.13.13.13
	External Route Tag: 0

RP/0/RP0/CPU0:R2#show route 192.168.13.0/24

Thu Sep 10 04:14:23.071 UTC

Routing entry for 192.168.13.0/24
  Known via "ospf 1", distance 110, metric 20, type extern 2
  Installed Sep 10 04:11:04.722 for 00:03:18
  Routing Descriptor Blocks
    10.0.23.3, from 4.4.4.4, via GigabitEthernet0/0/0/1
      Route metric is 20
  No advertising protos. 

経路のfromは4.4.4.4ですが、ネクストホップは10.0.23.3(R3)です。パケットの宛先はForwarding Addressの13.13.13.13で、そこへの最短経路がR3経由だからです。変換したABRを必ず通るわけではないという点が、Forwarding Addressの効いているところです。

エリア2側のキャプチャーのNo.69が、R13が自分のRouter-LSAとType 7を送ったLS Updateです。Type 7のOptionsに(P) Propagateが立っていること、R13のRouter-LSAは(N) NSSA translation: No(自分は変換役ではない)であることが分かります。

No.69 LS Update(R13のRouter-LSAとType 7)tshark -V
Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Update (4)
        Packet Length: 124
        Source OSPF Router: 13.13.13.13
        Area ID: 0.0.0.2
        Checksum: 0x1222 [correct]
        Instance ID: Base IPv4 Unicast Instance (0)
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    LS Update Packet
        Number of LSAs: 2
        LSA-type 1 (Router-LSA), len 60
            .000 0000 0000 1001 = LS Age (seconds): 9
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x28, (DC) Demand Circuits, (N) NSSA
                0... .... = DN: Not set
                .0.. .... = (O) Opaque: Not set
                ..1. .... = (DC) Demand Circuits: Supported
                ...0 .... = (L) LLS Data block: Not Present
                .... 1... = (N) NSSA: Supported
                .... .0.. = (MC) Multicast: Not capable
                .... ..0. = (E) External Routing: Not capable
                .... ...0 = (MT) Multi-Topology Routing: No
            LS Type: Router-LSA (1)
            Link State ID: 13.13.13.13
            Advertising Router: 13.13.13.13
            Sequence Number: 0x80000005
            Checksum: 0x65d4
            Length: 60
            Flags: 0x02, (E) AS boundary router
                0... .... = (H) Host: No
                ..0. .... = (S) Shortcut-capable ABR: No
                ...0 .... = (N) NSSA translation: No
                .... 0... = (W) Wild-card multicast receiver: No
                .... .0.. = (V) Virtual link endpoint: No
                .... ..1. = (E) AS boundary router: Yes
                .... ...0 = (B) Area border router: No
            Number of Links: 3
            Type: Stub     ID: 13.13.13.13     Data: 255.255.255.255 Metric: 1
                Link ID: 13.13.13.13 - IP network/subnet number
                Link Data: 255.255.255.255
                Link Type: 3 - Connection to a stub network
                Number of Metrics: 0 - TOS
                0 Metric: 1
            Type: Stub     ID: 10.1.11.0       Data: 255.255.255.0   Metric: 1
                Link ID: 10.1.11.0 - IP network/subnet number
                Link Data: 255.255.255.0
                Link Type: 3 - Connection to a stub network
                Number of Metrics: 0 - TOS
                0 Metric: 1
            Type: Stub     ID: 10.1.12.0       Data: 255.255.255.0   Metric: 1
                Link ID: 10.1.12.0 - IP network/subnet number
                Link Data: 255.255.255.0
                Link Type: 3 - Connection to a stub network
                Number of Metrics: 0 - TOS
                0 Metric: 1
        LSA-type 7 (NSSA AS-External-LSA), len 36
            .000 0000 0000 1000 = LS Age (seconds): 8
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x28, (DC) Demand Circuits, (P) Propagate
                0... .... = DN: Not set
                .0.. .... = (O) Opaque: Not set
                ..1. .... = (DC) Demand Circuits: Supported
                ...0 .... = (L) LLS Data block: Not Present
                .... 1... = (P) Propagate: Set
                .... .0.. = (MC) Multicast: Not capable
                .... ..0. = (E) External Routing: Not capable
                .... ...0 = (MT) Multi-Topology Routing: No
            LS Type: NSSA AS-External-LSA (7)
            Link State ID: 192.168.13.0
            Advertising Router: 13.13.13.13
            Sequence Number: 0x80000001
            Checksum: 0x17a0
            Length: 36
            Netmask: 255.255.255.0
            1... .... = External Type: Type 2 (metric is larger than any other link state path)
            .000 0000 = TOS: 0
            Metric: 20
            Forwarding Address: 13.13.13.13
            External Route Tag: 0
上のtshark出力のパケット(No.69 Type 7のLSU)のpcapをダウンロード

バックボーン側のNo.84が、R4が変換して送り出したType 5です。Type 7では0x28(DC+P)だったOptionsが0x20(DCだけ)に変わり、Pビットが落ちています。ネットマスク・メトリック・Forwarding Address・タグはそのまま引き継がれ、Advertising Routerだけが変換したR4に変わります。

No.84 LS Update(R4が変換して出したType 5)tshark -V
Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Update (4)
        Packet Length: 64
        Source OSPF Router: 4.4.4.4
        Area ID: 0.0.0.0 (Backbone)
        Checksum: 0x2c7b [correct]
        Instance ID: Base IPv4 Unicast Instance (0)
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    LS Update Packet
        Number of LSAs: 1
        LSA-type 5 (AS-External-LSA (ASBR)), len 36
            .000 0000 0000 0001 = LS Age (seconds): 1
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x20, (DC) Demand Circuits
                0... .... = DN: Not set
                .0.. .... = (O) Opaque: Not set
                ..1. .... = (DC) Demand Circuits: Supported
                ...0 .... = (L) LLS Data block: Not Present
                .... 0... = (N) NSSA: Not supported
                .... .0.. = (MC) Multicast: Not capable
                .... ..0. = (E) External Routing: Not capable
                .... ...0 = (MT) Multi-Topology Routing: No
            LS Type: AS-External-LSA (ASBR) (5)
            Link State ID: 192.168.13.0
            Advertising Router: 4.4.4.4
            Sequence Number: 0x80000001
            Checksum: 0xba2b
            Length: 36
            Netmask: 255.255.255.0
            1... .... = External Type: Type 2 (metric is larger than any other link state path)
            .000 0000 = TOS: 0
            Metric: 20
            Forwarding Address: 13.13.13.13
            External Route Tag: 0
上のtshark出力のパケット(No.84 変換後のType 5)のpcapをダウンロード

なお5台へのnssaは1台ずつ投入したため、R4に入るまでの数十秒はR3が変換役になっていました(バックボーン側のNo.75がR3のType 5、No.83がその取り消し)。R4にnssaが入った時点でルータIDの大きいR4へ移り、以降は定常状態です。

変換役のABRがいなくなったら(STEP 2)

R4のarea 2の設定そのものを外して、変換役をNSSAから抜きます。

STEP 2で投入した設定
(R4)
router ospf 1
 no area 2

残ったR3が変換役を引き継ぎ、Type 5の広告元が3.3.3.3に変わります。

STEP 2 R2 show ospf database external 192.168.13.0(R3が引き継いだ)
RP/0/RP0/CPU0:R2#show ospf database external 192.168.13.0

Thu Sep 10 04:18:04.074 UTC


            OSPF Router with ID (2.2.2.2) (Process ID 1)

		Type-5 AS External Link States

  Routing Bit Set on this LSA
  LS age: 210
  Options: (No TOS-capability, DC)
  LS Type: AS External Link
  Link State ID: 192.168.13.0 (External Network Number)
  Advertising Router: 3.3.3.3
  LS Seq Number: 80000001
  Checksum: 0xd811
  Length: 36
  Network Mask: /24
	Metric Type: 2 (Larger than any link state path)
	TOS: 0 
	Metric: 20 
	Forward Address: 13.13.13.13
	External Route Tag: 0

RP/0/RP0/CPU0:R2#show route 192.168.13.0/24

Thu Sep 10 04:18:04.691 UTC

Routing entry for 192.168.13.0/24
  Known via "ospf 1", distance 110, metric 20, type extern 2
  Installed Sep 10 04:14:34.913 for 00:03:29
  Routing Descriptor Blocks
    10.0.23.3, from 3.3.3.3, via GigabitEthernet0/0/0/1
      Route metric is 20
  No advertising protos. 

バックボーン側のキャプチャーで交代の時刻を追うと、次の順に並んでいます。commitは13:14:34.556でした。

時刻場所パケット内容
13:14:34.800バックボーンNo.131R4がType 3 ×7とType 5をLS age 3600でフラッシュ
13:14:34.849エリア2No.133R12のRouter-LSAが更新される(R4へのリンクが消えた)
13:14:34.850バックボーンNo.132R4のarea 0のRouter-LSAが再生成される
13:14:34.917バックボーンNo.133R3のType 5(3.3.3.3、LS age 2)

R4のフラッシュからR3の広告まで117ミリ秒、commitからでも0.36秒です。選出そのものに待ち時間はありません。

STEP 2 バックボーン側のLS Update(tshark -t ad、ospf.msg == 4)
  131 2026-09-10 13:14:34.799597    10.0.24.4 → 224.0.0.5    OSPF 294 LS Update
  132 2026-09-10 13:14:34.849737    10.0.24.4 → 224.0.0.5    OSPF 122 LS Update
  133 2026-09-10 13:14:34.916503    10.0.24.2 → 224.0.0.5    OSPF 98 LS Update
  134 2026-09-10 13:14:34.993444    10.0.24.4 → 224.0.0.5    OSPF 258 LS Update
上のtshark出力のパケット(No.133 R3のType 5)のpcapをダウンロード

変換役が戻る(STEP 3)

R4にarea 2の設定を戻すと、ルータIDの大きいR4が変換役に復帰します。

STEP 3で投入した設定
(R4)
router ospf 1
 area 2
  nssa
  interface GigabitEthernet0/0/0/1
   cost 10
   network point-to-point
STEP 3 R2 show ospf database external 192.168.13.0(R4に戻った)
RP/0/RP0/CPU0:R2#show ospf database external 192.168.13.0

Thu Sep 10 04:22:19.323 UTC


            OSPF Router with ID (2.2.2.2) (Process ID 1)

		Type-5 AS External Link States

  Routing Bit Set on this LSA
  LS age: 232
  Options: (No TOS-capability, DC)
  LS Type: AS External Link
  Link State ID: 192.168.13.0 (External Network Number)
  Advertising Router: 4.4.4.4
  LS Seq Number: 80000001
  Checksum: 0xba2b
  Length: 36
  Network Mask: /24
	Metric Type: 2 (Larger than any link state path)
	TOS: 0 
	Metric: 20 
	Forward Address: 13.13.13.13
	External Route Tag: 0

RP/0/RP0/CPU0:R2#show route 192.168.13.0/24

Thu Sep 10 04:22:19.875 UTC

Routing entry for 192.168.13.0/24
  Known via "ospf 1", distance 110, metric 20, type extern 2
  Installed Sep 10 04:18:28.336 for 00:03:51
  Routing Descriptor Blocks
    10.0.23.3, from 4.4.4.4, via GigabitEthernet0/0/0/1
      Route metric is 20
  No advertising protos. 

commitは13:18:16.702でした。

時刻場所パケット内容
13:18:17.085バックボーンNo.184R4のarea 0のRouter-LSAが再生成される
13:18:23.603エリア2No.184R4のarea 2のRouter-LSAがエリア2に現れる
13:18:28.329バックボーンNo.193R3が自分のType 5を取り消す(LS age 3600)
13:18:28.335バックボーンNo.194R4がType 5を作り直す(LS age 1)

R4がエリア2で見えるようになってからR3の取り下げまで4.7秒、R4の再生成とは6ミリ秒差です。RFC 3101が定めるTranslatorStabilityInterval(既定40秒)に相当する待ちは、XRd 26.1.1では観測できませんでした。

STEP 3 バックボーン側のLS Update(tshark -t ad、ospf.msg == 4)
  184 2026-09-10 13:18:17.084675    10.0.24.4 → 224.0.0.5    OSPF 122 LS Update
  185 2026-09-10 13:18:17.119971    10.0.24.4 → 224.0.0.5    OSPF 90 LS Update
  186 2026-09-10 13:18:17.392864    10.0.24.4 → 224.0.0.5    OSPF 90 LS Update
  190 2026-09-10 13:18:23.796171    10.0.24.4 → 224.0.0.5    OSPF 230 LS Update
  193 2026-09-10 13:18:28.328734    10.0.24.2 → 224.0.0.5    OSPF 98 LS Update
  194 2026-09-10 13:18:28.334724    10.0.24.4 → 224.0.0.5    OSPF 98 LS Update
上のtshark出力のパケット(No.193 R3の取り消し)のpcapをダウンロード

translate type7 alwaysを入れる(STEP 4・5)

ルータIDの小さいR3にnssa translate type7 alwaysを入れて、R4から変換役を奪えるかを見ます。

STEP 4で投入した設定
(R3)
router ospf 1
 area 2
  nssa translate type7 always

R3のshow ospfにはalwaysと出ます。しかしR4の表示は変わりません。

STEP 4 R3 show ospf(Area 2の部分)
    Area 2
	Number of interfaces in this area is 1
	It is a NSSA area
        Perform type-7/type-5 LSA translation always
STEP 4 R4 show ospf(Area 2の部分)
    Area 2
	Number of interfaces in this area is 1
	It is a NSSA area
        Perform type-7/type-5 LSA translation

Type 5の広告元も4.4.4.4のままで、LS ageが伸び続けるだけです(約2分維持して確認)。R3がNtビットを立てたかはRouter-LSAで分かりますが、R13のLSDBにあるR3のRouter-LSAはLS Seq Number: 80000004のまま変わらず、エリア2側のキャプチャーにもcommit(13:22:31)以降にR3のRouter-LSAを含むLS Updateは1つもありません。R3はRouter-LSAを再生成しておらず、Ntビットは立っていません。

STEP 4 R13 show ospf database router 3.3.3.3 / show ospf database external
RP/0/RP0/CPU0:R13#show ospf database router 3.3.3.3

Thu Sep 10 04:26:17.860 UTC


            OSPF Router with ID (13.13.13.13) (Process ID 1)

		Router Link States (Area 2)

  Routing Bit Set on this LSA
  LS age: 946
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 3.3.3.3
  Advertising Router: 3.3.3.3
  LS Seq Number: 80000004
  Checksum: 0x74db
  Length: 48
  Area Border Router
  AS Boundary Router
   Number of Links: 2

    Link connected to: another Router (point-to-point)
     (Link ID) Neighboring Router ID: 11.11.11.11
     (Link Data) Router Interface address: 172.16.3.3
      Number of TOS metrics: 0
       TOS 0 Metrics: 1

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 172.16.3.0
     (Link Data) Network Mask: 255.255.255.0
      Number of TOS metrics: 0
       TOS 0 Metrics: 1


RP/0/RP0/CPU0:R13#show ospf database external

Thu Sep 10 04:26:18.489 UTC


            OSPF Router with ID (13.13.13.13) (Process ID 1)

RFC 3101のAlways(Ntビットで他のABRを降ろす)とは違う動きです。XRd 26.1.1では設定として受け付けられshow ospfに表示されるものの、ルータIDの大きいR4が選出されている間はR3を変換役にしませんでした。理由は追えていないので、観測できた事実として記録しておきます。STEP 5で設定を外しても変化はありません。

STEP 5で投入した設定
(R3)
router ospf 1
 area 2
  no nssa translate type7 always
  nssa

NSSAにデフォルト経路を入れる(STEP 6)

STEP 1で見たとおり、IOS XRではNSSAに既定でデフォルト経路が入りません。入れるにはABRで明示的に設定します。

STEP 6で投入した設定
(R3・R4のABR 2台)
router ospf 1
 area 2
  nssa default-information-originate

R13に0.0.0.0/0が現れます。スタブエリアのときはO*IA(Type 3のエリア間経路)でしたが、NSSAではO*N2(NSSA外部経路のタイプ2)になります。デフォルト経路もType 7で運ばれます。広告元のOptionsがNo Type 7/5 translation(Pビットなし)になっているのもポイントで、ABRが出したデフォルトはバックボーンへ変換・伝播されません。

STEP 6 R13 show route 0.0.0.0/0 / show ospf database nssa-external 0.0.0.0 / ping
RP/0/RP0/CPU0:R13#show route 0.0.0.0/0

Thu Sep 10 04:36:59.774 UTC

Routing entry for 0.0.0.0/0
  Known via "ospf 1", distance 110, metric 1, candidate default path, type NSSA extern 2
  Installed Sep 10 04:35:46.254 for 00:01:13
  Routing Descriptor Blocks
    10.1.11.11, from 3.3.3.3, via GigabitEthernet0/0/0/0
      Route metric is 1
  No advertising protos. 
RP/0/RP0/CPU0:R13#show ospf database nssa-external 0.0.0.0

Thu Sep 10 04:36:59.959 UTC


            OSPF Router with ID (13.13.13.13) (Process ID 1)

		Type-7 AS External Link States (Area 2)

  Routing Bit Set on this LSA
  LS age: 76
  Options: (No TOS-capability, No Type 7/5 translation, DC)
  LS Type: AS External Link
  Link State ID: 0.0.0.0 (External Network Number)
  Advertising Router: 3.3.3.3
  LS Seq Number: 80000001
  Checksum: 0xb2f2
  Length: 36
  Network Mask: /0
	Metric Type: 2 (Larger than any link state path)
	TOS: 0 
	Metric: 1 
	Forward Address: 0.0.0.0
	External Route Tag: 0

  LS age: 64
  Options: (No TOS-capability, No Type 7/5 translation, DC)
  LS Type: AS External Link
  Link State ID: 0.0.0.0 (External Network Number)
  Advertising Router: 4.4.4.4
  LS Seq Number: 80000001
  Checksum: 0x940d
  Length: 36
  Network Mask: /0
	Metric Type: 2 (Larger than any link state path)
	TOS: 0 
	Metric: 1 
	Forward Address: 0.0.0.0
	External Route Tag: 0

RP/0/RP0/CPU0:R13#ping 192.168.1.1 source 13.13.13.13

Thu Sep 10 04:37:00.546 UTC
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1 timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 13/15/18 ms
RP/0/RP0/CPU0:R13#traceroute 192.168.1.1 source 13.13.13.13

Thu Sep 10 04:37:01.408 UTC

Type escape sequence to abort.
Tracing the route to 192.168.1.1

 1  10.1.11.11 6 msec  4 msec  5 msec 
 2  172.16.3.3 9 msec  7 msec  7 msec 
 3  10.0.23.2 12 msec  9 msec  9 msec 
 4  10.0.12.1 14 msec  *  13 msec 

エリア2側のキャプチャーのNo.406が、R3が出したType 7のデフォルトです。Optionsが0x20で、内訳も(DC)だけ・(P) Propagate: Not setとなり、Pビットが落ちていることが分かります。

No.406 LS Update(R3が出したType 7のデフォルト)tshark -V
Open Shortest Path First
    OSPF Header
        Version: 2
        Message Type: LS Update (4)
        Packet Length: 64
        Source OSPF Router: 11.11.11.11
        Area ID: 0.0.0.2
        Checksum: 0x0e7a [correct]
        Instance ID: Base IPv4 Unicast Instance (0)
        Auth Type: Null (0)
        Auth Data (none): 0000000000000000
    LS Update Packet
        Number of LSAs: 1
        LSA-type 7 (NSSA AS-External-LSA), len 36
            .000 0000 0000 0010 = LS Age (seconds): 2
            0... .... .... .... = Do Not Age Flag: 0
            Options: 0x20, (DC) Demand Circuits
                0... .... = DN: Not set
                .0.. .... = (O) Opaque: Not set
                ..1. .... = (DC) Demand Circuits: Supported
                ...0 .... = (L) LLS Data block: Not Present
                .... 0... = (P) Propagate: Not set
                .... .0.. = (MC) Multicast: Not capable
                .... ..0. = (E) External Routing: Not capable
                .... ...0 = (MT) Multi-Topology Routing: No
            LS Type: NSSA AS-External-LSA (7)
            Link State ID: 0.0.0.0
            Advertising Router: 3.3.3.3
            Sequence Number: 0x80000001
            Checksum: 0xb2f2
            Length: 36
            Netmask: 0.0.0.0
            1... .... = External Type: Type 2 (metric is larger than any other link state path)
            .000 0000 = TOS: 0
            Metric: 1
            Forwarding Address: 0.0.0.0
            External Route Tag: 0
上のtshark出力のパケット(No.406 Type 7のデフォルト)のpcapをダウンロード

トータリーNSSAにする(STEP 7)

ABRにno-summaryを足すと、Type 3も止まります。

STEP 7で投入した設定
(R3・R4のABR 2台)
router ospf 1
 area 2
  nssa no-summary

エリア間経路が消え、デフォルト経路はType 3のO*IAに変わります(トータリースタブと同じ形です)。R13自身が出しているType 7はそのまま残る点が、トータリースタブとの違いです。

STEP 7 R13 show route ospf / show ospf database(トータリーNSSA)
RP/0/RP0/CPU0:R13#show route ospf

Thu Sep 10 04:41:10.610 UTC

O*IA 0.0.0.0/0 [110/3] via 10.1.11.11, 00:01:07, GigabitEthernet0/0/0/0
O    11.11.11.11/32 [110/2] via 10.1.11.11, 00:30:17, GigabitEthernet0/0/0/0
O    12.12.12.12/32 [110/2] via 10.1.12.12, 00:30:16, GigabitEthernet0/0/0/1
O    172.16.3.0/24 [110/2] via 10.1.11.11, 00:30:17, GigabitEthernet0/0/0/0
O    172.16.4.0/24 [110/11] via 10.1.12.12, 00:30:16, GigabitEthernet0/0/0/1
RP/0/RP0/CPU0:R13#show ospf database

Thu Sep 10 04:41:10.948 UTC


            OSPF Router with ID (13.13.13.13) (Process ID 1)

		Router Link States (Area 2)

Link ID         ADV Router      Age         Seq#       Checksum Link count
3.3.3.3         3.3.3.3         1839        0x80000004 0x0074db 2
4.4.4.4         4.4.4.4         1369        0x80000005 0x002a04 2
11.11.11.11     11.11.11.11     1819        0x80000007 0x006af4 5
12.12.12.12     12.12.12.12     1368        0x80000009 0x000a2b 5
13.13.13.13     13.13.13.13     1817        0x80000007 0x00373f 5

		Summary Net Link States (Area 2)

Link ID         ADV Router      Age         Seq#       Checksum
0.0.0.0         3.3.3.3         70          0x80000001 0x00de4b
0.0.0.0         4.4.4.4         60          0x80000001 0x00c065

		Type-7 AS External Link States (Area 2)

Link ID         ADV Router      Age         Seq#       Checksum Tag
192.168.13.0    13.13.13.13     1825        0x80000001 0x0017a0 0
RP/0/RP0/CPU0:R13#show route 0.0.0.0/0

Thu Sep 10 04:41:11.611 UTC

Routing entry for 0.0.0.0/0
  Known via "ospf 1", distance 110, metric 3, candidate default path, type inter area
  Installed Sep 10 04:40:03.077 for 00:01:08
  Routing Descriptor Blocks
    10.1.11.11, from 3.3.3.3, via GigabitEthernet0/0/0/0
      Route metric is 3
  No advertising protos. 
RP/0/RP0/CPU0:R13#ping 192.168.1.1 source 13.13.13.13

Thu Sep 10 04:41:11.753 UTC
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1 timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/13/15 ms

復旧(STEP 8)

no-summaryを外して、NSSA+デフォルト経路の状態に戻します。IOS XRではnssaの後ろに書くキーワードが上書きになるため、nssa default-information-originateを投入するとno-summaryが外れます。

STEP 8で投入した設定(最終状態)
(R3・R4のABR 2台)
router ospf 1
 area 2
  nssa default-information-originate
STEP 8 R13 show route ospf / show route 0.0.0.0/0 / ping(復旧後)
RP/0/RP0/CPU0:R13#show route ospf

Thu Sep 10 04:45:12.151 UTC

O*N2 0.0.0.0/0 [110/1] via 10.1.11.11, 00:00:58, GigabitEthernet0/0/0/0
O IA 1.1.1.1/32 [110/5] via 10.1.11.11, 00:01:08, GigabitEthernet0/0/0/0
O IA 2.2.2.2/32 [110/4] via 10.1.11.11, 00:01:08, GigabitEthernet0/0/0/0
O IA 3.3.3.3/32 [110/3] via 10.1.11.11, 00:01:08, GigabitEthernet0/0/0/0
O IA 4.4.4.4/32 [110/5] via 10.1.11.11, 00:01:08, GigabitEthernet0/0/0/0
O IA 10.0.12.0/24 [110/4] via 10.1.11.11, 00:01:08, GigabitEthernet0/0/0/0
O IA 10.0.23.0/24 [110/3] via 10.1.11.11, 00:01:08, GigabitEthernet0/0/0/0
O IA 10.0.24.0/24 [110/4] via 10.1.11.11, 00:01:08, GigabitEthernet0/0/0/0
O    11.11.11.11/32 [110/2] via 10.1.11.11, 00:34:18, GigabitEthernet0/0/0/0
O    12.12.12.12/32 [110/2] via 10.1.12.12, 00:34:18, GigabitEthernet0/0/0/1
O    172.16.3.0/24 [110/2] via 10.1.11.11, 00:34:18, GigabitEthernet0/0/0/0
O    172.16.4.0/24 [110/11] via 10.1.12.12, 00:34:18, GigabitEthernet0/0/0/1
RP/0/RP0/CPU0:R13#show route 0.0.0.0/0

Thu Sep 10 04:45:12.348 UTC

Routing entry for 0.0.0.0/0
  Known via "ospf 1", distance 110, metric 1, candidate default path, type NSSA extern 2
  Installed Sep 10 04:44:13.334 for 00:00:59
  Routing Descriptor Blocks
    10.1.11.11, from 3.3.3.3, via GigabitEthernet0/0/0/0
      Route metric is 1
  No advertising protos. 
RP/0/RP0/CPU0:R13#ping 192.168.1.1 source 13.13.13.13

Thu Sep 10 04:45:12.511 UTC
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1 timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/14/17 ms
RP/0/RP0/CPU0:R13#traceroute 192.168.1.1 source 13.13.13.13

Thu Sep 10 04:45:13.309 UTC

Type escape sequence to abort.
Tracing the route to 192.168.1.1

 1  10.1.11.11 6 msec  5 msec  5 msec 
 2  172.16.3.3 11 msec  7 msec  7 msec 
 3  10.0.23.2 10 msec  9 msec  11 msec 
 4  10.0.12.1 13 msec  *  19 msec 

LSDBはどう変わったか

R13から見たarea 2のLSDBを、各状態で数えると次のようになります。

状態Router(Type 1)Summary(Type 3)ASBR Summary(Type 4)External(Type 5)NSSA External(Type 7)合計OSPF経路
通常エリア(STEP 0)5142202312
NSSA(STEP 1)5140012011
NSSA+デフォルト(STEP 6)5140032212
トータリーNSSA(STEP 7)52(デフォルト)00185

NSSAにしただけでは、Type 4とType 5が消える一方でType 7が残るため、LSAの数はあまり変わりません。大きく減るのはトータリーNSSAで、23件が8件になります。

スタブエリアとの違い

項目スタブエリアNSSA
エリア内にASBRを置けるか置けない置ける(Type 7で運ぶ)
外部経路の持ち出し不可ABRがType 7 → Type 5へ変換して持ち出す
デフォルト経路ABRが自動で入れる(Type 3)明示設定が必要(Type 7。no-summaryのときはType 3)
show routeの表示O*IA 0.0.0.0/0O*N2 0.0.0.0/0
OptionsのEビット00
OptionsのNビット01

デフォルト経路が自動で入らないという違いが実運用では一番効きます。スタブと同じつもりでNSSAにすると、そのエリアから外部へ出られなくなります(STEP 1で再現したとおりです)。

IOS XRの設定コマンド

コマンド入れる場所意味
area <ID> 配下のnssaそのエリアに接続する全ルータエリアをNSSAにする。1台でも漏れるとNビット不一致で隣接が確立しない
nssa default-information-originateABRだけデフォルト経路をType 7で注入する
nssa no-summaryABRだけType 3も止める(トータリーNSSA)。デフォルトはType 3で入る
nssa translate type7 alwaysABRだけRFC 3101のNSSATranslatorRole = Always。XRd 26.1.1では表示以外の変化を観測できなかった
設定例(ABRのR3。NSSA+デフォルト経路)
router ospf 1
 area 2
  nssa default-information-originate
  interface GigabitEthernet0/0/0/1
   network point-to-point
  !
 !
!

IOS XRではnssaの後ろのキーワードが上書きになります。nssa no-summaryを入れるとnssa default-information-originateは消え、逆も同様です(show running-configで確認できます)。IOS XEではarea <ID> nssa [no-summary] [default-information-originate]のように併記します。設定例はIOS XR OSPF NSSA設定(nssa / totally nssa)を参照してください。

検証Configおよびshow結果

各STEPで7台すべてから、次の3種類をルータごとに分けて取得しています。検証Configはこの..._run.txtです(最終状態はSTEP 8のもの)。

ファイル内容
..._show.txtshow version / show interface description / show route / show route ospf / show ospf / show ospf interface / show ospf interface brief / show ospf neighbor / show ospf neighbor detail / show ospf database / show ospf database router / show ospf database network / show ospf statistics interface / show ospf database nssa-external / show ospf database external / show ospf database summary / show ospf database asbr-summary / show ospf border-routers / show ospf routes / show route 0.0.0.0/0 / show route 192.168.1.0/24 / show route 192.168.13.0/24 / show ospf trace events
..._log.txtそのSTEPの範囲だけに絞ったshow logging。各STEPの開始時にlogmsgでマーカーを入れ、その時刻をshow logging startに指定して取得したもの
..._run.txtそのSTEP時点のshow running-config(=そのSTEPの検証Config)

最終状態はarea 2がNSSA(ABRにnssa default-information-originate、内部ルータにnssa)です。

STEP 0:通常エリア(NSSAにする前) — R13の外部経路がType 5でAS全体に流れている

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR13 の show route / ping / traceroute、R1 の show route / ping / tracerouteも取得しています。

STEP 1:area 2の5台にnssa — Type 5がType 7に変わり、外部経路が入らなくなる(デフォルトも無い)

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR13 の show ospf database nssa-external ほか、R13 の show route / ping、R2 の show ospf database external 192.168.13.0も取得しています。

STEP 2:R4でno area 2 — 変換役がR3へ移る

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR2 の show ospf database external 192.168.13.0も取得しています。

STEP 3:R4のarea 2の設定を戻す — 変換役がR4へ戻る

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR2 の show ospf database external 192.168.13.0も取得しています。

STEP 4:R3にnssa translate type7 always — 変換役はR4のまま変わらない

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR13 の show ospf database router 3.3.3.3 ほかも取得しています。

STEP 5:translate type7 alwaysを外す — 変化なし

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

STEP 6:ABR 2台にnssa default-information-originate — O*N2 0.0.0.0/0が入り外部へ出られる

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR13 の show route 0.0.0.0/0 ほかも取得しています。

STEP 7:ABR 2台にnssa no-summary(トータリーNSSA) — Type 3が消え、デフォルトはO*IAに

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR13 の show route ospf / show ospf databaseも取得しています。

STEP 8:no-summaryを外す(最終状態) — NSSA+デフォルト経路

ルータshow出力syslogrunning-config
R1showlogrun
R2showlogrun
R3showlogrun
R4showlogrun
R11showlogrun
R12showlogrun
R13showlogrun

このSTEPではR13 の show route ospf / ping、R1 の show route 192.168.13.0/24 / pingも取得しています。

キャプチャーはエリア2内(R11 - R13間)とバックボーン側(R2 - R4間)で、全STEPを通して取得しました(フィルタはip proto 89)。

エリア2側(R11 - R13間)のキャプチャーをダウンロード

バックボーン側(R2 - R4間)のキャプチャーをダウンロード

参考

RFCタイトル概要
RFC 3101The OSPF Not-So-Stubby Area (NSSA) OptionNSSAの仕様。Nビット(Section 2.1)、Type 7とForwarding Address(Section 2.3)、Pビット(Section 2.4)、変換役の選出・NSSATranslatorRole・TranslatorStabilityInterval(Section 3.1)、変換の手順(Section 3.2)。
RFC 2328OSPF Version 2スタブエリアの定義(Section 3.6)とOptionsフィールド(Appendix A.2)。

関連記事