ITの教科書検索
入門・発展ページ読了 約11分

RIPとは ― ホップ数で経路を決める仕組み

RIPは、ホップ数が少ない経路を選ぶ距離ベクトル型のルーティングプロトコルです。15ホップの上限、30秒ごとの更新、ループの防ぎ方、OSPFとの違いを解説します。

目次
  1. RIPとは
  2. 距離ベクトル型の仕組み
  3. ホップ数と上限の15
  4. 30秒ごとの更新と収束
  5. ルーティングループとスプリットホライズン
  6. RIPv1・RIPv2・RIPng
  7. RIPとOSPFの違い
  8. RIPが向く規模
  9. 練習問題

RIPは、ホップ数が少ない経路を選ぶルーティングプロトコル

RIP(Routing Information Protocol)は、経由するルータの数が少ない経路を選ぶルーティングプロトコルです。経路の良し悪しは経由するルータの数であるホップ数だけで決まり、15ホップより遠い宛先には届きません。経路は、隣のルータと交換する経路表をもとに決めます。

RIPのような方式を、距離ベクトル型と呼びます。各ルータはネットワーク全体の地図を持たず、隣から聞いた距離をもとに経路を決めます。15ホップの上限があるため、RIPを使えるのは小さなネットワークに限られます。

距離ベクトル型とは:隣から聞いた距離に1を足す

たとえば、3台のルータR1・R2・R3が1列につながっているとします。R1には192.168.10.0/24のLANが直接つながっているので、R1の経路表では、このLANまでの距離は0です。

R1は、自分の経路表を隣のR2へ送ります。R2は、R1の距離0にR1までの1ホップを足して、このLANまでの距離を1と記録します。次にR2が経路表をR3へ送ると、R3は1にさらに1を足して、距離2と記録します。

経路表つながる経路表を送る+1ホップ経路表を送る+1ホップLAN192.168.10.0/24R1R2R3距離 0直接接続距離 1R1経由距離 2R2経由経路表つながる経路表を送る+1ホップ経路表を送る+1ホップLAN192.168.10.0/24R1R2R3距離 0直接接続距離 1R1経由距離 2R2経由
R1の先のLANへの距離は、経路表が隣へ送られるたびに1ホップずつ増えます。R2とR3が知っているのは、距離と、どの隣へ渡すかだけです。

各ルータが知っているのは、宛先ごとの距離と、どの隣へ渡せばよいかの2つだけです。この距離と向きの組を距離ベクトルと呼びます。R3は、R1とR2の間がどうつながっているかを知りません。

この計算方法は、ベルマンフォード法というアルゴリズムにもとづいています(RFC 2453の3.1節)。OSPFのようなリンクステート型は、エリア内のつながり方全体を全ルータで共有する点が違います。

ホップ数と上限:15まで届き、16は到達不能

RIPの距離の単位がホップ数で、宛先のネットワークに着くまでに経由するルータの数を表します。ルータ自身に直接つながるネットワークは、0と数えます。

ホップ数の上限は15です。16は無限大を表す値で、その宛先には届かないことを意味します。RFC 2453の3.2節によると、RIPを使えるのは、最も長い経路が15ホップまでのネットワークです。

なお、RFC 2453は直接つながるネットワークの距離を1と数えます。Ciscoのルータの設定ガイドは0と数えるので、ルータの台数との対応が1つずれます。どちらの数え方でも、16が到達不能を表す点は同じです。

次の図で、1列につなぐルータの台数を変えられます。R1の先のLANまでの距離は、1台増えるごとに1ずつ増えます。

  1. LAN192.168.10.0/24
  2. R10(直接)
  3. R21ホップ
  4. R32ホップ
  5. R43ホップ
4台:R4から192.168.10.0/24までは3ホップです。上限の15ホップまで、あと12台増やせます。

