ユニキャスト RIB および FIB の設定

この章では、Cisco Nexus スイッチのユニキャスト ルーティング情報ベース(RIB)および転送情報ベース(FIB)のルートを設定し、管理する方法について説明します。

この章は、次の項で構成されています。

ユニキャスト RIB および FIB についての情報

ユニキャスト RIB(IPv4 RIB)および FIB は、下に示すように、 Cisco NX-OS の転送アーキテクチャの一部です。

図 1. Cisco NX-OS 転送アーキテクチャ

ユニキャスト RIB は、直接接続のルート、スタティック ルート、ダイナミック ユニキャスト ルーティング プロトコルで検出されたルートを含むルーティング テーブルを維持しています。また、アドレス解決プロトコル(ARP)などの送信元から、隣接情報を収集します。ユニキャスト RIB は、ルートに最適なネクスト ホップを決定し、さらにユニキャスト FIB 分散モジュール(FDM)のサービスを使用して、ユニキャスト転送情報ベース(FIB)にデータを入力します。

各ダイナミック ルーティング プロトコルは、タイム アウトしたあらゆるルートについて、ユニキャスト RIB を更新する必要があります。その後、ユニキャスト RIB はそのルートを削除し、そのルートに最適なネクスト ホップを再計算します(代わりに使用できるパスがある場合)。

レイヤ 3 整合性チェッカー

まれな事例として、各モジュールのユニキャスト RIB と FIB の間に不整合が発生することがあります。Cisco NX-OS は、レイヤ 3 整合性チェッカーをサポートします。この機能は、各インターフェイス モジュールのユニキャスト IPv4 RIB と FIB の間の不整合を検出します。不整合には次のようなものがあります。

  • 欠落したプレフィックス

  • 余分なプレフィックス

  • ネクストホップ アドレスの誤り

  • ARP またはネイバー探索(ND)キャッシュ内の不正なレイヤ 2 リライト文字列

レイヤ 3 整合性チェッカーは、FIB のエントリと隣接マネージャ(AM)から取得した最新の隣接情報を比較し、不整合があれば記録します。次に整合性チェッカーは、ユニキャスト RIB のプレフィックスをモジュールの FIB と比較し、不整合があればログに記録します。「レイヤ 3 整合性チェッカーのトリガー」の項を参照してください。

不整合は手動で解消できます。「FIB 内の転送情報の消去」の項を参照してください。

整合性が失われる前に整合性チェッカーを実行すれば、整合性の点では合格します。しかし、4K のハードウェア制限を超えて多くのルートが学習され、show consistency-checker forwarding ipv4 コマンドを実行した場合も、整合性の点で合格します。整合性のない状態から整合性のある状態に移行する場合も同様です。障害ルートは引き続き表示されます。test forwarding ipv4 inconsistency route コマンドが再実行されるまで、この状態は終了しません。これは予期された動作です。

FIB テーブル

次に、スイッチが通常の転送モードで設定されている場合の Cisco Nexus 3548 スイッチのユニキャスト ルーティング テーブルの容量を示します。

  • ユニキャスト ルーティング ホスト テーブル = 64,000 ハッシュ テーブル エントリ

  • ユニキャスト ルーティング LPM テーブル = 16,000 TCAM エントリ

  • ECMP メンバー テーブル サイズ:16,000 エントリ

次に、スイッチがワープ モードで設定されている場合の Cisco Nexus 3548 スイッチのユニキャスト ルーティング テーブルの容量を示します。

  • L3 ユニキャスト ホスト テーブル = 8000 TCAM エントリ

  • L3 ユニキャスト LPM テーブル = 4000 TCAM エントリ


(注)  


ECMP はワープ モードではサポートされません。



(注)  


ワープ モードでは、2 つの等コスト パスが RIB で受信されると、パスの 1 つがハードウェアにインストールされます。ルーティング プロトコル構成で、最大パスを 1 に構成することをお勧めします。


仮想化のサポート

ユニキャスト RIB および FIB は、仮想ルーティングおよび転送(VRF)インスタンスをサポートします。

ユニキャスト RIB および FIB の管理


(注)  


