この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、IOS-XRおよびIOSデバイス上のOpen Shortest Path First(OSPF)フォワーディングアドレスの概念について説明します。IOS-XRとIOSデバイス間のOSPFの動作を比較します。
OSPFプロトコルに関する基本的な知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
このセクションでは、OSPFのフォワーディングアドレスの概念について説明します。これについてすでに理解している場合は、次のセクションに進むことができます。
OSPFルータは、別の送信元プロトコルからのルートをE1またはE2としてOSPFに再配布すると、その特定の外部リンクステートアドバタイズメント(LSA)にフォワーディングアドレスを設定できます。 OSPFプロトコルが特定の属性を設定できるようにするには、次の条件を満たす必要があります。フォワーディングアドレスは、0以外の値で入力するか、または入力しない(すべてゼロ)にすることができます。
次のすべての条件では、フォワーディングアドレスフィールドを0以外のアドレスに設定する必要があります。
フォワーディングアドレスがすべてゼロ(0.0.0.0)に設定されている場合、ルータはトラフィックを宛先に正しくルーティングするために、OSPFトポロジ内の特定のノードに再帰する必要があります。リンクステートルーティングプロトコルとしてのOSPFとの大きな違いは、リンクステートによって特定のエリアのトポロジを完全に把握でき、ルータはトポロジ内のノードへの最短パスをすべてのデバイスとそのコストの全体像で計算できる点です。必ずしもプレフィクスに向かうルートではなく、ノードに向かうルートが大きく異なります。
フォワーディングアドレスがゼロ以外の値に設定されている場合、ルータはフォワーディングアドレスに接続されているノードへの最短パスをチェックします。
このセクションでは、トポロジを確認して、さらに詳しく説明します。
画像 1
図1では、Enhanced Interior Gateway Routing Protocol(EIGRP)は共有セグメント192.168.1.0/24上のR2とR3の間で実行されます。R1も共有セグメント192.168.1.0/24に接続されていますが、EIGRPはありません。R2は、172.16.3.3/32を外部E2ルートとしてEIGRPからOSPFに再配布するように設定されています。OSPFは、R2からR4、R1からR4、R1からTransit_Router、およびR4からXR5への間で動作します。XR5ルータソフトウェアはIOS-XRです。
このセクションでは、フォワーディングアドレスの重要性について説明します。トラフィックがクラウドネットワークから172.16.3.3/32に向かっていると考え、このトラフィックはTransit_Routerに到達し、ルーティングテーブルに従って転送します。
プレフィクス172.16.3.3/32のTransit_Routerのルーティングテーブルに何があるかを確認します。
Transit_Router#show ip route 172.16.3.3
Routing entry for 172.16.3.3/32 Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 2 Last update from 192.168.70.1 on GigabitEthernet1, 00:00:04 ago Routing Descriptor Blocks: * 192.168.70.1, from 2.2.2.2, 00:00:04 ago, via GigabitEthernet1 <- You see the prefix is from advertising router with router-id 2.2.2.2 Route metric is 20, traffic share count is 1 Transit_Router#
ネクストホップは192.168.70.1でR1に向かいます。R2がネットワーク172.16.3.3/32をOSPFに再配布されるため、宛先172.16.3.3/32に到達するにはR2にルーティングする必要があると仮定できます。
Transit_Routerから172.16.3.3/32に向けてtracerouteを実行できます。
Transit_Router#traceroute 172.16.3.3 timeout 1 Type escape sequence to abort. Tracing the route to 172.16.3.3 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.70.1 7 msec 5 msec 8 msec <- R1 2 192.168.1.3 10 msec 11 msec 17 msec <- R3
R1が172.16.3.3/32を宛先とするトラフィックを受信すると、実際にはR3に直接ルーティングされます。R1でshow ip routeを実行し、172.16.3.3へのルーティングテーブルを表示します。
R1#show ip route 172.16.3.3 Routing entry for 172.16.3.3/32 Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 1 Last update from 192.168.1.3 on GigabitEthernet0/0, 02:04:54 ago Routing Descriptor Blocks: * 192.168.1.3, from 2.2.2.2, 02:04:54 ago, via GigabitEthernet0/0 <-- Next-hop goes directly towards R3 over the shared segment Route metric is 20, traffic share count is 1
フォワーディングアドレスのため、R1のネクストホップは192.168.1.3でR3に向かいます。R1とR3の間にルーティングプロトコルがない場合は、transit_Routerで外部LSAを確認します。
Transit_Router#show ip ospf database external 172.16.3.3 OSPF Router with ID (6.6.6.6) (Process ID 1) Type-5 AS External Link States LS age: 1641 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number ) Advertising Router: 2.2.2.2 LS Seq Number: 80000004 Checksum: 0x8299 Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 192.168.1.3 <-R3 interface towards the shared segment External Route Tag: 0
フォワーディングアドレスには192.168.1.3のIPアドレスが設定されています。つまり、172.16.3.3/32に向けてルーティングする場合は、192.168.1.3に向けて繰り返す必要があります。これは、R1が172.16.3.3/32宛てのパケットを受信すると、Gi0/0インターフェイスにで192.168.1.3直接接続される転送のタイプ5 LSAが..したがって、R1はパケットを192.168.1.3にルーティングします。
フォワーディングアドレスは、最適でないルーティングを軽減する方法を支援します。フォワーディングアドレスがタイプ5 LSAに設定されていない場合は、R2であるASBRを介して、172.16.3.3宛てのすべてのパケットをルーティングする必要があります。
これを確認するには、転送アドレスを0.0.0.0にリセットし、Transit_Routerからtracerouteを実行します。
Transit_Router#show ip ospf database external 172.16.3.3 OSPF Router with ID (6.6.6.6) (Process ID 1) Type-5 AS External Link States LS age: 14 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number ) Advertising Router: 2.2.2.2 LS Seq Number: 80000005 Checksum: 0x196F Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 0.0.0.0 <- Recurse towards the ASBR (RID 2.2.2.2) External Route Tag: 0 Transit_Router#
フォワーディングアドレスが0.0.0.0に設定されていることがわかります。これは、R2であるASBRにパケットをルーティングする必要があることを意味します。Transit_Routerから172.16.3.3に向かうtracerouteを実行すると、このトラフィックはASBR R2へのパスにに従します。
これは次のように表示されます。
Transit_Router#traceroute 172.16.3.3 Type escape sequence to abort. Tracing the route to 172.16.3.3 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.70.1 17 msec 12 msec 3 msec <-R1 2 192.168.14.4 3 msec 18 msec 7 msec <-R4 3 192.168.24.2 15 msec 8 msec 5 msec <-R2 4 192.168.1.3 8 msec 11 msec 7 msec <-R3 Transit_Router#
このセクションでは、別の送信元を経由する転送アドレスがわかっている場合のIOSデバイスとIOS-XRデバイスの違いについて説明します。
IOSでは、データベースにOSPF外部ルートがあり、転送アドレスが設定されている場合、OSPFエリア間ルートまたはエリア内ルートを介して転送アドレスを認識する必要があります。フォワーディングアドレスがOSPFエリア内ルートまたはエリア間ルートのいずれを介しても認識されない場合、ルータは外部OSPFルートをRouting Information Base(RIB)にインストールしません。
スタティックルートを介してフォワーディングアドレスを認識するように設定すると、何が起こるか確認します。
画像 2
図2のトポロジでは、R2はEIGRPとOSPFの間の再配布ポイントとして設定されています。ルータは172.16.3.3/32をEIGRPからOSPFドメインに再配布します。R4とXR5の両方をチェックして、フォワーディングアドレスが別のソースを介して認識されている場合の違いを確認できます。R4のOSPFデータベースを次に示します。
R4# show ip ospf database external 172.16.3.3
OSPF Router with ID (4.4.4.4) (Process ID 1) Type-5 AS External Link States LS age: 4 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number ) Advertising Router: 2.2.2.2 LS Seq Number: 80000002 Checksum: 0x8697 Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 192.168.1.3 External Route Tag: 0
転送アドレスへのルーティング方法を確認します。
R4# show ip route 192.168.1.3 Routing entry for 192.168.1.0/24 Known via "ospf 1", distance 110, metric 2, type intra area <- Here you see it is know via OSPF intra area Last update from 192.168.24.2 on GigabitEthernet0/0, 00:00:23 ago Routing Descriptor Blocks: 192.168.24.2, from 1.1.1.1, 00:00:23 ago, via GigabitEthernet0/0 Route metric is 2, traffic share count is 1 * 192.168.14.1, from 1.1.1.1, 00:04:42 ago, via GigabitEthernet0/1 Route metric is 2, traffic share count is 1 R4#
ルータはエリア内ルートを介してフォワーディングアドレスを学習するため、RIBに外部LSAをインストールできます。外部LSAがRIBにインストールされていることがわかります。
R4#show ip route 172.16.3.3 Routing entry for 172.16.3.3/32 Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 2 Last update from 192.168.24.2 on GigabitEthernet0/0, 00:01:02 ago Routing Descriptor Blocks: 192.168.24.2, from 2.2.2.2, 00:01:02 ago, via GigabitEthernet0/0 Route metric is 20, traffic share count is 1 * 192.168.14.1, from 2.2.2.2, 00:04:57 ago, via GigabitEthernet0/1 Route metric is 20, traffic share count is 1
フォワーディングアドレスのスタティックルートを、R2であるASBRに向けて設定します
R4#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R4(config)#ip route 192.168.1.0 255.255.255.0 192.168.24.2
転送アドレスに対してshow ip routeを実行します。
R4# show ip route 192.168.1.3 Routing entry for 192.168.1.0/24 Known via "static", distance 1, metric 0 Routing Descriptor Blocks: * 192.168.24.2 Route metric is 0, traffic share count is 1
フォワーディングアドレスはOSPF経由では学習されず、スタティックであることが分かります。つまり、172.16.3.3の外部LSAが、使用するために必要な基準を通過できないということです。
R4#show ip ospf database external 172.16.3.3 OSPF Router with ID (4.4.4.4) (Process ID 1) Type-5 AS External Link States LS age: 480 Options: (No TOS-capability, DC, Upward) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number ) Advertising Router: 2.2.2.2 LS Seq Number: 80000001 Checksum: 0x8896 Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) MTID: 0 Metric: 20 Forward Address: 192.168.1.3 External Route Tag: 0
最後に、外部ルートがOSPFデータベースからRIBにインストールされているかどうかを確認します。
R4#show ip route 172.16.3.3 % Network not in table
ルータはOSPFデータベースからRIBに外部LSAをインストールしません。これは、フォワーディングアドレスがスタティック経由で認識され、エリア内またはエリア間で認識されないためです。
ここでの論理は、OSPFがフォワーディングアドレスへのルーティングに別の送信元を信頼できないと見なさないため、ルータはOSPF経由で認識されていないフォワーディングアドレスを持つ外部LSAを考慮してはならないということです。
このセクションでは、動作を確認するIOS-XRと同じテストについて説明します。XR5では、外部LSA:
RP/0/0/CPU0:XR4#show ospf database external 172.16.3.3 Mon Mar 26 06:26:24.656 UTC OSPF Router with ID (192.168.60.1) (Process ID 1) Type-5 AS External Link States Routing Bit Set on this LSA LS age: 930 Options: (No TOS-capability, DC) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number) Advertising Router: 2.2.2.2 LS Seq Number: 80000001 Checksum: 0x8896 Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) TOS: 0 Metric: 20 Forward Address: 192.168.1.3 External Route Tag: 0
ルータが外部LSAをデータベースにインストールするかどうかを、R4への転送アドレスのスタティックルートを設定するときにチェックします。
RP/0/0/CPU0:XR4#show route 192.168.1.3 Mon Mar 26 06:33:21.587 UTC Routing entry for 192.168.1.0/24 Known via "static", distance 1, metric 0 <- The forwarding address is now known via static Installed Mar 26 06:31:55.133 for 00:01:26 Routing Descriptor Blocks 192.168.60.4 <- Next-hop is R4 Route metric is 0, Wt is 1 No advertising protos.
フォワーディングアドレスはスタティックによって学習されます。ここで、外部LSAがRIBにインストールされているかどうかを確認します。
RP/0/0/CPU0:XR4#show route 172.16.3.3 Mon Mar 26 06:42:24.830 UTC Routing entry for 172.16.3.3/32 Known via "ospf 1", distance 110, metric 20, type extern 2 Installed Mar 26 06:25:09.841 for 00:17:15 Routing Descriptor Blocks 192.168.60.4, from 2.2.2.2, via GigabitEthernet0/0/0/0 Route metric is 20 No advertising protos. RP/0/0/CPU0:XR4#
IOSとIOS-XRの違いを確認できます。外部LSAは、フォワーディングアドレスがスタティックによって学習された場合でも、RIBにインストールされました。ルータは、外部プレフィックスへの接続を維持します。
RP/0/0/CPU0:XR4#ping 172.16.3.3 Mon Mar 26 06:44:25.772 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/9/19 ms RP/0/0/CPU0:XR4#
IOS-XRは外部LSAをRIBに入力しますが、再帰用の転送アドレスは考慮しません。これは、フォワーディングアドレス用のRIBへのルックアップではなく、ASBRへの再帰を意味します。
このテストでは、考慮することが可能であることを示します。null0への転送アドレスのスタティックルートを設定し、外部プレフィックスへの接続が存在するかどうかを確認できます。
RP/0/0/CPU0:XR4#show ospf database external 172.16.3.3 Mon Mar 26 06:55:36.296 UTC OSPF Router with ID (192.168.60.1) (Process ID 1) Type-5 AS External Link States Routing Bit Set on this LSA LS age: 667 Options: (No TOS-capability, DC) LS Type: AS External Link Link State ID: 172.16.3.3 (External Network Number) Advertising Router: 2.2.2.2 LS Seq Number: 80000002 Checksum: 0x8697 Length: 36 Network Mask: /32 Metric Type: 2 (Larger than any link state path) TOS: 0 Metric: 20 Forward Address: 192.168.1.3 External Route Tag: 0 RP/0/0/CPU0:XR4#show route 192.168.1.3 Mon Mar 26 06:55:38.966 UTC Routing entry for 192.168.1.0/24 Known via "static", distance 1, metric 0 (connected) Installed Mar 26 06:47:15.030 for 00:08:23 Routing Descriptor Blocks directly connected, via Null0 Route metric is 0, Wt is 1 No advertising protos.
XR5から172.16.3.3への接続を確認します。
RP/0/0/CPU0:XR4#ping 172.16.3.3 Mon Mar 26 06:56:45.261 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/7/19 ms RP/0/0/CPU0:XR4#traceroute 172.16.3.3 Mon Mar 26 06:56:51.251 UTC Type escape sequence to abort. Tracing the route to 172.16.3.3 1 192.168.60.4 0 msec 0 msec 0 msec 2 192.168.14.1 0 msec 0 msec 0 msec 3 192.168.1.3 9 msec 9 msec 0 msec RP/0/0/CPU0:XR4
これらのテストでは、フォワーディングアドレスの重要性と、それが設定されている場合のルーティングの解釈方法を確認しました。また、フォワーディングアドレスが設定されている場合は、使用する必要があるという仮定は、プラットフォームによって異なるため、偽である可能性があります。フォワーディングアドレスがOSPFのエリア内/エリア間で認識されている場合は使用され、それ以外の場合は入力されますが、再帰には使用されません。XRの動作は安心感を与えます。外部LSA転送アドレスが別の送信元を経由して認識される場合は、トラフィックをブラックホール化できません。