同じ宛先への経路を2つの隣から聞いたときは、距離の小さい方を選びます。RIPは回線の速さを見ないので、遅い回線でもホップ数が少なければ選ばれます。たとえば、OSPFの記事のSPFの例では、RIPならT1回線で直結する経路が選ばれます。

30秒ごとの更新と、収束の遅さ

RIPのルータは、30秒ごとに経路表の全体を隣へ送ります。この周期はRFC 2453の3.8節で定められていて、送るときはUDPの520番ポートを使います。隣から更新が届かなくても、ルータはすぐには経路を消しません。

RFC 2453の決まりでは、ある経路の更新が180秒届かないと、ルータはその経路の距離を16にします。そのあと120秒は距離16のまま隣へ送り続け、それから経路表から消します。

Ciscoのルータは、既定の時間が少し違います。更新が180秒届かない経路を使えないものとする点は同じですが、経路表から消すのは、更新が届かなくなってから240秒後です。

すべてのルータの経路表が新しい状態にそろうことを収束と呼びます。RIPでは、変化が隣から隣へ1台ずつ伝わるので、遠くのルータほど収束に時間がかかります。そこで、経路の距離が変わったら30秒を待たずにすぐ送る決まりがあります。これをトリガードアップデートと呼びます。

ルーティングループとスプリットホライズン

前の節の3台で、R1とR2の間の回線が切れたとします。R2は、R1から更新が届かなくなるので、192.168.10.0/24を到達不能にします。ところがR3は、まだR2経由で距離2の経路を持っています。

R3が定期の更新で距離2を送ると、R2はそれを信じて、R3経由で距離3の経路があると記録します。実際には、R3の経路はR2を通るので、このLAN宛てのパケットはR2とR3の間を行き来します。

できごとR2の経路表R3の経路表
R1とR2の間の回線が切れる到達不能距離2・R2経由
R3が定期の更新で距離2を送る距離3・R3経由距離2・R2経由
R2が距離3を送る距離3・R3経由距離4・R2経由
R3が距離4を送る距離5・R3経由距離4・R2経由
同じやりとりが続く5、7、9と増える6、8、10と増える
距離が16に届く到達不能到達不能

距離はやりとりのたびに増え、16に届いたところで、ようやく両方が到達不能になります。この現象を無限カウントと呼びます。RFC 2453の3.4.2節によると、上限を16と小さくしたのは、無限カウントを早く止めるためです。

スプリットホライズンとポイズンリバース

このループは、R3がR2から聞いた経路をR2へ送り返したために起きました。そこで、経路を聞いた相手には、その経路を送り返さないことにします。この決まりをスプリットホライズンと呼びます。

スプリットホライズンなし回線が切れる距離2を送るR1LANの隣R2距離3・R3経由R3距離2・R2経由スプリットホライズンあり回線が切れるR2へは送らないR1LANの隣R2到達不能R3距離2・R2経由スプリットホライズンなし回線が切れる距離2を送るR1R2距離3・R3経由R3距離2・R2経由スプリットホライズンあり回線が切れるR2へは送らないR1R2到達不能R3距離2・R2経由
スプリットホライズンがないと、R3はR2から聞いた古い経路をR2へ送り返し、R2はそれを信じます。スプリットホライズンがあると、送り返しが起きないので、R2は到達不能のままです。

送り返さない代わりに、距離16にして送り返す方法もあります。これをポイズンリバースと呼びます。受け取った側はすぐに到達不能と分かるので、2台が互いを指すループをすぐに解消できます。

ただし、3台が輪になって互いを指すループは、スプリットホライズンでは止められません。その場合は、トリガードアップデートで変化を早く広め、収束を早めます。RFC 2453の3.4.4節によると、それでも無限カウントが起きる可能性は残ります。

Ciscoのルータは、RFC 2453にはないホールドダウンという仕組みも使います。経路が使えなくなってから180秒の間は、その宛先へのより良い経路の更新を受け入れません。まだ古い経路を持つ隣の更新を信じて、ループを作ることを防ぐためです。

