
コンピュータネットワークにおいて、ルーティングテーブル、またはルーティング情報ベース(RIB)とは、ルーターまたはネットワークホストに格納されるデータテーブルであり、特定のネットワーク宛先への経路、場合によってはそれらの経路に関連付けられたメトリック(距離)を一覧表示します。ルーティングテーブルには、その周囲のネットワークのトポロジーに関する情報が含まれています。
ルーティングテーブルの構築は、ルーティングプロトコルの主要な目的です。スタティックルートとは、ルーティングプロトコルやネットワークトポロジー検出手順によって生成されるのではなく、固定されているエントリのことです。
ルーティングテーブルは、パケット配送における配送マップに相当します。ノードがネットワーク上の別のノードにデータを送信する必要がある場合、まず送信先を知る必要があります。ノードが宛先ノードに直接接続できない場合は、経路上の他のノードを経由して宛先ノードに送信する必要があります。各ノードは、さまざまなデータパケットをどの経路で配信するかを追跡する必要があり、そのためにルーティングテーブルを使用します。ルーティングテーブルは、マップのように経路を追跡し、トラフィックを転送する経路を決定するために使用するデータベースです。ルーティングテーブルは、直接接続されたネットワークとリモートネットワークに関する経路情報を格納するために使用される、RAM 内のデータファイルです。ノードは、ルーティングテーブルの内容を他のノードと共有することもできます。
ルータの主な機能は、パケットを宛先ネットワーク(パケットの宛先IPアドレス)へ転送することです。そのためには、ルータはルーティングテーブルに格納されているルーティング情報を検索する必要があります。ルーティングテーブルには、ネットワークとネクストホップの関連付けが含まれています。これらの関連付けにより、特定の宛先へは、最終宛先までの経路上のネクストホップを表す特定のルータにパケットを送信することで最適に到達できることがルータに示されます。ネクストホップの関連付けは、最終宛先への送信インターフェースまたは出口インターフェースである場合もあります。
ホップバイホップルーティングでは、各ルーティングテーブルには、到達可能なすべての宛先に対して、その宛先までのパス上の次のデバイスのアドレス(ネクストホップ)がリストされます。ルーティングテーブルが一貫していると仮定すると、パケットを宛先のネクストホップに中継する単純なアルゴリズムで、ネットワーク内のどこにでもデータを配信できます。ホップバイホップは、IPインターネット層[ 1 ]とOSIネットワーク層の基本的な特徴です。
ルータのインターフェースにIPアドレスとサブネットマスクが設定されると、そのインターフェースは接続されたネットワーク上のホストになります。直接接続ネットワークとは、ルータのインターフェースのいずれかに直接接続されているネットワークのことです。インターフェースのネットワークアドレスとサブネットマスク、インターフェースの種類と番号は、直接接続ネットワークとしてルーティングテーブルに登録されます。
リモートネットワークとは、パケットを別のルータに送信することによってのみ到達可能なネットワークのことです。リモートネットワークへのルーティングテーブルエントリは、動的または静的のいずれかになります。動的ルートとは、ルータが動的ルーティングプロトコルによって自動的に学習したリモートネットワークへのルートです。静的ルートとは、ネットワーク管理者が手動で設定したルートです。
ルーティングテーブルは、ユニキャスト逆パス転送(uRPF)などの特定のセキュリティ操作の重要な側面でもあります。 [ 2 ]この技術にはいくつかのバリエーションがあり、ルータはルーティングテーブルでパケットの送信元アドレスも検索します。送信元アドレスへの戻りルートが存在しない場合、パケットは不正な形式であるか、ネットワーク攻撃に関与しているとみなされ、破棄されます。
限られたストレージ容量で多数のデバイスへの経路を記録する必要性は、ルーティングテーブル構築における大きな課題です。インターネット上で現在主流となっているアドレス集約技術は、クラスレスドメイン間ルーティング(CIDR)と呼ばれるビット単位のプレフィックスマッチング方式です。スーパーネットワークも、ルーティングテーブルのサイズ制御に役立ちます。
ルーティングテーブルは、少なくとも3つの情報フィールドで構成されます。
アプリケーションや実装によっては、パス選択をより詳細にするための追加値が含まれる場合もあります。
以下は、上記の表が家庭用ルーター経由でインターネットに接続されたコンピューター上でどのように表示されるかの例です。
現代のルータアーキテクチャでは、ルーティングテーブルはパケット転送に直接使用されることは一般的ではありません。代わりに、よりシンプルな転送テーブルの情報を生成するために使用されます。この転送テーブルには、ルーティングアルゴリズムによってパケット転送の優先ルートとして選択されたルートのみが含まれます。多くの場合、ハードウェアストレージと検索に最適化された圧縮形式または事前コンパイル形式になっています。
このルータアーキテクチャは、ルーティングテーブルの制御プレーン機能と転送テーブルの転送プレーン機能を分離します。[ 3 ]この制御と転送の分離により、中断のない高性能転送が実現します。