Routing Information Protocol

Routing Information Protocol (ルーティング・インフォメーション・プロトコル、略称：RIP) とはUDP/IP上で動作するルーティングプロトコルである。

 概要 
自律システム (AS) 内のルーティングを行うInterior Gateway Protocol（IGP）の通信プロトコルである。また、距離ベクトル型（DVA）のルーティングを行う距離ベクトル型ルーティングプロトコル（ディスタンスベクタルーティング）である。

RIPは、経由する可能性のあるルータをホップ数という値で数値化し、 (Distance Vector Algorithm)というアルゴリズムで隣接ホストとの経路を動的に交換する事で、パケットが目的のネットワークアドレスにたどり着くまでの最短経路を決定する。また、有効経路を2つまで採用し、固定メトリック値を与えることで、同一ホップ数の経路がある場合に優先する経路を制御することが可能である。

目的ネットワークアドレス、次のホップ先IPアドレス、目的ネットワークまでのホップ数などの情報は、ルーター内のルーティング・データベースに記録され、ルータ間で定期的に情報交換が行われる。その中から有効な経路を抽出したテーブルがルーティング・テーブルと呼ばれている。

ネットワーク全体のネットワーク・トポロジーを考慮する必要がないため、計算負荷が非常に低いメリットがある。しかし、ネットワーク全体の経路が完全に収束するまでの時間が長いというデメリットがある。また、リンクダウンが起きると、そのリンクと関係した経路のメトリックが無限大に発散するCount-to-Infinity問題が起きる可能性があり、実際に起きた場合には、無駄な経路情報が流れ続ける状態に陥ってしまうという大きなデメリットをもつ(RFC2453(RIP Version 2)のPage14-Page15でも言及されている)。一旦、1箇所でもこの問題が起きれば、その周辺のルータの経路表の特定の送信先に関する経路のメトリックも無制限に増加して行く。

1990年代半ばまでは計算機の能力に余裕がなく、OSPF対応ルータは高価であり、上記の問題への対応よりも計算負荷の低さのメリットが優先されたためにRIPの運用が広く行われていた。

2000年以降の計算機の性能向上により、上記の問題を全て解決したリンクステート型のOSPFで用いるダイクストラ法の計算負荷は大きな問題ではなくなった。現在はRIP専用ルータからOSPF対応ルータへと置き換えが進んだことで、RIPは利用可能な計算資源が非常に少ない場合を除いて全く使用されなくなった。

 ホップ数と固定メトリック 
RIPv1が実装されているホストは、基本的に自己に接続されるネットワークについて、同一ネットワーク内に存在する他のホストに対してブロードキャストする。RIPv2では、送信先IPアドレス224.0.0.9に向かってマルチキャストで送信する。オリジナルの経路情報(ホップ0)を他のホストで受信した場合、これに経路ホップ数を1追加していく。このホップ数が16以上になると、無限遠として扱われ、有効経路として採用されなくなる。

 メリット 
 経路計算アルゴリズムが極めて簡素であるため、ルータにかかる負荷が少ない。そのため、計算性能の低いルータにも実装が可能である。
 使い方が容易で、少しのコマンドを覚えるだけで簡単に設定が行える。

 デメリット 
 前述の通り、ホップ数15の経路は有効経路として採用されないため、ルータを複数個使用するような大規模ネットワークには不向きであると言われる。(しかし、日本から米国Yahoo!までであってもホップ数は13ホップ程度である。大きな半径を持つリング状トポロジのような、特殊なネットワークを作らない限り、単一組織内であれば全く問題ではないといえる。)
 他のルータと情報交換を行う際、ブロードキャストを用いてルーティングテーブルを転送するため、トラフィックを圧迫しやすい。
バージョン1ではサブネットマスクをルート情報に含めることができない(クラスフルなルーティングプロトコル)ため、VLSM・CIDRをサポートしない。このため、正しくネットワーク・IPアドレス空間の設計を行わないと、他のネットワークに分断されたり(不連続ネットワーク)、サブネットマスクが異なるネットワークへのパケット転送ができない。この問題はバージョン2では解消されている。

 バージョンと互換性 
2007年現在、主に使われているのはRIP Version 2である。小さなネットワークで使用する前提で、簡易的に経路制御プロトコルを実装しているルーターなどは、いまだにRIP Version 1が多い。バージョン互換性が高く、ベンダ独自の仕様も少ないが、RIP Version 2を用いて構築されたネットワークで詳細なオプションが指定されている場合は、互換性は低いものとなる。

 バージョン 
RIP には3つのバージョンがある。RIPv1はで、RIPv2はで、RIPngはで定義される。

 バージョン2で追加された機能 
 Multicast アドレスによるRIPパケット送出 - この場合に利用されるMulticast アドレスは、224.0.0.9である。
 PlainTextによる認証機能(追ってでMD5認証、でSHA-1,SHA-2による認証がサポートされた)
 Netmask(CIDR)のサポート - ゆえに、RIPバージョン2はクラスレスなルーティングプロトコルである。
 不連続サブネットにも対応可能
 Nexthopアドレスのサポート - 特定の送信先への経路のリダイレクトが可能である。

 関連規約 
IPv4向け
  - Routing Information Protocol
  - RIP Version 2
  - RIP-2 MD5 Authentication
  - RIPv2 Cryptographic Authentication

IPv6向け
  - RIPng for IPv6

 出典・脚注 

 参考文献 

Category:ルーティングプロトコル
Category:アプリケーション層プロトコル
Category:インターネット標準
1058