本記事では「NSSA(Not-So-Stubby Area)」の設定及び正常性確認に関する検証結果をご紹介させて頂きます。
>>参考記事: 「CCIEが語る!ネットワークエンジニアにオススメな本・参考書!」
>>参考記事: 「[まとめ] OSPF 基礎〜応用・検証結果の記事をまとめました!」
【OSPF NSSA 検証】検証内容
設定要件及び検証ネットワークは以下の通りです。
ネットワーク図
検証時のネットワーク環境は以下の通りです。
設定要件
以下の要件に基づきOSPFの設定を実装する。
- R2-R4(エリア1)をNSSAにする事
- R4のLoopback10(Lo10:10.10.10.10)をOSPFネットワークへ再配布する事
- R4(Lo0:10.10.10.10)からREX(Lo0:100.100.100.100)へPingが通る事
検証時の確認ポイント
最初に検証時の確認ポイントを整理しておきます。
- NSSA内に伝搬されるLSAの確認
※ Type4,5がフィルターされ、Type7が生成されている事 - NSSA内ルータのルーティングテーブルの確認
※ABRでType7のデフォルトルートが自動生成される事
【OSPF NSSA 検証】事前確認 ※興味ない方は飛ばしてOKです。
本検証ネットワークのOSPFステータスを以下に纏めております。
興味のない方は「4章:設定変更作業から」をクリックして下さい。
検証前時点の各機器の設定内容やログは以下の通りです。
・「show ip ospf interface brief」コマンドで各OSPFインターフェース情報を出力しております。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | R1#show ip ospf interface brief Interface PID Area IP Address/Mask Cost State Nbrs F/C Lo0 1 0 1.1.1.1/24 1 LOOP 0/0 Et0/0 1 0 192.168.12.1/24 10 BDR 1/1 Et0/1 1 0 192.168.13.1/24 10 BDR 1/1 R2#show ip ospf interface brief Interface PID Area IP Address/Mask Cost State Nbrs F/C Lo0 1 0 2.2.2.2/24 1 LOOP 0/0 Et0/0 1 0 192.168.12.2/24 10 DR 1/1 Et0/1 1 1 192.168.24.1/24 10 BDR 1/1 R3#show ip ospf interface brief Interface PID Area IP Address/Mask Cost State Nbrs F/C Lo0 1 0 3.3.3.3/24 1 LOOP 0/0 Et0/1 1 0 192.168.13.2/24 10 DR 1/1 Et0/0 1 2 192.168.35.1/24 10 BDR 1/1 R4#show ip ospf interface brief Interface PID Area IP Address/Mask Cost State Nbrs F/C Lo0 1 1 4.4.4.4/24 1 LOOP 0/0 Et0/1 1 1 192.168.24.2/24 10 DR 1/1 R5#show ip ospf interface brief Interface PID Area IP Address/Mask Cost State Nbrs F/C Lo0 1 2 5.5.5.5/24 1 LOOP 0/0 Et0/0 1 2 192.168.35.2/24 10 DR 1/1 |
・「show ip ospf neighbor」コマンドでネイバー状態を出力しております。
以下の通り、全ルータ間でOSPFネイバーが確立出来ている事が確認できると思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | R1#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 1 FULL/DR 00:00:38 192.168.12.2 Ethernet0/0 3.3.3.3 1 FULL/DR 00:00:39 192.168.13.2 Ethernet0/1 R2#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 1.1.1.1 1 FULL/BDR 00:00:38 192.168.12.1 Ethernet0/0 4.4.4.4 1 FULL/DR 00:00:36 192.168.24.2 Ethernet0/1 R3#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 1.1.1.1 1 FULL/BDR 00:00:37 192.168.13.1 Ethernet0/1 5.5.5.5 1 FULL/DR 00:00:37 192.168.35.2 Ethernet0/0 R4#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 1 FULL/BDR 00:00:34 192.168.24.1 Ethernet0/1 R5#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 3.3.3.3 1 FULL/BDR 00:00:31 192.168.35.1 Ethernet0/0 |
・R2とR4、R5の「show ip route ospf」コマンドでルーティングテーブルを出力しております。
以下の通り、各OSPF経路・外部経路(非OSPF経路)を受信出来ている事が確認できると思います。
▼ R2のルーティングテーブル▼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | R2#show ip route ospf | begin Gateway Gateway of last resort is not set 1.0.0.0/32 is subnetted, 1 subnets O 1.1.1.1 [110/11] via 192.168.12.1, 00:00:34, Ethernet0/0 3.0.0.0/32 is subnetted, 1 subnets O 3.3.3.3 [110/21] via 192.168.12.1, 00:00:34, Ethernet0/0 4.0.0.0/32 is subnetted, 1 subnets O 4.4.4.4 [110/11] via 192.168.24.2, 00:00:24, Ethernet0/1 5.0.0.0/32 is subnetted, 1 subnets O IA 5.5.5.5 [110/31] via 192.168.12.1, 00:00:34, Ethernet0/0 100.0.0.0/32 is subnetted, 1 subnets O E2 100.100.100.100 [110/20] via 192.168.12.1, 00:00:34, Ethernet0/0 O E2 192.168.0.0/24 [110/20] via 192.168.12.1, 00:00:34, Ethernet0/0 O 192.168.13.0/24 [110/20] via 192.168.12.1, 00:00:34, Ethernet0/0 O IA 192.168.35.0/24 [110/30] via 192.168.12.1, 00:00:34, Ethernet0/0 |
▼ R4のルーティングテーブル▼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | R4#show ip route ospf | begin Gateway Gateway of last resort is not set 1.0.0.0/32 is subnetted, 1 subnets O IA 1.1.1.1 [110/21] via 192.168.24.1, 00:00:06, Ethernet0/1 2.0.0.0/32 is subnetted, 1 subnets O IA 2.2.2.2 [110/11] via 192.168.24.1, 00:00:06, Ethernet0/1 3.0.0.0/32 is subnetted, 1 subnets O IA 3.3.3.3 [110/31] via 192.168.24.1, 00:00:06, Ethernet0/1 5.0.0.0/32 is subnetted, 1 subnets O IA 5.5.5.5 [110/41] via 192.168.24.1, 00:00:06, Ethernet0/1 100.0.0.0/32 is subnetted, 1 subnets O E2 100.100.100.100 [110/20] via 192.168.24.1, 00:00:06, Ethernet0/1 O E2 192.168.0.0/24 [110/20] via 192.168.24.1, 00:00:06, Ethernet0/1 O IA 192.168.12.0/24 [110/20] via 192.168.24.1, 00:00:06, Ethernet0/1 O IA 192.168.13.0/24 [110/30] via 192.168.24.1, 00:00:06, Ethernet0/1 O IA 192.168.35.0/24 [110/40] via 192.168.24.1, 00:00:06, Ethernet0/1 |
▼ R5のルーティングテーブル▼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | R5#show ip route ospf | begin Gateway Gateway of last resort is not set 1.0.0.0/32 is subnetted, 1 subnets O IA 1.1.1.1 [110/21] via 192.168.35.1, 1d09h, Ethernet0/0 2.0.0.0/32 is subnetted, 1 subnets O IA 2.2.2.2 [110/31] via 192.168.35.1, 1d04h, Ethernet0/0 3.0.0.0/32 is subnetted, 1 subnets O IA 3.3.3.3 [110/11] via 192.168.35.1, 1d09h, Ethernet0/0 4.0.0.0/32 is subnetted, 1 subnets O IA 4.4.4.4 [110/41] via 192.168.35.1, 00:00:12, Ethernet0/0 O IA 192.168.12.0/24 [110/30] via 192.168.35.1, 1d09h, Ethernet0/0 O IA 192.168.13.0/24 [110/20] via 192.168.35.1, 1d09h, Ethernet0/0 O IA 192.168.24.0/24 [110/40] via 192.168.35.1, 1d04h, Ethernet0/0 |
NSSAの設定をした場合、上記「R4のルーティングテーブル」が変わります。
具体的にどのように変わるかを確認していきましょう!
【OSPF NSSA 検証】設定変更作業
では、以下にてNSSAの設定を実装していきます。
- R2のエリア1をNSSAにする
- R4のエリア1をNSSAにする
- R4のLoopback10(Lo10:10.10.10.10)をOSPFネットワークへ再配布する
1 2 | R2(config)# router ospf 1 R2(config-router)# area 1 nssa default-information-originate |
スタブエリア、トータリーNSSAではデフォルトルートの生成は自動(設定不要)で広報されますが、
NSSAでは手動設定(area nssa default-information originateコマンドで設定)する必要がございます。
1 2 | R4(config)# router ospf 1 R4(config-router)# area 1 nssa |
1 2 3 4 5 | R4(config)# route-map Loopback->OSPF permit 10 R4(config-route-map)# match interface Loopback10 R4(config)# router ospf 1 R4(config-router)# redistribute connected subnets route-map Loopback->OSPF |
【OSPF NSSA 検証】正常性確認
では以下の2点について確認してみましょう!
- NSSA内に伝搬されるLSAの確認
※ Type4,5がフィルターされ、Type7が生成されている事 - NSSA内ルータのルーティングテーブルの確認
※ABRでType7のデフォルトルートが自動生成される事
【正常性確認①】NSSA内に伝搬されるLSAの確認
・NSSAのルータであるR4の設定前後でOSPFデータベースの差分を確認し、LSA Type4〜5のLSAがフィルターされている事を確認します。
まずはNSSAの設定前のOSPFデータベースを確認します。
以下の通りLSA Type 3〜5を受信しているのが、分かると思います。
▼ 【設定前】R4のOSPFデータベース▼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | // ※LSA type3、4、5、7のみ抜粋しております R4#show ip ospf database | begin Summary Net Link Summary Net Link States (Area 1) Link ID ADV Router Age Seq# Checksum 1.1.1.1 2.2.2.2 41 0x80000004 0x00879B // ← エリア外経路(Type3)として受信 2.2.2.2 2.2.2.2 41 0x80000004 0x00F434 // ← エリア外経路(Type3)として受信 3.3.3.3 2.2.2.2 41 0x80000004 0x008F81 // ← エリア外経路(Type3)として受信 5.5.5.5 2.2.2.2 41 0x80000004 0x009767 // ← エリア外経路(Type3)として受信 192.168.12.0 2.2.2.2 41 0x80000004 0x00753D // ← エリア外経路(Type3)として受信 192.168.13.0 2.2.2.2 41 0x80000004 0x00CED8 // ← エリア外経路(Type3)として受信 192.168.35.0 2.2.2.2 41 0x80000004 0x004047 // ← エリア外経路(Type3)として受信 Summary ASB Link States (Area 1) Link ID ADV Router Age Seq# Checksum 5.5.5.5 2.2.2.2 41 0x80000001 0x00857C // ← ASBR情報(Type4)として受信 Type-5 AS External Link States Link ID ADV Router Age Seq# Checksum Tag 100.100.100.100 5.5.5.5 1729 0x80000040 0x00C8F2 0 // ← 外部経路(非OSPF経路)をType5として受信 192.168.0.0 5.5.5.5 1729 0x8000003C 0x0029BE 0 // ← 外部経路(非OSPF経路)をType5として受信 |
次にNSSAの設定後のOSPFデータベースを確認します。
以下の通りLSA Type 4とLSA Type 5がフィルターされている事が分かると思います。
それは「NSSA」はLSA Type1~3,7のみ伝播可能なOSPFの特殊エリアなので、R2(ABR)がLSA Type 4とLSA Type 5の伝搬を止めているからです。
また、R2(ABR)ではLSA Type5の代わりにLSA Type7のデフォルトルート(0.0.0.0)をNSSA内に伝搬している点も確認出来ると思います。
R4(ASBR)で再配布しているLoopback10(10.10.10.10)のLSAはLSA Type5でなくLSA Type7で生成している点も確認しましょう!
▼ 【設定後】R4のOSPFデータベース▼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // ※LSA type3、4、5、7のみ抜粋しております R4#show ip ospf database | begin Summary Net Link Summary Net Link States (Area 1) Link ID ADV Router Age Seq# Checksum 1.1.1.1 2.2.2.2 178 0x80000005 0x002BF0 2.2.2.2 2.2.2.2 178 0x80000005 0x009889 3.3.3.3 2.2.2.2 178 0x80000005 0x0033D6 5.5.5.5 2.2.2.2 178 0x80000005 0x003BBC 192.168.12.0 2.2.2.2 178 0x80000005 0x001992 192.168.13.0 2.2.2.2 178 0x80000005 0x00722E 192.168.35.0 2.2.2.2 178 0x80000005 0x00E39C // ← 外部経路(LSA Type 4とLSA Type 5)が消えている!以下のLSA Type7のデフォルトルート(0.0.0.0)に集約されている。 Type-7 AS External Link States (Area 1) Link ID ADV Router Age Seq# Checksum Tag 0.0.0.0 2.2.2.2 178 0x80000001 0x00D0D8 0 // ← 外部ルートの代わりにLSA Type7のデフォルトルート(0.0.0.0)が増えている。 10.10.10.10 4.4.4.4 122 0x80000001 0x00D578 0 // ← R4のLo10(10.10.10.10)はLSA Type7として生成されている。 |
参考までにLSA Type5の代わりに生成されたLSA Type7のデフォルトルート(0.0.0.0)とR4のLoopback経路(10.10.10.10)を「show ip ospf database nssa-external 0.0.0.0」「show ip ospf database nssa-external 10.10.10.10」コマンドで確認してみましょう!
以下の通り、R2(ABR)でデフォルトルートをLSA Type7を生成し、R4(ASBR)でLoopback経路(10.10.10.10)をLSA Type7で生成している事が分かると思います。
▼ OSPFデータベース LSA Type7(0.0.0.0)▼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | R4#show ip ospf database nssa-external 0.0.0.0 OSPF Router with ID (4.4.4.4) (Process ID 1) Type-7 AS External Link States (Area 1) Routing Bit Set on this LSA in topology Base with MTID 0 LS age: 980 Options: (No TOS-capability, No Type 7/5 translation, DC, Upward) LS Type: AS External Link Link State ID: 0.0.0.0 (External Network Number ) // ← ネットワークアドレス(デフォルトルートなので0.0.0.0) Advertising Router: 2.2.2.2 // ← このデフォルトルートのLSAはR2(ルーターID:2.2.2.2)が生成した事を意味する。 LS Seq Number: 80000001 Checksum: 0xD0D8 Length: 36 Network Mask: /0 Metric Type: 2 (Larger than any link state path) // ← メトリックタイプ(2:非コスト加算型) MTID: 0 Metric: 1 // ← 非OSPF経路のコスト値 Forward Address: 0.0.0.0 // ← サブネットマスク(デフォルトルートなので/0) External Route Tag: 0 |
▼ OSPFデータベース LSA Type7(10.10.10.10)▼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | R4#show ip ospf database nssa-external 10.10.10.10 OSPF Router with ID (4.4.4.4) (Process ID 1) Type-7 AS External Link States (Area 1) LS age: 1037 Options: (No TOS-capability, Type 7/5 translation, DC, Upward) LS Type: AS External Link Link State ID: 10.10.10.10 (External Network Number ) // ← ネットワークアドレス(デフォルトルートなので0.0.0.0) Advertising Router: 4.4.4.4 // ← 10.10.10.10のLSAはR4(ルーターID:4.4.4.4)が生成した事を意味する。 LS Seq Number: 80000001 Checksum: 0xD578 Length: 36 Network Mask: /32 // ← サブネットマスク Metric Type: 2 (Larger than any link state path) // ← メトリックタイプ(2:非コスト加算型) MTID: 0 Metric: 20 // ← 非OSPF経路のコスト値 Forward Address: 4.4.4.4 // ← 非OSPF経路の転送先アドレス (Type7の場合、ASBRのLoopbackアドレスが入る為、R4のLo0の値が入る) External Route Tag: 0 |
【正常性確認②】NSSA内ルータのルーティングテーブルの確認
・R4の設定前後でルーティングテーブルの差分を確認し、どのように変わっているか確認します。
まずはNSSAの設定前のルーティングテーブルを確認します。
以下の通り外部経路として(100.100.100.100,192.168.0.0)を受信しているのが、分かると思います。
▼ R4のルーティングテーブル▼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | R4#show ip route ospf | begin Gateway Gateway of last resort is not set 1.0.0.0/32 is subnetted, 1 subnets O IA 1.1.1.1 [110/21] via 192.168.24.1, 00:05:04, Ethernet0/1 2.0.0.0/32 is subnetted, 1 subnets O IA 2.2.2.2 [110/11] via 192.168.24.1, 00:05:04, Ethernet0/1 3.0.0.0/32 is subnetted, 1 subnets O IA 3.3.3.3 [110/31] via 192.168.24.1, 00:05:04, Ethernet0/1 5.0.0.0/32 is subnetted, 1 subnets O IA 5.5.5.5 [110/41] via 192.168.24.1, 00:05:04, Ethernet0/1 100.0.0.0/32 is subnetted, 1 subnets O E2 100.100.100.100 [110/20] via 192.168.24.1, 00:05:04, Ethernet0/1 // ← 外部経路(E2)として反映されている O E2 192.168.0.0/24 [110/20] via 192.168.24.1, 00:05:04, Ethernet0/1 // ← 外部経路(E2)として反映されている O IA 192.168.12.0/24 [110/20] via 192.168.24.1, 00:05:04, Ethernet0/1 O IA 192.168.13.0/24 [110/30] via 192.168.24.1, 00:05:04, Ethernet0/1 O IA 192.168.35.0/24 [110/40] via 192.168.24.1, 00:05:04, Ethernet0/1 |
次にNSSAの設定後のルーティングテーブルを確認します。
以下の通り外部経路(E2)がルーティングテーブルから消えている事が分かると思います。
それは上記「【正常性確認①】NSSA内に伝搬されるLSAの確認」の通り、R2(ABR)でLSA Type 5がフィルターされNSSA内にLSA Type5が流れてこないからです。
代わりにR2(ABR)で生成したLSA Type7のデフォルトルート(0.0.0.0)がルーティングテーブルに反映されている事を確認しましょう!
▼ R4のルーティングテーブル▼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | //外部経路(100.100.100.100/32, 192.168.0.0/24)が消えている! R4#show ip route ospf | begin Gateway Gateway of last resort is 192.168.24.1 to network 0.0.0.0 O*N2 0.0.0.0/0 [110/1] via 192.168.24.1, 00:27:51, Ethernet0/1 // ← 新たにデフォルトルート(N2:Type7)を受信している事 1.0.0.0/32 is subnetted, 1 subnets O IA 1.1.1.1 [110/21] via 192.168.24.1, 00:27:51, Ethernet0/1 2.0.0.0/32 is subnetted, 1 subnets O IA 2.2.2.2 [110/11] via 192.168.24.1, 00:27:51, Ethernet0/1 3.0.0.0/32 is subnetted, 1 subnets O IA 3.3.3.3 [110/31] via 192.168.24.1, 00:27:51, Ethernet0/1 5.0.0.0/32 is subnetted, 1 subnets O IA 5.5.5.5 [110/41] via 192.168.24.1, 00:27:51, Ethernet0/1 O IA 192.168.12.0/24 [110/20] via 192.168.24.1, 00:27:51, Ethernet0/1 O IA 192.168.13.0/24 [110/30] via 192.168.24.1, 00:27:51, Ethernet0/1 O IA 192.168.35.0/24 [110/40] via 192.168.24.1, 00:27:51, Ethernet0/1 |
最後にR4(Lo10:10.10.10.10)からREX(Lo0:100.100.100.100)へPingが通る事を確認しましょう!
▼ R4のルーティングテーブル▼
1 2 3 4 5 6 | R4#ping 100.100.100.100 source loopback 10 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 100.100.100.100, timeout is 2 seconds: Packet sent with a source address of 10.10.10.10 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 2/3/7 ms |
以下の記事ではトータリーNSSAの検証結果を纏めております。興味のある方はご覧下さい。
トータリーNSSAの設定方法と正常性確認方法(LSDBの解析等)について動作検証結果を纏めております。初心者の方にも分かるように纏めておりますでCCNA・CCNPを目指している方はぜひご覧下さい!
まとめ
最後までお読み頂きありがとうございました。
NSSAを有効活用する事により、リンクステートデータベースとルーティングテーブルのサイズを削減する事が可能であり、ネットワークを最適化する事が出来ます。ぜひ覚えておきましょう!
網羅的にOSPFの知識を身につけたい方は、以下のまとめ記事をご確認ください!!
>>参考記事: 「[まとめ] OSPF 基礎〜応用・検証結果の記事をまとめました!」