このドキュメントでは、Nexus と Cisco IOS® 機能の間の Open Shortest Path First(OSPF)プロトコルが、Cisco IOS と Nexus オペレーティング システム(NXOS)でどのように実装されるかについて説明します。
OSPF プロトコルに関する基本的な知識があることが推奨されます。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
Cisco IOS デバイスは、RFC 1583 をサポートしています。その一方で、NXOS は RFC 2328 をサポートしています。ネットワークに複数の外部 OSPF ルートがあると、設計によっては、この相違点がネットワーク内にループを発生させる原因になります。
このセクションでは、複数の外部ルートの間で最適のルートを選択する場合の、RFC 1583 と RFC 2328 の選択方法の違いが説明されています。
タイプ 1 の外部パスを比較するには、転送アドレスへの距離の合計とアドバタイズされたタイプ 1 のメトリック(X+Y)を調べます。 タイプ 2 の外部パスを比較するには、アドバタイズされたタイプ 2 のメトリックを調べます。その後、必要に応じて転送アドレスへの距離を調べます。
新しいパスの方が短い場合は、ルーティング テーブル エントリにある現在のパスと置き換えられます。 新しいパスが同じコストの場合は、ルーティング テーブル エントリにあるパスのリストに追加されます。
非バックボーン エリアを使用するエリア内パスは、常に最優先されます。その他のパス(エリア内バックボーン パスおよびエリア間パス)の優先度は同等です。
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
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 互換性コマンドを使用することをお勧めします。
現在、この設定に使用できる確認手順はありません。
現在、この設定に関する特定のトラブルシューティング情報はありません。