RIP/RIPngの機能説明
RIP/RIPngは、ダイナミックルーティングを実現するルーティングプロトコルです。
セカンダリーIPアドレスのサブネットでは、RIPを有効にできません。
RIP/RIPngでは、アップデート時間(デフォルト設定で30秒)の周期で隣接ルーターと定期的に経路情報を交換し、最適な経路をルーティングテーブルに保持します。
また、経路上のルーターに障害が発生するなどによってネットワークの状態が変化し、経路情報のメトリック値に変更があった場合は、トリガードアップデートによって変更された経路情報だけがすぐに送信されます。これにより、変更された経路情報だけがルーティングテーブルで更新されます。
経路情報の交換
最適な経路は、メトリックによって判断されます。RIP/RIPngのメトリックは、宛先ネットワークまでのホップ数(経由するルーターの数)です。ホップ数は、ルーターを越えるごとに「1」ずつ加算されます。最適経路は、最もメトリックの値が小さい経路です。
RIP/RIPngでは、イコールコストマルチパス(ECMP)をサポートしていません。
メトリック値の最大は「15」です。16台以上のルーターを経由するルートは、到達不能な経路になります。
最適経路とメトリック値の積算
タイムアウトタイマー(デフォルト設定で180秒)以内に経路情報が送られてこなかったルーターは通信不能と判断され、メトリック値に「16」が設定されます。さらにガベージコレクションタイマー(デフォルト設定で120秒)が経過する間に経路情報が送られてこなかった場合、該当する経路情報はルーティングテーブルから削除されます。
障害発生時の対応
RIP/RIPngの経路情報と動作
RIPはIPv4のためのルーティングプロトコルです。RIPにはバージョン1(以後、RIPv1)とバージョン2(以後、RIPv2)の2つのバージョンがあります。RIPngはIPv6のためのルーティングプロトコルです。RIPv1、RIPv2、およびRIPngの経路情報と動作について、以下に説明します。
RIPv1は、経路情報として「IPv4アドレス」と「メトリック値」をブロードキャストします。
RIPv1が送信する経路情報には、サブネットマスクの情報が含まれません。そのため、ルーターはネットワークアドレスの情報のみを送信します。また、サブネットマスクの情報を含まないため、ネットワークアドレスはクラスフルマスクに集約して通知します。これをアドレスの集約と呼びます。
RIPv1アドレスの集約
RIPv2は、「IPv4アドレス」と「メトリック値」に加えて「サブネットマスク」と「ネクストホップのアドレス」も経路情報として送信できます。ネクストホップのアドレスを送信するため、経路情報ごとにネクストホップの指定ができます。
RIPv1では経路情報をブロードキャストしますが、RIPv2ではマルチキャストアドレス224.0.0.9を使用して経路情報をマルチキャストします。これにより、経路情報が不要なPCなどの機器に無駄なパケットが送られることがなくなり、ネットワークの負荷が軽減されます。
RIPv1との互換性を保つため、RIPv2ではブロードキャストも使用できます。
RIPv2では、サブネットマスクを送信することにより、同一クラスフルネットワークで異なるサブネットマスクの場合は、異なるネットワークとして認識します。また、アドレスを集約せずに、クラスフルネットワーク内の2つのネットワークアドレスを通知できます。
RIPv2アドレスの集約なし
RIPngの経路情報は、「IPv6プレフィックス」、「メトリック値」、「サブネットマスク」、および「ネクストホップのリンクローカルアドレス」です。マルチキャストアドレスFF02::9で経路情報をマルチキャストします。これにより、経路情報が不要なPCなどの機器に無駄なパケットが送られることがなくなり、ネットワークの負荷が軽減されます。
RIPngでは、RIPv2と同じくサブネットマスクを送信することにより、同一クラスフルネットワークで異なるサブネットマスクの場合は、異なるネットワークとして認識します。また、アドレスを集約せずに、クラスフルネットワーク内の2つのネットワークアドレスを通知できます。
RIPngアドレスの集約なし
RIP/RIPngの有効化
RIPは、デフォルト設定で無効です。RIPを有効化するにはrouter ripコマンドを使用し、networkコマンドで対象のネットワークを指定します。
RIPngは、デフォルト設定で無効です。RIPngはインターフェースごとに有効化します。RIPngを有効化するインターフェースでipv6 rip enableコマンドを使用してください。
ルーター設定モードに遷移するには、ipv6 router ripコマンドを使用します。
RIPバージョンの指定
装置で使用するRIPのバージョンを指定します。
すべてのインターフェースでのデフォルトのRIPバージョンは、バージョンを指定してversionコマンドを使用します。
インターフェースで受信するRIPパケットのバージョンを指定するには、バージョンを指定してip rip receive versionコマンドを使用します。
インターフェースで送信するRIPパケットのバージョンを指定するには、バージョンを指定してip rip send versionコマンドを使用します。
RIPパケット送受信の無効化
RIPでは、インターフェースでRIPパケットの送受信を無効化できます。RIPパケットの送受信を無効化するには、インターフェースを指定してpassive-interfaceコマンドを使用します。
認証の有効化
RIPv2とRIPngでは、経路情報の交換の際に認証を実行できます。
RIPv1は、認証機能がありません。
RIPv2の認証は、デフォルト設定で無効です。RIPv2の認証はインターフェースごとに有効化します。RIPv2の認証を有効化するインターフェースで、パスワードを指定してip rip authentication text-passwordコマンドを使用してください。また、認証モードを設定する場合は、認証を有効化するインターフェースでip rip authentication modeコマンドを使用してください。
RIPngの認証は、IPv6の認証機能を利用します。IPv6の認証機能では、IPv6認証ヘッダーおよび暗号化ヘッダーを使用してパケットを認証します。
経路情報のループ防止
RIPngでは、スプリットホライズンとポイズンリバースで、ルーター間の経路情報のループを防止できます。スプリットホライズンやポイズンリバースを使用しない場合、経路情報がループする可能性があります。
たとえば、下図のルーターAが直接接続しているネットワーク2000:1:1:1::/64への経路が失われた場合、タイムアウトタイマーとガベージコレクションタイマーを経た後、ルーターAのルーティングテーブルから2000:1:1:1::/64への経路情報が削除されます。
このとき、ルーターAの定期アップデートより先にルーターBの定期アップデートが発生すると、ルーターAのルーティングテーブルからは2000:1:1:1::/64への経路情報が存在しないため、ネクストホップをルーターBとしたネットワーク2000:1:1:1::/64への経路情報がルーターAのルーティングテーブルに登録されます(下図の(1))。メトリックは「1」加算され、「2」になります。
次に、ルーターAの定期アップデートが発生すると、ルーターBは2000:1:1:1::/64への経路情報のメトリックに「1」を加算して「3」に変更してルーティングテーブルを更新します(下図の(2))。
さらにルーターAとルーターBは、下図の(3)および(4)のようにメトリックに「1」を加算しながら2000:1:1:1::/64の経路情報の更新を繰り返します。これが、経路情報のループです。
経路情報のループ
スプリットホライズンとポイズンリバースは、このような経路情報のループを防止する機能です。
スプリットホライズンが有効な場合、隣接ルーターは送信されてきた経路情報を送信元のルーターに送信しません。これにより、経路情報のループを防止します。
たとえば、下図のルーターBがネットワーク91.10.0.0/24への経路情報をルーターAに送信した場合、ルーターAは経路情報の送信元であるルーターBにネットワーク91.10.0.0/24への経路情報を送信しません。これにより、経路情報のループが防止されます。
スプリットホライズンの動作
スプリットホライズンはデフォルト設定で有効です。スプリットホライズンが無効な状態から有効にするには、split-horizonコマンドを使用します。
ポイズンリバースが有効な場合、隣接ルーターは送信されてきた経路情報のメトリック値を「16」に設定して送信元のルーターに送信します。これにより、経路情報のループを防止します。
たとえば、下図のルーターBがネットワーク91.10.0.0/24への経路情報をルーターAに送信した場合、ルーターAはネットワーク91.10.0.0/24への経路情報のメトリック値に「16」を設定し、ルーターBに送信します。ルーターBは、受信したメトリック値「16」の経路情報をルーティングテーブルに登録しません。これにより、経路情報のループが防止されます。
ポイズンリバースの動作
ポイズンリバースはデフォルト設定で無効です。ポイズンリバースを有効にするには、poison-reverseコマンドを使用します。
RIPngの経路情報に加算するメトリック値の変更
RIPngでは、インターフェースごとに加算するメトリック値を変更することで、異なるインターフェースで受信した経路情報のメトリックを修正し、経路情報の優先度を調整できます。経路情報の優先度を調整するには、メトリック値を変更するインターフェースでメトリック値を指定し、ipv6 rip metric-offsetコマンドを使用します。
RIPv2パケットのブロードキャスト送信
RIPv2では、RIPv1との互換性を保持するために、パケットをブロードキャストできます。RIPv2パケットをブロードキャストするには、ip rip v2-broadcastコマンドを使用します。
他のルーティングプロトコルのルートのRIP/RIPngへの再配布
他のルーティングプロトコルから得たルートをRIP/RIPngに再配布できます。ルートを再配布するには、ルートを再配布するプロトコルを指定してredistributeコマンドを使用します。
RIP/RIPngに再配布される経路情報のデフォルトメトリックの変更
RIP/RIPngに再配布される経路情報のデフォルトメトリックを変更できます。デフォルトメトリックを変更するには、メトリック値を指定してdefault-metricコマンドを使用します。
各種タイマーの変更
アップデート時間、タイムアウトタイマー、およびガベージコレクションタイマーを変更できます。変更するには、それぞれの時間を指定し、RIPの場合はtimers basicコマンド、RIP/ngの場合はtimersコマンドを使用します。
RIP/RIPngのAD値の変更
RIP/RIPngのアドミニストレーティブディスタンス値(以後、AD値)を変更できます。デフォルト設定では、RIPのAD値は「100」、RIPngのAD値は「120」です。RIP/RIPngのAD値を変更するには、distanceコマンドを使用します。
ApresiaNPシリーズでは、AD値を255に設定した場合でも、通常の経路としてルーティングテーブルに取り込む対象として動作します。
RIPのルーティングテーブルの更新のフィルタリング
ルーティングプロトコルによるRIPのルーティングテーブルの更新をアクセスリストでフィルタリングできます。ルーティングテーブルの更新をフィルタリングするには、アクセスリストを指定してdistribute-list inコマンドを使用します。
RIPngプロセスのクリア
RIPngプロセスをクリアし、ルーティングデータベースを再作成できます。RIPngプロセスをクリアするには、clear ipv6 ripコマンドを使用します。