このドキュメントでは、Open Shortest Path First(OSPF)のフォワーディング アドレスに関連する概念と問題について説明します。一部の OSPF ルートがデータベースには存在するのにルーティング テーブルには存在しない理由を参照してください。OSPF のトラブルシューティングの詳細については
このドキュメントで説明する問題は、12.1(3) よりも前の Cisco IOS® ソフトウェア リリースでのみ確認できます。 Cisco IOS ソフトウェア リリース 12.1(3) 以降では、再配布の動作は変更されています。詳細については、CSCdp72526(登録ユーザ専用)を参照してください。 この不具合には、影響を受ける Cisco IOS ソフトウェア リリースおよび修正されたバージョンのリストが提供されています。また、Cisco IOS の動作の変更について説明している『接続ネットワークの OSPF への再配送』も参照してください。
このドキュメントの読者は次のトピックについての専門知識を有している必要があります。
IP ルーティング全般
OSPF ルーティング プロトコルの概念と条件
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Cisco 2503 ルータ
すべてのルータで動作する Cisco IOS® ソフトウェア リリース 12.2(24a)
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
OSPF フォワーディング アドレスの概念は、次の図に示すように、外部の Autonomous System(AS; 自律システム)へトラフィックをルーティングするときの余分なホップを防止するために導入されました。
この図で、OSPF ドメインには外部ドメインに接続された 2 台のルータがあります。ただし、ルータ1だけがルータ100とルーティング情報を交換します。ルータ1は、ルータ100から学習した情報をOSPFに再配布し、その情報を残りのOSPFドメインにアドバタイズします。これで、Router 1 は OSPF ドメインに再配布される情報のネクストホップ(またはフォワーディング アドレス)になります。Router 2は、OSPFドメインから外部ドメインのアドレス宛てのパケットを受信すると、Router 1にパケットを転送します。Router 1はRouter 100に転送します。転送アドレスの概念では、Router 1が別のルータのIPアドレスをフォワーディングアドレスとして指定できるため、この回避できます。上の図で、Router 1 は外部情報のフォワーディング アドレスとして Router 100 を指定し、それを Router 1 が OSPF ドメインに再配布できます。Router 2は、OSPFドメインから外部ドメインのアドレス宛てのパケットを受信すると、そのパケットをRouter 100に転送します。その結果、Router 1を介して余分なホップが回避されます。
Autonomous System Boundary Router(ASBR; 自律システム境界ルータ)(上の図の Router 1)が指定するフォワーディング アドレスの値は、0.0.0.0 または 0 以外の値です。0.0.0.0 というアドレスは、配布元のルータ(ASBR)がネクストホップであることを示しています。転送アドレスは次の条件によって決定されます。
ASBR がルートを再配布し、そのルートのネクストホップ インターフェイス上で OSPF が有効になっていない場合、フォワーディング アドレスは 0.0.0.0 に設定されます。上の図で Router 1 のイーサネット インターフェイスで OSPF が有効になっていない場合に、この状態になります。
次の条件によって、フォワーディング アドレス フィールドが 0 以外のアドレスに設定されます。
ASBR のネクストホップ インターフェイスで OSPF が有効になっている
ASBR のネクストホップ インターフェイスが OSPF でパッシブ インターフェイスでない
ASBR のネクストホップ インターフェイスがポイントツーポイントでない
ASBR のネクストホップ インターフェイスがポイントツーマルチポイントでない
ASBR のネクストホップ インターフェイス アドレスが、router ospf コマンドで指定されたネットワーク範囲に入っている
これ以外の条件では、フォワーディング アドレスが 0.0.0.0 になります。
フォワーディング アドレスの設定方法およびパス選択への影響の詳細は、『フォワーディング アドレスのタイプ 5 LSA パス選択への影響』を参照してください。
RIP のみを実行している(RIP のみのネットワークに接続されている)R2513 ルータが、上の図のトークン リング ネットワークに追加されました。R2513 から学習したルートが ASBR(R2515)によって OSPF に再配布されたときに、一部のルータのルーティング テーブルにはいくつかのルートがインストールされません。それぞれのルータの対応する構成情報を次の表に示します。
hostname R2504 |
---|
interface Serial0 ip address 1.1.1.2 255.255.255.0 interface TokenRing0 ip address 3.3.4.2 255.255.255.0 router ospf 1 network 1.1.1.0 0.0.0.255 area 0 network 3.0.0.0 0.255.255.255 area 1 area 1 range 3.0.0.0 255.0.0.0 |
ホスト名 R2507 |
---|
interface Serial0 ip address 1.1.1.1 255.255.255.0 interface Serial1 ip address 7.7.7.1 255.255.255.0 router ospf 1 network 1.1.1.1 0.0.0.0 area 0 default- information originate metric 20 ip route 0.0.0.0 0.0.0.0 Serial1 |
ホスト名 R2513 |
---|
interface TokenRing0 ip address 3.3.4.4 255.255.255.0 interface ethernet 0 ip address 200.1.1.4 255.255.255.0 router rip network 3.0.0.0 network 200.1.1.0 |
ホスト名 R2515 |
---|
interface TokenRing0 ip address 3.3.4.3 255.255.255.0 interface ethernet 0 ip address 3.44.66.3 255.255.255.0 interface ethernet 1 ip address 3.22.88.3 255.255.255.0 router ospf 1 redistribute rip metric 20 subnets network 0.0.0.0 255.255.255.255 area 1 router rip network 3.0.0.0 passive-interface ethernet 0 passive-interface ethernet 1 |
表に示した構成から、R2515 が RIP を OSPF に再配布し、R2504(Area Border Router(ABR; エリア境界ルータ))が集約ネットワーク 3.0.0.0/8 を作成することがわかります。
OSPF が有効になっているルータのそれぞれのルーティング テーブルを次に示します。
R2507# show ip route Gateway of last resort is 0.0.0.0 to network 0.0.0.0 1.0.0.0/ 24 is subnetted, 1 subnets C 1.1.1.0 is directly connected, Serial0 3.0.0.0/ 8 is variably subnetted, 4 subnets, 2 masks O IA 3.0.0.0/ 8 [110/ 70] via 1.1.1.2, 00: 15: 37, Serial0 O E2 3.3.4.0/ 24 [110/ 20] via 1.1.1.2, 00: 06: 37, Serial0 O E2 3.22.88.0/ 24 [110/ 20] via 1.1.1.2, 00: 06: 37, Serial0 O E2 3.44.66.0/ 24 [110/ 20] via 1.1.1.2, 00: 06: 37, Serial0 7.0.0.0/ 24 is subnetted, 1 subnets C 7.7.7.0 is directly connected, Serial1 S* 0.0.0.0/ 0 is directly connected, Serial1 R2504# show ip route Gateway of last resort is 1.1.1.1 to network 0.0.0.0 1.0.0.0/ 24 is subnetted, 1 subnets C 1.1.1.0 is directly connected, Serial0 3.0.0.0/ 8 is variably subnetted, 4 subnets, 2 masks S 3.0.0.0/ 8 is directly connected, Null0 C 3.3.4.0/ 24 is directly connected, TokenRing0 O 3.22.88.0/ 24 [110/ 11117] via 3.3.4.3, 00: 15: 16, TokenRing0 O 3.44.66.0/ 24 [110/ 11117] via 3.3.4.3, 00: 15: 16, TokenRing0 O E2 200.1.1.0/ 24 [110/ 20] via 3.3.4.4, 00: 06: 16, TokenRing0 O* E2 0.0.0.0/ 0 [110/ 20] via 1.1.1.1, 00: 15: 16, Serial0 R2515# show ip route Gateway of last resort is 3.3.4.2 to network 0.0.0.0 1.0.0.0/ 24 is subnetted, 1 subnets O IA 1.1.1.0 [110/ 70] via 3.3.4.2, 00: 10: 28, TokenRing0 3.0.0.0/ 24 is subnetted, 3 subnets C 3.3.4.0 is directly connected, TokenRing0 R 200.1.1.0/ 24 [120/ 1] via 3.3.4.4, 00: 00: 10, TokenRing0 O* E2 0.0.0.0/ 0 [110/ 20] via 3.3.4.2, 00: 10: 28, TokenRing0
R2515には、ネットワーク200.1.1.0/24のRIP(R)派生ルートがあります。R2515はASBRであり、RIPプロトコルをOSPFに再配布します。R2504 は ネットワーク 200.1.1.0/24 について R2515 から学習し、それを OSPF 外部タイプ 2(E2)ルートとして自身のルーティング テーブルにインストールします。問題は、R2507 のルーティング テーブルにネットワーク 200.1.1.0/24 がないことです。
ネットワーク 3.3.4.0/24、3.22.88.0/24、および 3.44.66.0/24 がすべて 3.0.0.0/8 のサマリーに含まれていても、R2507 にはこれらのネットワークの外部ルートがあります。
これらの外部ルートが表示される理由は、RIP を OSPF に再配布する ASBR が、これら 3 つのサブネットで RIP を実行し、その結果サブネットを外部ルートとして OSPF に再配布するからです。これらのサブネットは外部ルートであるため、ABR(R2504)によって集約されません。 外部 OSPF ルートを集約できるのは ASBR のみです。この場合、R2515。ABRは、エリア1からエリア0への内部OSPFルートのみを集約します。
注:Cisco Bug ID CSCdp72526(登録ユーザ専用)の修正により、OSPFはオーバーラップした外部ネットワークのタイプ5リンクステートアドバタイズメント(LSA)を生成しません。R2507には3.0.0.0/8という集約エリア間ルートしかありません。その後、R2507は200.1.1.0/24をフォワーディングアドレスとしてインストールし、エリア間ルート3.0.0.0/8経由で到達可能です。これはRFC 2328に8準拠 。
この出力は、R2507 の OSPF データベース内のネットワーク 200.1.1.0/24 の外部 LSA を示しています。
R2507# show ip ospf data external 200.1.1.0 OSPF Router with ID (7.7.7.1) (Process ID 1) Type- 5 AS External Link States LS age: 72 Options: (No TOS- capability, DC) LS Type: AS External Link Link State ID: 200.1.1.0 (External Network Number ) Advertising Router: 3.44.66.3 LS Seq Number: 80000001 Checksum: 0xF161 Length: 36 Network Mask: /24 Metric Type: 2 (Larger than any link state path) TOS: 0 Metric: 20 Forward Address: 3.3.4.4 External Route Tag: 0
OSPF を使用すると、ASBR が別のルータを外部ルートへのフォワーディング アドレスとして指定できます。この場合、ASBR(R2515)は外部ネットワーク 200.1.1.0 のフォワーディング アドレスとして、3.3.4.4 を指定しています。
RFC 2328 、16.4 項(AS 外部ルートの計算)には次のように書かれています。
「フォワーディング アドレスが 0 以外の場合は、ルーティング テーブルでフォワーディング アドレスを検索します。対応するルーティング テーブルのエントリは、エリア内パスまたはエリア間パスを指定する必要があります。そのようなパスが存在しない場合は、LSA で何も行わず、リスト内で次のエントリを検討します。」
この例の場合、フォワーディング アドレス 3.3.4.4 へのルートは次のとおりです。
R2507# show ip route 3.3.4.4 Routing entry for 3.3.4.0/ 24 Known via "ospf 1", distance 110, metric 20,type extern 2, forward metric 70 Redistributing via ospf 1 Last update from 1.1.1.2 on Serial0, 00: 00: 40 ago Routing Descriptor Blocks: * 1.1.1.2, from 3.44.66.3, 00: 00: 40 ago, via Serial0 Route metric is 20, traffic share count is 1
最長一致ルールにより、フォワーディング アドレス 3.3.4.4 は、エリア間サマリー ルートの 3.0.0.0/8 ではなく、外部ルート 3.3.4.0/24 に一致しています。フォワーディング アドレスへの内部 OSPF ルートがルータにないため、ルーティング テーブルに外部ルート 200.1.1.0/24 はインストールされません。他の外部ルートへ到達するために外部ルートを使用すると、ループが発生する可能性があります。このため、OSPF は外部ルートの使用を禁止しています。
この 0 以外のフォワーディング アドレスが、エリア内ルートまたはエリア間ルートとしてルーティング テーブルの中に存在することを確実にするには、どうしたらよいでしょうか。
第 1 の解決策は、ABR で集約を行わないことです。
第 2 の解決策は、LSA タイプ 3 フィルタリングを設定しないことです。タイプ 3 のルートをフィルタリングすると、show ip ospf database external コマンドの出力に表示されるフォワーディング アドレスに到達できなくなります。これにより、外部ネットワークが到達不能になります。この場合、R2504。これにより、エリア0のルータは、他のエリアのすべての特定のサブネットに対して(外部ルートではなく)エリア間ルートを持つことになります。
次のコマンドを使用して、ABR の集約を削除します。
R2504(config)# router ospf 1 R2504(config- router)# no area 1 range 3.0.0.0 255.0.0.0
このコマンドを実行すると、R2507 のルーティング テーブルは次のようになります。
R2507# show ip route Gateway of last resort is 0.0.0.0 to network 0.0.0.0 1.0.0.0/ 24 is subnetted, 1 subnets C 1.1.1.0 is directly connected, Serial0 3.0.0.0/ 24 is subnetted, 3 subnets O IA 3.3.4.0 [110/ 70] via 1.1.1.2, 00: 00: 48, Serial0 O IA 3.22.88.0 [110/ 80] via 1.1.1.2, 00: 00: 48, Serial0 O IA 3.44.66.0 [110/ 80] via 1.1.1.2, 00: 00: 48, Serial0 7.0.0.0/ 24 is subnetted, 1 subnets C 7.7.7.0 is directly connected, Serial1 O E2 200.1.1.0/ 24 [110/ 20] via 1.1.1.2, 00: 00: 48, Serial0 S* 0.0.0.0/ 0 is directly connected, Serial1 R2507# show ip route 3.3.4.4 Routing entry for 3.3.4.0/24 Known via "ospf 1", distance 110, metric 70, type inter area Last update from 1.1.1.2 on Serial1, 00:03:52 ago Routing Descriptor Blocks: * 1.1.1.2, from 3.3.4.2, 00:03:52 ago, via Serial1 Route metric is 74, traffic share count is 1
出力から、アドレス 3.3.4.4 には、ネットワーク 3.3.4.0/24 へのエリア間ルートを経由して到達可能であることがわかります。ルータ R2507 は ABR R2504 の集約が削除された後、タイプ 5 LSA およびタイプ 3 LSA の両方から、このネットワークへのルートを学習します。OSPF では、同じネットワークへの外部ルートよりもエリア間ルートの方が優先されるため、このルートはエリア間ルートとしてインストールされます。これで R2507 には、フォワーディング アドレス 3.3.4.4 へのエリア間ルートがあるため、外部ネットワーク 200.1.1.0/24 もルーティング テーブルにインストールされます。
注:NSSA(Not So Stubby Area)が使用され、タイプ3 LSAフィルタリングがNSSA ABRで実行される場合、同じ問題Forwarding Address unreachableが発生します。
もう 1 つの解決策は、外部ルート上で OSPF が動作しているため、サブネット 3.3.4.0 が外部ルートとして OSPF に再配布されることを防止することです。次の設定コマンドを ASBR(R2515)で実行するとルート マップが作成されます。このルート マップは、ネットワーク 200.1.1.0/24 のみが OSPF に再配布されるようにするために、redistribute コマンドで使用されます。ABR(R2504)はそれでも、エリア 1 からエリア 0 へ内部 OSPF ルートを集約します。
R2515# configure terminal R2515(config)# router ospf 1 R2515(config-router)# redistribute rip metric 20 subnets route-map rip_to_ospf_filter R2515(config-router)# exit R2515(config)# access-list 28 permit 200.1.1.0 0.0.0.255 R2515(config)# route-map rip_to_ospf_filter permit 10 R2515(config-route-map)# match ip address 28
このコマンドを実行すると、R2507 のルーティング テーブルは次のようになります。
R2507# show ip route Gateway of last resort is 0.0.0.0 to network 0.0.0.0 1.0.0.0/ 24 is subnetted, 1 subnets C 1.1.1.0 is directly connected, Serial0 O IA 3.0.0.0/ 8 [110/ 70] via 1.1.1.2, 00: 07: 05, Serial0 7.0.0.0/ 24 is subnetted, 1 subnets C 7.7.7.0 is directly connected, Ethernet0 O E2 200.1.1.0/ 24 [110/ 20] via 1.1.1.2, 00: 00: 21, Serial0 S* 0.0.0.0/ 0 is directly connected, Ethernet0
ルーティングテーブル内の唯一の外部ルートは200.1.1.0/24です。このネットワークはルーティングテーブル内にあります。これは、この外部ネットワーク(3.3.4.1)の転送アドレスがエリア間ルートである集約ルート3.0.0.0/8でカバーされるためです。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
29-Dec-2005 |
初版 |