内容

概要

前提条件

要件

使用するコンポーネント

背景説明

重要な情報

RFC 1583 セクション 16.4.6 からの抜粋

RFC 2328 セクション 16.4.1 からの抜粋

設定

シナリオ 1

ネットワーク図

シナリオ 2

ネットワーク図

推奨事項

確認

トラブルシュート

関連情報

概要

このドキュメントでは、Nexus と Cisco IOS® 機能の間の Open Shortest Path First（OSPF）プロトコルが、Cisco IOS と Nexus オペレーティング システム（NXOS）でどのように実装されるかについて説明します。

前提条件

要件

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

使用するコンポーネント

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

- NXOS バージョン 6.2(6a)

- Cisco IOS バージョン 15.1(4)M1

背景説明

Cisco IOS デバイスは、RFC 1583 をサポートしています。その一方で、NXOS は RFC 2328 をサポートしています。ネットワークに複数の外部 OSPF ルートがあると、設計によっては、この相違点がネットワーク内にループを発生させる原因になります。

重要な情報

このセクションでは、複数の外部ルートの間で最適のルートを選択する場合の、RFC 1583 と RFC 2328 の選択方法の違いが説明されています。

RFC 1583 セクション 16.4.6 からの抜粋

タイプ 1 の外部パスを比較するには、転送アドレスへの距離の合計とアドバタイズされたタイプ 1 のメトリック（X+Y）を調べます。  タイプ 2 の外部パスを比較するには、アドバタイズされたタイプ 2 のメトリックを調べます。その後、必要に応じて転送アドレスへの距離を調べます。

新しいパスの方が短い場合は、ルーティング テーブル エントリにある現在のパスと置き換えられます。  新しいパスが同じコストの場合は、ルーティング テーブル エントリにあるパスのリストに追加されます。

注：転送アドレスのコストがすべてゼロであっても、最適なルートを選択するために自律システム境界ルータ（ASBR）が使用されます。

RFC 2328 セクション 16.4.1 からの抜粋

非バックボーン エリアを使用するエリア内パスは、常に最優先されます。その他のパス（エリア内バックボーン パスおよびエリア間パス）の優先度は同等です。

設定

シナリオ 1

ネットワーク図

R3 と R4 は OSPF 外部タイプ E2 ルートと同じメトリックを使用して、同じネットワーク 172.16.1.0/24 を再配布します。R6は、ASBR R3への転送メトリックがR4よりも低く、172.16.1.0/24のネクストホップがR1であるため、R3によってアドバタイズされたルートを優先します（RFC 1583によると、パス選択はコストのみに基づいています）。

R6#sh ip ospf border-routers

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

Base Topology (MTID 0)

Internal Router Routing Table

Codes: i - Intra-area route, I - Inter-area route

i 192.168.4.4 [51] via 192.168.56.5, GigabitEthernet0/0, ASBR, Area 2, SPF 17

>>>> Cost is 51 to reach R4 ASBR.

i 192.168.1.1 [1] via 192.168.16.1, GigabitEthernet0/1, ABR, Area 2, SPF 17

I 192.168.3.3 [42] via 192.168.16.1, GigabitEthernet0/1, ASBR, Area 2, SPF 17

>>>> Cost is 42 to reach R3 ASBR

R6#sh ip route 172.16.1.0

Routing entry for 172.16.1.0/24

Known via "ospf 1", distance 110, metric 20, type extern 2, forward metric 42

Last update from 192.168.16.1 on GigabitEthernet0/1, 00:02:13 ago

Routing Descriptor Blocks:

* 192.168.16.1, from 192.168.3.3, 00:02:13 ago, via GigabitEthernet0/1

Route metric is 20, traffic share count is 1

R1 は、コストが高くなるにもかかわらず R4 がアドバタイズしたルートを優先します。これは、そのルートが ASBR へのエリア内ルートになるためです。このルートはバックボーン エリアを通過しません。また、ネクストホップが R6 になります（RFC 2328 に準拠）。

R1-NXOS# sh ip ospf border-routers

OSPF Process ID 1 VRF default, Internal Routing Table

Codes: i - Intra-area route, I - Inter-area route

intra 192.168.2.2 [40], ABR, Area 0.0.0.0, SPF 18

via 192.168.12.2, Eth4/43

inter 192.168.3.3 [41], ASBR, Area 0.0.0.0, SPF 18 >>>> Cost is 41

via 192.168.12.2, Eth4/43

intra 192.168.4.4 [91], ASBR, Area 0.0.0.2, SPF 18 >>>> Cost is 91

via 192.168.16.6, Eth4/44

switch-R1-NXOS# sh ip route 172.16.1.0

IP Route Table for VRF "default"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%' in via output denotes VRF

172.16.1.0/24, ubest/mbest: 1/0

*via 192.168.16.6, Eth4/44, [110/20], 00:10:41, ospf-1, type-2

そのため、R6 は R1 にパケットを送信し、そのパケットは R1 が R6 に送り返すようになり、ネットワーク内にループが発生します。

R5#traceroute 172.16.1.1 numeric

Type escape sequence to abort.

Tracing the route to 172.16.1.1

VRF info: (vrf in name/id, vrf out name/id)

1 192.168.56.6 4 msec 0 msec 0 msec

2 192.168.16.1 4 msec 0 msec 4 msec

3 192.168.16.6 0 msec 4 msec 0 msec

