このページの内容
RIPとRIPngの概要
RIPの概要
RIPは内部ゲートウェイプロトコル(IGP)であり、距離ベクトルアルゴリズムを使用して、ホップ数をメトリックとして使用して、宛先への最適なルートを決定します。
RIPネットワークでは、各ルーターの転送テーブルは、ルーティングテーブル情報のフラッディングを通じてノード間で分散されます。トポロジーの変更はネットワーク全体にあふれているため、すべてのノードで同じ宛先のリストが維持されます。その後、パケットは、ネットワーク内の各ノードで行われるパスコスト計算に基づいて、これらの宛先にルーティングされます。
一般的に、 RIP という用語は、RIPバージョン1およびRIPバージョン2を指します。
このトピックでは、次のセクションについて説明します。
距離ベクトルルーティングプロトコル
距離ベクトルルーティングプロトコルは、通常、宛先までのホップ数として表される距離ベクトルを含むルーティング情報を送信します。この情報は、プロトコルが有効なすべてのインターフェイスから一定間隔(RIPの場合は30秒ごと)でフラッディングされ、各ノードのローカルトポロジーデータベースに保存されるネットワークマップを作成します。 図1 は、距離ベクトルルーティングの仕組みを示しています。
図1では、ルーターAとBは、隣接するインターフェイスでRIPを有効にしています。ルーターAには既知のRIPネイバールーターC、D、Eがあり、それぞれ1、2、3ホップ離れています。ルーターBには、既知のRIPネイバー ルーターX、Y、Zがあり、それぞれ1、2、3ホップ離れています。30秒ごとに、各ルーターはすべてのRIP対応インターフェイスからルーティングテーブル情報全体をフラッディングします。この場合、フラッディングはRIPリンクを介してルーティングテーブル情報を交換します。
ルーターAは、ルーターBからルーティング情報を受信すると、ホップカウントに1を追加して新しいホップカウントを決定します。例えば、ルーターXのホップカウントは1ですが、ルーターAがXにルートをインポートすると、新しいホップカウントは2になります。インポートされたルートには、ルートが学習された場所に関する情報も含まれているため、元のルートは、ホップカウントが2のルーターBを経由してルーターXへのルートとしてインポートされます。
同じホストへの複数のルートを受信した場合、RIPは距離ベクトルアルゴリズムを使用して、どのパスを転送テーブルにインポートするかを決定します。ホップ数が最も小さいルートがインポートされます。同じホップ数のルートが複数ある場合、すべてが転送テーブルにインポートされ、トラフィックはラウンドロビン方式でパスに沿って送信されます。
RIPプロトコルの概要
RIP IGPは、ベルマン-フォード( 距離ベクトル)アルゴリズムを使用して、宛先への最適なルートを決定します。RIPは、ホップカウントをメトリックとして使用します。RIPを使用すると、ホストとルーターが情報を交換して、IPベースのネットワークを介してルートを計算できます。RIPは、適度なサイズの適度に均質なネットワークでIGPとして使用することを目的としています。
Junos®オペレーティングシステム(Junos OS)は、RIPバージョン 1および 2をサポートしています。
RIPは、マルチポイントインターフェイスではサポートされていません。
RIPバージョン 1のパケットには、ネットワークを介してパケットをルーティングするために必要な最小限の情報が含まれています。ただし、このバージョンのRIPは、認証やサブネッティングをサポートしていません。
RIPは、ユーザーデータグラムプロトコル(UDP)ポート 520を使用します。
RIPには、以下のアーキテクチャ上の制限があります。
最長のネットワークパスは15 ホップを超えることはできません(各ネットワークまたはホップのコストが1であると 仮定)。
RIPは、特定の異常な状況を解決するために無限大までのカウントに依存します。ネットワークが数百台のルーターで構成されており、ルーティングループが形成されている場合、ネクストホップを解決するために必要な時間とネットワーク帯域幅が大きくなる可能性があります。
RIPは、固定メトリックのみを使用してルートを選択します。他のIGPは、測定された遅延、信頼性、負荷などの追加パラメーターを使用します。
RIP パケット
RIP パケットには、以下のフィールドが含まれています。
コマンド—パケットがリクエストメッセージか応答メッセージかを示します。リクエストメッセージは、ルーターのルーティングテーブルの情報を求めます。応答メッセージは定期的に送信され、リクエストメッセージを受信したときにも送信されます。定期的な応答メッセージは 、更新メッセージと呼ばれます。更新メッセージには、コマンドフィールドとバージョンフィールド、および25 の宛先(デフォルト)が含まれており、それぞれに宛先IPアドレスとその宛先に到達するためのメトリックが含まれています。
手記:Junos OSリリース11.1以降、RIPデマンド回線をサポートするために、3つの追加のコマンドフィールドタイプが利用可能になりました。RIPデマンド回線のインターフェイスを設定する場合、コマンドフィールドには、パケットが更新リクエスト、更新応答、または更新確認メッセージかどうかが示されます。ネイバーインターフェイスは、定期的にではなく、オンデマンドで更新を送信します。これらのコマンドフィールドタイプは、RIPデマンド回線用に設定されたインターフェイスでのみ有効です。詳細については、「 RIPデマンド回線の概要」を参照してください。
バージョン番号—送信元ルーターが実行しているRIPのバージョン。
アドレスファミリー識別子—発信元ルーターが使用するアドレスファミリー。ファミリーは常にIPです。
アドレス—パケットに含まれるIPアドレス。
メトリック—アドレスにアドバタイズされたメトリックの値。
マスク—IPアドレスに関連付けられたマスク(RIPバージョン 2のみ)。
ネクストホップ—ネクストホップルーターのIPアドレス(RIPバージョン 2のみ)。
ルーティング情報は、RIPリクエストとRIP応答パケットによってRIPネットワーク内で交換されます。起動したばかりのルーターは、RIP対応のすべてのインターフェイスでRIPリクエストをブロードキャストできます。これらのリンクで RIP を実行しているルーターは、リクエストを受信し、RIP 応答パケットを即座にルーターに送信して応答します。応答パケットには、ネットワークトポロジーマップのローカルコピーを構築するために必要なルーティングテーブル情報が含まれています。
RIPリクエストパケットがない場合、すべてのRIPルーターは、すべてのRIP対応インターフェイスで30秒ごとにRIP応答パケットをブロードキャストします。RIPブロードキャストは、トポロジー情報がネットワーク全体にフラッディングする主要な方法です。
ルーターがRIPを通じて特定の宛先について学習すると、タイマーを開始します。宛先に関する情報を含む新しい応答パケットを受信するたびに、ルーターはタイマーをゼロにリセットします。ただし、ルーターが特定の宛先に関する更新を180秒間受信しない場合、その宛先をRIPルーティングテーブルから削除します。
30秒ごとに定期的に送信されるRIPパケットに加えて、ルーターが新しいネイバーを検出したり、インターフェイスが利用できないことを検出したりすると、トリガーされた更新を生成します。新しいルーティング情報は、RIP対応インターフェイスすべてに即座にブロードキャストされ、変更は後続のすべてのRIP応答パケットに反映されます。
ホップ数の最大化
RIP ネットワーク上でトラフィックを正常にルーティングするには、ネットワーク内のすべてのノードがトポロジーの同じビューを維持する必要があります。トポロジー情報は、30秒ごとにRIPネイバー間でブロードキャストされます。ルーターAが新しいホストであるルーターBから多くのホップ離れている場合、Bへのルートがネットワークを介して伝播し、ルーターAのルーティングテーブルにインポートされるまでにかなりの時間がかかる可能性があります。2つのルーターが互いに5ホップ離れている場合、ルーターAはルーターBがオンラインになってから2.5分後(1ホップあたり30秒)まで、ルーターBにルートをインポートできません。ホップ数が多いと、遅延が大きくなります。この遅延が恣意的に大きくならないように、RIP は最大ホップ数を 15 ホップに設定します。15ホップ以上離れているプレフィックスは到達不能として扱われ、無限大に等しいホップカウントが割り当てられます。この最大ホップ数を ネットワーク直径と呼びます。
スプリット ホライズンとポイズン リバース効率技術
RIPは、定期的にルーティングテーブル全体をネットワークにフラッディングすることで機能するため、大量のトラフィックを生成します。スプリット ホライズンとポイズン リバース技術は、RIP ホストから発信されるネットワーク トラフィックの量を削減し、ルーティング情報の送信をより効率的にするのに役立ちます。
ルーターが特定のインターフェイスで一連のルートアドバタイズメントを受信した場合、RIPはそれらのアドバタイズメントを同じインターフェイスから再送信する必要がないと判断します。ス プリット ホライズンと呼ばれるこの手法は、そのインターフェイス上の他のネイバーがすでに学習した情報を排除することで、RIP ルーティング トラフィックの量を制限するのに役立ちます。 図2 は、スプリットホライズン手法の例を示しています。
図2では、ルーターAはルーターC、D、EへのルートをルーターBにアドバタイズしています。この例では、ルーターA は2ホップでルーターCに到達できます。ルーターAがルーターBにルートをアドバタイズすると、ルーターBはルーターAを介してルーターCへのルートとして3ホップでインポートします。その後、ルーターBがこのルートをルーターAに再アドバタイズした場合、ルーターAはルーターBを経由してルーターCへのルートとして4ホップでインポートします。ただし、ルーターAはすでに2ホップでルートに到達できるため、ルーターBからルーターAへのアドバタイズは不要です。スプリット ホライズン技術は、このタイプのルート アドバタイズメントを排除することで余分なトラフィックを削減するのに役立ちます。
同様に、ポイズンリバース技術は、ルーティング情報の送信を最適化し、ネットワークコンバージェンスに到達するまでの時間を短縮するのに役立ちます。ルーターAがそのインターフェイスの1つを介して到達不能ルートについて学習した場合、同じインターフェイスからそれらのルートを到達不能(ホップカウント16)としてアドバタイズします。 図3 は、ポイズンリバース技術の例を示しています。
図3では、ルーターAは、ルーターC、D、およびEへのルートが到達できないことを、そのインターフェイスの1つから学習しています。ルーターAは、これらのルートを到達不能として同じインターフェイスから再アドバタイズします。このアドバタイズメントは、ルーターBに、ルーターC、D、EがルーターAを介して到達できないことを通知します。
一方向接続の制限
RIPは、ルーティングルーティングテーブルの更新のみに基づいてルーティング情報を処理するため、双方向の接続を保証することはできません。 図4 に示すように、RIPネットワークはその単方向接続によって制限されます。
図4では、ルーターAとDは、ルーティングテーブル情報をルーターBにフラッディングしています。ルーター E へのパスは、ルーター A を経由する場合のホップが最も少ないため、そのルートはルーター B の転送テーブルにインポートされます。ただし、ルーターAはトラフィックを送信できますが、リンクが利用できないか無効なルーティングポリシーのためにルーターBからのトラフィックを受信していないとします。ルーター E への唯一のルートがルーター A を経由する場合、双方向接続が確立されなかったため、ルーター A を宛先とするトラフィックはすべて失われます。
OSPFは、3方向ハンドシェイクで双方向接続を確立します。
関連項目
RIPngの概要
次世代ルーティング情報プロトコル(RIPng)は、ホップ数をメトリックとして使用して、距離ベクトルアルゴリズムを使用して宛先への最適なルートを決定する内部ゲートウェイプロトコル(IGP)です。RIPngは、ルートの計算に使用されるルーティング情報を交換し、IPバージョン6(IPv6)ベースのネットワークを対象としています。RIPngはデフォルトで無効になっています。
セキュアなコンテキストのデバイスでは、IPv6は無効になっています。RIPngを使用するには、IPv6を有効にする必要があります。手順については、 『セキュリティデバイス向けJunos OSインターフェイス設定ガイド』を参照してください。
このトピックでは、次のセクションについて説明します。
RIPngプロトコルの概要
RIPng IGPは、ベルマン-フォード距離ベクトルアルゴリズムを用いて、ホップカウントをメトリックとして使用して、宛先への最適なルートを決定します。RIPngを使用すると、ホストとルーターが情報を交換して、IPベースのネットワークを介してルートを計算できます。RIPngは、中規模の自律システム向けのIGPとして機能することを目的としています。
RIPngは、RIPv2とは異なるルーティングプロトコルです。RIPngのJunos OS実装はRIPv2と似ていますが、以下のような違いがあります。
RIPngは、パケットに認証を実装する必要はありません。
Junos OSは、RIPngの複数のインスタンスをサポートしていません。
Junos OSは、RIPngルーティングテーブルグループをサポートしていません。
RIPngはUDPベースのプロトコルで、UDPポート521を使用します。
RIPngには、以下のアーキテクチャ上の制限があります。
最長のネットワークパスは15ホップを超えることはできません(各ネットワークまたはホップのコストが1であると仮定)。
RIPngは、ルーティングテーブルを再構築する際にルーティングループが発生しやすい存在です。特に、数百台のルーターで構成される大規模なネットワークにRIPngが実装されている場合、RIPngはルーティングループを解決するのに非常に長い時間がかかる可能性があります。
RIPngは、固定メトリックのみを使用してルートを選択します。他のIGPは、測定された遅延、信頼性、負荷などの追加パラメーターを使用します。
RIPng標準
RIPngは、以下のドキュメントで定義されています。
RFC 2080、 RIPng for IPv6
RFC 2081、 RIPng Protocol Applicability Statement
インターネットコメント依頼(RFC)およびドラフトにアクセスするには、インターネット技術タスクフォース(IETF)のWebサイトを参照してください。
RIPngパケット
RIPngパケットヘッダーには、以下のフィールドが含まれます。
コマンド—パケットがリクエストメッセージか応答メッセージかを示します。リクエストメッセージは、ルーターのルーティングテーブルの情報を求めます。応答メッセージは、定期的に、またはリクエストメッセージを受信したときに送信されます。定期的な応答メッセージは、更新メッセージと呼ばれます。更新メッセージには、コマンドフィールドとバージョンフィールド、および一連の宛先とメトリックが含まれます。
バージョン番号—発信元ルーターが実行しているRIPngのバージョンを指定します。これは現在バージョン1に設定されています。
RIPngパケットの残りの部分には、以下のフィールドで構成されるルーティングテーブルエントリーのリストが含まれています。
宛先プレフィックス—宛先の128ビットIPv6アドレスプレフィックス。
プレフィックス長—プレフィックス内の有効ビットの数。
メトリック—アドレスにアドバタイズされたメトリックの値。
ルートタグ—ルートとともにアドバタイズおよび再配布する必要があるルート属性。主に、ルートタグは、外部ゲートウェイプロトコル(EGP)を介してルートを再分配する必要がある場合に、外部RIPngルートと内部RIPngルートを区別します。
関連項目
サポートされているRIPおよびRIPng標準
Junos OSは、RIP(IPバージョン 4[IPv4]用)およびRIP次世代(RIPng、IPバージョン 6[IPv6]用)の標準を定義する以下のRFCを実質的にサポートしています。
Junos OSは、すべてのRIPプロトコル交換(MD5または単純認証)の認証をサポートしています。
RFC 1058、 ルーティング情報プロトコル
RFC 2080、 IPv6向けRIPng
RFC 2082、 RIP-2 MD5認証
個別のキーIDを使用する複数のキーはサポートされていません。
RFC 2453、 RIPバージョン2
以下のRFCは標準を定義していませんが、RIPngに関する情報を提供します。IETF はこれを「情報」として分類しています。
RFC 2081、 RIPngプロトコル適用性声明