RIPv1・RIPv2・RIPngの違い

最初の版のRIPv1は、経路にサブネットマスクを付けずに送ります。このため、受け取ったルータは、その経路のネットワークの範囲を正しく判断できないことがあります。RIPv2は、経路ごとにサブネットマスクを付けて送ります。サブネットマスクを送るかどうかで、RIPv1はクラスフル、RIPv2はクラスレスのルーティングプロトコルと呼ばれます。

サブネットマスクがあれば、VLSMで長さを変えたサブネットも1つずつ伝えられます。RIPv2は、更新の送り先をマルチキャストの224.0.0.9にできます。メッセージに認証の情報を付けることもできますが、RIPv1には認証がありません。

IPv6で使う版はRIPngで、ホップ数の上限はRIPと同じ15です。RIPngは、UDPの520番ではなく521番ポートを使います。

版使うアドレスサブネットマスク更新の送り先仕様
RIPv1IPv4送らないブロードキャストRFC 1058
RIPv2IPv4経路ごとに送るマルチキャストの224.0.0.9RFC 2453
RIPngIPv6経路ごとにプレフィックス長を送るマルチキャストのFF02::9RFC 2080

RIPとOSPFの違い

RIPとOSPFは、どちらも組織の中で使うルーティングプロトコルです。根本的な違いは、各ルータが持つ情報の量です。RIPは隣から聞いた距離だけを持ち、OSPFはエリア内の地図を持ちます。

観点RIPOSPF
方式距離ベクトル型リンクステート型
経路を選ぶ基準ホップ数だけコストの合計。Ciscoの既定では帯域幅から決まる
各ルータが持つ情報宛先ごとの距離と、渡す隣エリア内のつながり方全体
送る情報と相手経路表の全体を、30秒ごとに隣へ変化した部分のLSAを、エリア内の全ルータへ
変化が伝わる速さ1台ずつ伝わるので遅い全ルータへ広がるので速い
規模の上限最も長い経路が15ホップまでエリアに分けて大きくできる

RIPは隣へ経路表を送るだけなので、仕組みが単純で設定も少なく済みます。その代わり、変化が伝わるのが遅く、ループの対策も必要です。OSPFは地図をそろえる手間がかかる分、変化が全体に速く伝わります。

RIPが向く規模と、OSPF・BGPを使う理由

RFC 2453の3.1節によると、RIPは中規模の組織内で使うルーティングプロトコル(IGP)として設計されました。より複雑な環境で使うことは想定していません。同じRFCの1節は、小さなネットワークならRIPは帯域や設定の負担が小さいとしています。

大規模なネットワークにRIPが向かない理由は3つあります。15ホップを超える経路を持てないこと、回線の速さを経路選びに使わないこと、収束が遅いことです。このため、大きな組織の中ではOSPFが、組織と組織の間ではBGPが使われます。

1台のルータが、RIPとOSPFの両方で同じ宛先の経路を知ることもあります。そのときは、アドミニストレーティブディスタンスが小さいOSPFの経路が選ばれます。Ciscoのルータの既定値は、OSPFが110、RIPが120です。

練習問題(全6問)

Q1RIPが経路の良し悪しを決めるために使う値は?
Q2RIPで、ホップ数が16になった宛先はどう扱われる?
Q3R1・R2・R3が1列につながり、R1の先にLANがある。R1が直接つながるネットワークを0と数えると、R3の経路表にあるこのLANまでの距離は?
Q4スプリットホライズンの説明として正しいものは?
Q5RIPとOSPFの違いとして正しいものは?
Q6RIPv1とRIPv2の違いとして正しいものは?

選んでから「採点する」を押すと、解説つきで答え合わせができます。

参考にした資料

関連記事

おすすめの本 PR

ネットワークを初めて学ぶ人向けの入門書です。

目的別の本の選び方を見る

ネットワークの記事を探す