4 192.168.16.1 4 msec 0 msec 4 msec

5 192.168.16.6 0 msec 4 msec 0 msec

R1とR6の間でパケットがループしています。この問題を解決するには、NXOSのRFC互換性を変更する必要があります。

R1-NXOS(config)# router ospf 1

R1-NXOS(config-router)# rfc1583compatibility

switch-R1-NXOS# sh ip route 172.16.1.0

IP Route Table for VRF "default"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%' in via output denotes VRF

172.16.1.0/24, ubest/mbest: 1/0

*via 192.168.12.2, Eth4/43, [110/20], 00:00:40, ospf-1, type-2

これで、R1 は正しく R2 をポイントするようになり、ループがネットワークから取り除かれます。

R5#traceroute 172.16.1.1 numeric

Type escape sequence to abort.

Tracing the route to 172.16.1.1

VRF info: (vrf in name/id, vrf out name/id)

1 192.168.56.6 0 msec 4 msec 0 msec

2 192.168.16.1 0 msec 0 msec 0 msec

3 192.168.12.2 4 msec 0 msec 0 msec

4 192.168.23.3 4 msec 0 msec 4 msec

5 192.168.23.3 4 msec 0 msec 4 msec

シナリオ 2

ネットワーク図

R1はR6からNSSA外部（タイプ7）ルートを受信し、同じプレフィクス172.16.1.0/24に対してR2から外部（タイプ5）ルートを受信します。R1はタイプ7を優先しますが、通常はタイプ7よりもOSPFタイプ5が優先されます。

R1-NXOS# sh ip ospf database nssa-external 172.16.1.0 detail

OSPF Router with ID (192.168.1.1) (Process ID 1 VRF default)

Type-7 AS External Link States (Area 0.0.0.2)

LS age: 914

Options: 0x28 (No TOS-capability, Type 7/5 translation, DC)

LS Type: Type-7 AS-External

Link State ID: 172.16.1.0 (Network address)

Advertising Router: 192.168.4.4                 >>>>> Type 7 originated by R4

and installed in the RIB.

LS Seq Number: 0x80000001

Checksum: 0x3696

Length: 36

Network Mask: /24

Metric Type: 2 (Larger than any link state path)

TOS: 0

Metric: 20

Forward Address: 192.168.45.4

External Route Tag: 0>

R1-NXOS# sh ip ospf database external 172.16.1.0 detail

OSPF Router with ID (192.168.1.1) (Process ID 1 VRF default)

Type-5 AS External Link States

LS age: 853

Options: 0x2 (No TOS-capability, No DC)

LS Type: Type-5 AS-External

Link State ID: 172.16.1.0 (Network address)

Advertising Router: 192.168.1.1         >>>>> Since Type 7 is installed

in the RIB, it was converted to type 5

LS Seq Number: 0x80000001

Checksum: 0xb545

Length: 36

Network Mask: /24

Metric Type: 2 (Larger than any link state path)

TOS: 0<

Metric: 20

Forward Address: 192.168.45.4

External Route Tag: 0<

LS age: 596

Options: 0x20 (No TOS-capability, DC)

LS Type: Type-5 AS-External

Link State ID: 172.16.1.0 (Network address)

Advertising Router: 192.168.3.3              >>>>>>  Type 5 is also received from R3

LS Seq Number: 0x80000002

Checksum: 0x2250

Length: 36

Network Mask: /24

Metric Type: 2 (Larger than any link state path)>

TOS: 0

Metric: 20<>

Forward Address: 0.0.0.0

External Route Tag: 0

R1-NXOS# sh ip route 172.16.1.0

IP Route Table for VRF "default"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

172.16.1.0/24, ubest/mbest: 1/0

*via 192.168.16.6, Eth4/44, [110/20], 00:16:54, ospf-1, nssa type-2     >>>> Type 7

route is installed in RIB.

R1 は OSPF ルータ プロセスで rfc1583compatibility コマンドが設定されていません。また、ルータのタイプ 5 リンク ステート アドバタイズメント（LSA）adv-router-id はエリア 0（バックボーン ルータ）に到達可能です。そのため、OSPF は常に非バックボーン エリアを経由するルートのパスを選択します。この例では、ネクストホップがエリア 2 で選択されます（RFC 2328 に準拠）。

R1-NXOS(config)# router ospf 1

R1-NXOS(config-router)# rfc1583compatibility

R1-NXOS# sh ip route 172.16.1.0

IP Route Table for VRF "default"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

172.16.1.0/24, ubest/mbest: 1/0

*via 192.168.12.2, Eth4/43, [110/20], 00:00:04, ospf-1, type-2     >>>> Type 5

route is installed in RIB.

推奨事項

NXOS と Cisco IOS がともに OSPFv2 を実行するネットワークでは、この互換性の問題に関わる別の設計シナリオやネットワーク シナリオでも、ネットワークにループや最適でないルーティングが発生することがあります。

RFC1583 のみをサポートするデバイス（Cisco IOS）がネットワークに含まれている場合は、NXOS OSPF ルータ設定モードで RFC 1583 互換性コマンドを使用することをお勧めします。

確認

現在、この設定に使用できる確認手順はありません。

トラブルシュート

現在、この設定に関する特定のトラブルシューティング情報はありません。

関連情報

- RFC 1583

- RFC 2328

- テクニカル サポートとドキュメント – Cisco Systems