Cisco IOS の CLI に慣れている場合、この機能に対応する Cisco NX-OS コマンドは通常使用する Cisco IOS コマンドと異なる場合があるので注意してください。


モジュールの FIB 情報の表示

スイッチの FIB 情報を表示できます。

手順の詳細

スイッチの FIB 情報を表示するには、任意のモードで次のコマンドを使用します。

コマンド

目的

show ip fib adjacency

例:
switch# show ip fib adjacency

FIB の隣接情報を表示します。

show forwarding ipv4 adjacency

例:
switch# show forwarding ipv4 adjacency

IPv4 の隣接情報を表示します。

show ip fib interfaces

例:
switch# show ip fib interfaces

IPv4 の FIB インターフェイス情報を表示します。

show ip fib route

例:
switch# show ip fib route

IPv4 のルート テーブルを表示します。

show forwarding ipv4 route

例:
switch# show forwarding ipv4 route

IPv4 のルート テーブルを表示します。

次に、スイッチの FIB の内容を表示する例を示します。

switch# show ip fib route
 
IPv4 routes for table default/base
 
------------------+------------------+---------------------
Prefix | Next-hop | Interface
------------------+------------------+---------------------
0.0.0.0/32 Drop Null0
255.255.255.255/32 Receive sup-eth1

ユニキャスト FIB でのロード シェアリングの設定

OSPF(Open Shortest Path First)などのダイナミック ルーティング プロトコルは、等コスト マルチパス(ECMP)によるロード シェアリングをサポートしています。ルーティング プロトコルは、そのプロトコルに設定されたメトリックに基づいて最適なルートを決定し、そのプロトコルに設定された最大数までのパスをユニキャスト RIB に組み込みます。ユニキャスト RIB は、RIB に含まれるすべてのルーティング プロトコル パスのアドミニストレーティブ ディスタンスを比較し、ルーティング プロトコルによって組み込まれたすべてのパス セットから最適なパス セットを選択します。ユニキャスト RIB は、この最適なパス セットを FIB に組み込み、フォワーディング プレーンで使用できるようにします。

フォワーディング プレーンは、ロード シェアリングのアルゴリズムを使用して、FIB に組み込まれたパスのいずれかを選択し、それを特定のデータ パケットに使用します。

ロード シェアリングの次の設定項目をグローバルに設定できます。

  • ロード シェアリング モード:宛先のアドレスとポート、または送信元と宛先のアドレスとポートに基づいて、最適なパスを選択します。

  • 汎用 ID:ハッシュ アルゴリズムのランダム シードを設定します。汎用 ID を設定する必要はありません。ユーザが設定しなかった場合は、Cisco NX-OS が汎用 ID を選択します。

ロード シェアリングでは、特定のフローに含まれるすべてのパケットに対して同じパスが使用されます。フローは、ユーザが設定したロード シェアリング方式によって定義されます。たとえば、送信元/宛先のロード シェアリングを設定すると、送信元 IP アドレスと宛先 IP アドレスのペアが同じであるすべてのパケットが同じパスをたどります。

ユニキャスト FIB のロード シェアリング アルゴリズムを設定するには、グローバル コンフィギュレーション モードで次のコマンドを使用します。

コマンド

目的

ip load-sharing address { destination port destination | source-destination [ port source-destination ]} [ universal-id seed ]

例:
switch(config)# ip load-sharing address source-destination

データ トラフィックに対するユニキャスト FIB のロード シェアリング アルゴリズムを設定します。universal-id の範囲は 1 ~ 4294967295 です。

ユニキャスト FIB のロード シェアリング アルゴリズムを表示するには、任意のモードで次のコマンドを使用します。

コマンド

目的

show ip load-sharing

例:
switch(config)# show ip load-sharing

データ トラフィックに対するユニキャスト FIB のロード シェアリング アルゴリズムを表示します。

ユニキャスト RIB および FIB が特定の送信元アドレス/宛先アドレスに使用するルートを表示するには、任意のモードで次のコマンドを使用します。

コマンド

目的

show routing hash source-addr dest-addr [ source-port dest-port ] [ vrf vrf-name ]

例:
witch# show routing hash 192.0.2.1 10.0.0.1

