この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
ルーティング情報ベース(RIB)は、ネットワークのすべてのノード間のルーティングの接続に関する情報を収集して配布したものです。各ルータには、そのルータのルーティング情報を含む RIB を維持します。RIB は、システムで実行されているすべてのルーティング プロトコルでの最良ルートを保存します。
各ルーティング プロトコルは独自の最適ルートのセットを選択し、これらのルートとその属性を RIB に取り込みます。RIB はこれらのルートを格納し、すべてのルーティング プロトコルの中から最適ルートを選択します。これらのルートは転送パケットで使用するために、ラインカードにダウンロードされます。頭字語の RIB は、RIB プロセスと、RIB 内に含まれるルート データの集合を表すために使用されます。プロトコル内で、ルートはそのプロトコルによって使用されているメトリックに基づいて選択されます。プロトコルは最適なルート(最も低いメトリックまたは結び付けられたメトリック)を RIB にダウンロードします。RIB は、関連付けられているプロトコルのアドミニストレーティブ ディスタンスを比較して、全体的に最適なルートを選択します。
このモジュールでは、ネットワークで RIB を実装およびモニタリングする方法を説明します。
![]() (注) |
VPNv4、VPNv6 および VPN ルーティング/転送(VRF)のアドレス ファミリは、今後のリリースでサポートされる予定です。 |
ルーティング テーブルの概要と詳細の情報をチェックすることで、RIB が RP 上で実行され、正常に機能していることを確認するために、RIB の設定を確認するには、次の作業を実行します。
1. showroute[vrf {vrf-name | all}] [afi-all |ipv4 | ipv6] [unicast | safi-all] summary [detail] [standby]
2. show route[vrf {vrf-name | all}] [afi-all |ipv4 | ipv6] [unicast | safi-all] [protocol [instance] | ip-address mask] [standby] [detail]
次に、show route backup コマンドの出力例を示します。
show route backup Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local S 172.73.51.0/24 is directly connected, 2d20h, HundredGigE 4/0/0/1 Backup O E2 [110/1] via 10.12.12.2, HundredGigE 3/0/0/1
ノード間のルートの動作を検証するには、次のタスクを実行します。
1. show route[vrf {vrf-name | all}] [afi-all | ipv4 | ipv6] [unicast | safi-all] [protocol [instance] | ip-address mask] [standby] [detail]
2. show route[vrf {vrf-name | all}] [afi-all | ipv4 | ipv6] [unicast | safi-all] backup [ip-address] [standby]
3. showroute[vrf {vrf-name | all}] [ipv4 | ipv6] [unicast | safi-all] best-localip-address [standby]
4. showroute[vrf {vrf-name | all}] [afi-all | ipv4 | ipv6] [unicast | safi-all] connected[standby]
5. showroute[vrf {vrf-name | all}] [afi-all | ipv4 | ipv6] [unicast | safi-all] local [interface] [standby]
6. show route[vrf {vrf-name | all}] [ipv4| ipv6] [unicast | safi-all]longer-prefixes{ip-address mask | ip-address/prefix-length} [standby]
7. showroute[vrf {vrf-name | all}] [ipv4 | ipv6] [unicast | safi-all] next-hopip-address [standby]
次に、アドレスを指定せずに入力した show route コマンドの出力例を示します。
show route Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local Gateway of last resort is 172.23.54.1 to network 0.0.0.0 C 10.2.210.0/24 is directly connected, 1d21h, Ethernet0/1/0/0 L 10.2.210.221/32 is directly connected, 1d21h, Ethernet0/1/1/0 C 172.20.16.0/24 is directly connected, 1d21h, ATM4/0.1 L 172.20.16.1/32 is directly connected, 1d21h, ATM4/0.1 C 10.6.100.0/24 is directly connected, 1d21h, Loopback1 L 10.6.200.21/32 is directly connected, 1d21h, Loopback0 S 192.168.40.0/24 [1/0] via 172.20.16.6, 1d21h
RIB ネクスト ホップ ダンプニングをディセーブルにするには、次のタスクを実行します。
1. router rib
2. address-family {ipv4 | ipv6} next-hop dampening disable
3. commit
次に、show route resolving-next-hop コマンドの出力例を示します。
show route resolving-next-hop 10.0.0.1 Nexthop matches 0.0.0.0/0 Known via "static", distance 200, metric 0, candidate default path Installed Aug 18 00:59:04.448 Directly connected nexthops 172.29.52.1, via MgmtEth0/ /CPU0/0 Route metric is 0 172.29.52.1, via MgmtEth0/RP1/CPU0/0 Route metric is 0
ルート整合性チェッカ(RCC)、およびラベル整合性チェッカ(LCC)オンデマンド スキャンをトリガーするには、次の作業を実行します。オンデマンド スキャンは、特定のアドレス ファミリ(AFI)で、サブ アドレス ファミリ(SAFI)、テーブル、および、プレフィックス、VRF、またはテーブルのすべてのプレフィックスに関して実行できます。
1. 次のいずれかのコマンドを使用します。
2. 次のいずれかのコマンドを使用します。
ルート整合性チェッカ(RCC)およびラベル整合性チェッカ(LCC)のバックグラウンド スキャンを実行するには、次のタスクを実行します。
1. configure
2. 次のいずれかのコマンドを使用します。
3. commit
4. 次のいずれかのコマンドを使用します。
rcc ipv6 unicast period 500
lcc ipv6 unicast period 500
show rcc ipv4 unicast 10.10.0.0/16 vrf vrf 1
show lcc ipv6 unicast all
RIB は、ボーダー ゲートウェイ プロトコル(BGP)や他のユニキャスト ルーティング プロトコルなどの他のルーティング アプリケーションとは異なるプロセスを使用してデータ構造を維持します。ただし、これらのルーティング プロトコルは、RIB が使用するものと似た内部データ構造を使用し、RIB としてそのデータ構造を内部的に参照することがあります。たとえば、BGP ルートは BGP RIB(BRIB)に保存されます。RIB プロセスは、BGP によって処理される BRIB に関与しません。
パケットを転送するためにラインカードおよび RP によって使用されるテーブルは、転送情報ベース(FIB)と呼ばれます。RIB プロセスは FIB を構築しません。代わりに、RIB はバルク コンテンツ ダウンローダ(BCDL)プロセスによって、FIB プロセスに最適な、選択されたルートのセットをバルク各ラインカードにダウンロードします。続いて、FIB が構築されます。
転送は最長プレフィックス照合に基づいて行われます。10.0.2.1 宛てのパケットを転送する場合、マスク /24 は /16 よりも長い(より具体的である)ため、10.0.2.0/24 は 10.0.0.0/16 よりも優先されます。同じプレフィックスと同じ長さを持つ、異なるプロトコルからのルートは、アドミニストレーティブ ディスタンスに基づいて選択されます。たとえば、Open Shortest Path First(OSPF)プロトコルのアドミニストレーティブ ディスタンスは 110、Intermediate System-to-Intermediate System(IS-IS)プロトコルのアドミニストレーティブ ディスタンスは 115 です。IS-IS および OSPF の両方が RIB に 10.0.1.0/24 をダウンロードすると、OSPF のアドミニストレーティブ ディスタンスの方が小さいため、RIB は OSPF ルートを優先します。同じ長さの複数のルート間で選択するためだけにアドミニストレーティブ ディスタンスが使用されます。
プロトコル |
アドミニストレーティブ ディスタンスのデフォルト |
---|---|
接続されているルートまたはローカル ルート |
0 |
スタティック ルート |
1 |
外部 BGP ルート |
20 |
OSPF ルート |
110 |
IS-IS ルート |
115 |
内部 BGP ルート |
200 |
一部のルーティング プロトコル(たとえば、IS-IS、OSPF、BGP など)のアドミニストレーティブ ディスタンスは変更できます。プロトコルのアドミニストレーティブ ディスタンスを変更する適切な方法については、そのプロトコル固有のマニュアルを参照してください。
![]() (注) |
すべてではなく一部のルータで、プロトコルのアドミニストレーティブ ディスタンスを変更すると、ルーティング ループなどの予想外の動作が発生することがあります。したがって、これは推奨されません。 |
RIB は、RIB とクライアントとの間でやり取りされるメッセージ(要求)の統計情報をサポートします。プロトコル クライアントは、メッセージを RIB に送信します(たとえば、ルート追加、ルート削除、ネクスト ホップの登録など)。RIB もメッセージを送信します(たとえば、ルート、アドバタイズメント、ネクスト ホップ通知などの再配布)。これらの統計情報は、どのようなメッセージが送信されたかに関して、また送信されたメッセージ数に関する情報を収集するために使用されます。これらの統計情報には、RIB サーバとそのクライアント間で転送される各種メッセージのカウンタが含まれています。統計情報は、show rib statistics コマンドを使用して表示します。
RIB は、次に挙げるような、クライアントから送信されるすべての要求のカウンタを保持します。
RIB は、RIB によって送信されるすべての要求のカウンタも保持します。設定は RIB ネクスト ホップ ダンプニング機能をディセーブルにします。この結果、クライアントが登録したネクスト ホップが解決された、または解決されなかった場合に RIB はクライアントにすぐに通知します。RIB は、要求の結果に関する情報も保持します。
RIB 検疫は、ルーティング プロトコルと RIB 間の相互作用における問題を解決します。問題は、ルートが継続的に挿入され、RIB から取り消される場合に発生する、RIB とルーティング プロトコルの間の持続振動です。問題が解決されるまで、CPU 使用率にスパイクが生じます。振動に減衰がない場合、プロトコル プロセスおよび RIB プロセスが CPU を多く使用するため、システムのその他の部分に影響を与え、さらにプロトコルおよび RIB のその他の動作の障害となります。この問題は、RIB にルートの特定の組み合わせが受信されて取り込まれた場合に発生します。この問題は、通常、ネットワークの設定が間違っている場合に発生します。ただし、設定ミスはネットワーク全体であるため、単一のルータの設定時に問題を検出できません。
隔離メカニズムでは相互に再帰的なルートが検出されますが、ここで隔離されるのは相互の再帰が完了した最終ルートです。検疫ルートは、相互の再帰が解消したか確認するために定期的に評価されます。再帰が引き続き存在する場合は、ルートは検疫対象のままとなります。再帰が解消した場合は、ルートは検疫対象から外れます。
次の手順を使用して、ルートを隔離します。
ルート整合性チェッカおよびラベル整合性チェッカ(RCC/LCC)はコマンドライン ツールです。これは、コントロール プレーンとデータ プレーン ルート間および IOS XR ソフトウェアのラベル プログラミングの整合性を検証するために使用できます。
運用中ネットワークのルータは、転送情報がコントロール プレーン情報と一致しない状態になった可能性があります。この原因は、ルート プロセッサ(RP)とラインカード(LC)間でのファブリック障害または転送障害、または転送情報ベース(FIB)に関する問題である可能性があります。RCC/LCC を使用すると、結果として生じたコントロール プレーンとデータ プレーン間の不整合を識別して詳細情報を出力できます。この情報は、転送問題とトラフィック損失の原因をさらに調査して診断するために使用できます。
RCC/LCC は、2 つのモードで実行できます。RCC/LCC は、適切なコマンド モードをオンデマンドとして使用して 1 回かぎりのスキャンでトリガーする(オンデマンド スキャン)か、通常のルータ動作中にバックグラウンドで定義した間隔で実行するように設定(バックグラウンド スキャン)できます。RCC は、ルーティング情報ベース(RIB)を転送情報ベース(FIB)と比較します。一方、LCC は、ラベル スイッチング データベース(LSD)を FIB と比較します。不整合が検出されると、RCC/LCC 出力では、特定のルートまたはラベルを識別し、検出された不整合のタイプを識別して、さらなるトラブルシューティングに役立つ追加のデータも提供します。
RCC はルート プロセッサで動作します。FIB は、ライン カード上のエラーについてチェックし、最初の 20 のエラー レポートを RCC に送信します。RCC はすべてのノードからエラー レポートを受信し、それらを要約し(完全一致についてチェックし)、2 つのキュー(ソフトまたはハード)に追加します。各キューのエラー レポート数の制限は 1000 で、キューに優先度はありません。RCC/LCC は、異なるノードからの同じエラー(完全一致)を 1 つのエラーとして記録します。RCC/LCC は、エラーのプレフィックス/ラベル、バージョン番号、タイプなどに基づいてエラーを比較します。
オンデマンド スキャンでは、ユーザは、特定のテーブルの特定のプレフィックスまたはテーブル内のすべてのプレフィックス関するコマンドライン インターフェイス全体のスキャンを要求します。スキャンはただちに実行され、結果がすぐに発行されます。LCC は LSD でオンデマンド スキャンを実行するのに対し、RCC は VRF 単位で実行します。
バックグラウンド スキャンでは、ユーザはバックグラウンドで実行されるスキャンを設定します。設定は、定期的なスキャンの間隔で構成されます。このスキャンは、単一または複数のテーブルに設定できます。LCC は LSD でバックグラウンド スキャンを実行するのに対し、RCC はデフォルトの VRF または他の VRF に対し実行します。