内容

概要

前提条件

要件

使用するコンポーネント

OSPF転送アドレス

IOSとIOS-XRの違い

概要

このドキュメントでは、IOS-XRおよびIOSデバイス上のOpen Shortest Path First(OSPF)フォワーディングアドレスの概念について説明します。IOS-XRとIOSデバイス間のOSPFの動作を比較します。

前提条件

要件

OSPFプロトコルに関する基本的な知識があることが推奨されます。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- IOS-XR仮想デバイスのバージョン：6.1.3、6.1.2、6.0.0、5.3.0、5.2.0

- Cisco IOS プラットフォーム

OSPF転送アドレス

このセクションでは、OSPFのフォワーディングアドレスの概念について説明します。これについてすでに理解している場合は、次のセクションに進むことができます。

OSPFルータは、別の送信元プロトコルからのルートをE1またはE2としてOSPFに再配布すると、その特定の外部リンクステートアドバタイズメント(LSA)にフォワーディングアドレスを設定できます。 OSPFプロトコルが特定の属性を設定できるようにするには、次の条件を満たす必要があります。フォワーディングアドレスは、0以外の値で入力するか、または入力しない（すべてゼロ）にすることができます。

次のすべての条件では、フォワーディングアドレスフィールドを0以外のアドレスに設定する必要があります。

- ネクストホップインターフェイスの自律システム境界ルータ(ASBR)でOSPFが有効になっている

- ASBRのネクストホップインターフェイスがOSPFで非パッシブ

- ASBRのネクストホップインターフェイスがポイントツーポイントではない

- ASBRのネクストホップインターフェイスがポイントツーマルチポイントではない

- ASBR のネクストホップ インターフェイス アドレスが、router ospf コマンドで指定されたネットワーク範囲に入っている

- これ以外の条件では、フォワーディングアドレスを0.0.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デバイスと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転送アドレスが別の送信元を経由して認識される場合は、トラフィックをブラックホール化できません。