ユニキャスト RIB および FIB が特定の送信元/宛先アドレス ペアに使用するルートを表示します。送信元アドレスと宛先アドレスの形式は x.x.x.x です。送信元ポートと宛先ポートの範囲は 1 ~ 65535 です。VRF 名には最大 64 文字の英数字文字列を指定します。大文字と小文字は区別されます。

次に、特定の送信元/宛先ペアのために選択されたルートを表示する例を示します。

switch# show routing hash 10.0.0.5 30.0.0.2
Load-share parameters used for software forwarding:
load-share mode: address source-destination port source-destination
Universal-id seed: 0xe05e2e85
Hash for VRF "default"
Hashing to path *20.0.0.2 (hash: 0x0e), for route:

ルーティング情報と隣接情報の表示

ユーザーは、ルーティング情報と隣接情報を表示できます。

ルーティング情報と隣接情報を表示するには、任意のモードで次のコマンドを使用します。

コマンド

目的

show ip route [ route-type | interface int-type number | next-hop ]

例:
switch# show ip route

ユニキャスト ルート テーブルを表示します。route-type 引数には、1 つのルート プレフィックス、直接、静的、またはダイナミック ルーティング プロトコルを指定します。? キーワードを使用して、サポートされるインターフェイスを表示します。

show ip adjacency [ prefix | interface number [ summary ] | non-best ] [ detail ] [ vrf vrf-id ]

例:
switch# show ip adjacency

隣接関係テーブルを表示します。引数の範囲は次のとおりです。

  • prefix :任意の IPv4 プレフィックス アドレス。

  • interface-type number ? コマンドを使用して、サポートされるインターフェイスを表示します。

  • vrf-id :最大 32 文字の英数字文字列。大文字と小文字は区別されます。

show ip routing [ route-type | interface int-type number | next-hop | recursive-next-hop | summary | updated { since | until } time ]

例:
switch# show routing summary

ユニキャスト ルート テーブルを表示します。route-type 引数には、1 つのルート プレフィックス、直接、静的、またはダイナミック ルーティング プロトコルを指定します。? キーワードを使用して、サポートされるインターフェイスを表示します。

次に、ユニキャスト ルート テーブルを表示する例を示します。

switch# show ip route
IP Route Table for VRF "default"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
 
192.168.0.2/24, ubest/mbest: 1/0, attached
*via 192.168.0.32, Eth1/5, [0/0], 22:34:09, direct
192.168.0.32/32, ubest/mbest: 1/0, attached
*via 192.168.0.32, Eth1/5, [0/0], 22:34:09, local

次に、隣接情報を表示する例を示します。

switch# show ip adjacency
 
IP Adjacency Table for VRF default
Total number of entries: 2
Address Age MAC Address Pref Source Interface Best
10.1.1.1 02:20:54 00e0.b06a.71eb 50 arp mgmt0 Yes
10.1.1.253 00:06:27 0014.5e0b.81d1 50 arp mgmt0 Yes

レイヤ 3 整合性チェッカーのトリガー

レイヤ 3 整合性チェッカーを手動でトリガーできます。

レイヤ 3 整合性チェッカーを手動でトリガーにするには、グローバル コンフィギュレーション モードで次のコマンドを使用します。

コマンド

目的

test [ ipv4 ] [ unicast] forwarding inconsistency [ vrf vrf-name ] [ module { slot | all }]

例:
switch(config)# test forwarding inconsistency

レイヤ 3 整合性チェックを開始します。vrf-name には最大 32 文字の英数字文字列を指定します。大文字と-小文字は区別されます。slot の範囲は 1 ~ 10 です。

レイヤ 3 整合性チェッカーを停止するには、グローバル コンフィギュレーション モードで次のコマンドを使用します。

コマンド

目的

test forwarding [ ipv4 ] [ unicast ] inconsistency [ vrf vrf-name ] [ module { slot | all }] stop

例:
switch(config)# test forwarding inconsistency stop

レイヤ 3 整合性チェックを停止します。vrf-name には最大 64 文字の英数字文字列を指定します。大文字と-小文字は区別されます。slot の範囲は 1 ~ 10 です。

レイヤ 3 の不整合を表示するには、任意のモードで次のコマンドを使用します。

コマンド

目的

show forwarding [ ipv4 ] inconsistency [ vrf vrf-name ] [ module { slot | all }]

例:
switch(config)# show forwarding inconsistency

レイヤ 3 整合性チェックの結果を表示します。vrf-name には最大 32 文字の英数字文字列を指定します。大文字と-小文字は区別されます。slot の範囲は 1 ~ 10 です。

FIB 内の転送情報の消去

FIB 内の 1 つまたは複数のエントリを消去できます。


(注)  


clear forwarding コマンドを実行すると、スイッチ上の転送は中断されます。


FIB 内のエントリ(レイヤ 3 の不整合を含む)を消去するには、任意のモードで次のコマンドを使用します。

コマンド

目的

clear forwarding { ipv4 } route {* | prefix } [ vrf vrf-name ] [ module { slot | all }]

例:
switch(config)# clear forwarding ipv4 route *

FIB から 1 つまたは複数のエントリを消去します。ルートのオプションは次のとおりです。

  • *:すべてのルート。

  • prefix :任意の IP プレフィックス。

vrf-name には最大 32 文字の英数字文字列を指定します。大文字と-小文字は区別されます。slot の範囲は 1 ~ 10 です。


(注)  


FIB エントリをクリアした後は、RIB エントリをクリアしてください。


ルートのメモリ要件の見積もり

一連のルートおよびネクストホップ アドレスが使用するメモリを見積もることができます。

ルートのメモリ要件を見積もるには、任意のモードで次のコマンドを使用します。

コマンド

目的

show routing memory estimate routes num-routes next-hops num-nexthops

例:
switch# show routing memory estimate routes 1000 next-hops 1

ルートのメモリ要件を表示します。num-routes の範囲は 1000 ~ 1000000 です。num-nexthops の範囲は 1 ~ 16 です。

ユニキャスト RIB 内のルートの消去

ユニキャスト RIB から 1 つまたは複数のルートを消去できます。


注意    


* キーワードを使用すると、ルーティングが著しく妨害されます。


ユニキャスト RIB 内の 1 つまたは複数のエントリを消去するには、任意のモードで次のコマンドを使用します。

コマンド

目的

clear iproute {* | { route | prefix/length }[ next-hop interface ]} [ vrf vrf-name ]

例:
switch(config)# clear ip route 10.2.2.2

ユニキャスト RIB とすべてのモジュール FIB から 1 つまたは複数のルートを消去します。ルートのオプションは次のとおりです。

  • *:すべてのルート。

  • route :個々の IP ルート。

  • prefix/length :任意の IP プレフィックス。

  • next-hop :ネスクトホップ アドレス。

  • interface :ネスクトホップ アドレスに到達するためのインターフェイス

vrf-name には最大 32 文字の英数字文字列を指定します。大文字と-小文字は区別されます。

clear routing unicast [ ip | ipv4 ] {* | { route | prefix/length }[ next-hop interface ]} [ vrf vrf-name ]

例:
switch(config)# clear routing ip 10.2.2.2

ユニキャスト RIB から 1 つまたは複数のルートを消去します。ルートのオプションは次のとおりです。

  • *:すべてのルート。

  • route :個々の IP ルート。

  • prefix/length :任意の IP プレフィックス。

  • next-hop :ネスクトホップ アドレス。

  • interface :ネスクトホップ アドレスに到達するためのインターフェイス

vrf-name には最大 32 文字の英数字文字列を指定します。大文字と-小文字は区別されます。

ユニキャスト RIB および FIB の確認

ユニキャスト RIB および FIB の設定情報を表示するには、次のいずれかの作業を行います。

コマンド

目的

show forwarding adjacency

モジュールの隣接関係テーブルを表示します。

show forwarding distribution { clients | fib-state }

FIB の分散情報を表示します。

show forwarding interfaces module slot

モジュールの FIB 情報を表示します。

show forwarding ipv4route

FIB 内のルートを表示します。

show ip adjacency

隣接関係テーブルを表示します。

show ip route

ユニキャスト RIB から受け取った IPv4 ルートを表示します。

show routing

ユニキャスト RIB から受け取ったルートを表示します。