InfraLab

RIP 仕様書

40 / 40 items

InfraLab Reference Series

Category: RIP

Updated: 2026-05-12

infralab.jp

rip

40 items

RIP 仕様書

Abstract

RIPv1 / RIPv2 / RIPng のホップカウント・タイマー (Update/Invalid/Holddown/Flush)・ループ防止 (Split Horizon / Poison Reverse / Holddown)・認証・Cisco 設定例・なぜ使わなくなったか。

Table of Contents

  1. 1. 概要3
  2. 2. バージョン差分3
  3. 3. トランスポート4
  4. 4. メトリック3
  5. 5. タイマー5
  6. 6. ループ防止5
  7. 7. 認証 (RIPv2 のみ)4
  8. 8. Cisco IOS 設定例4
  9. 9. なぜ使われなくなったか4
  10. 10. 確認・トラブルシュート5
  11. 11. References11

1. 概要

1.1. RIP とは

Routing Information Protocol。ディスタンスベクタ型の最古参 IGP。30 秒ごとに UPDATE を broadcast/multicast し、ホップ数で経路を選ぶ。

Distance Vector / Hop Count / 周期 UPDATE

1.2. 用途

現代の本番ネットワークではほぼ非推奨。CCNA 学習・ラボ・古い小規模 LAN で残るのみ。

教育・小規模 LAN / レガシ環境

1.3. Administrative Distance (Cisco)

Cisco AD は 120。OSPF (110)、EIGRP (90/170) より低優先。

Cisco AD: 120

2. バージョン差分

2.1. RIPv1

RFC 1058 (1988)。classful (サブネットマスク非送出)。Broadcast 255.255.255.255。VLSM 非対応。

RFC 1058 / classful / broadcast / no VLSM

RFC 2453 RIPv1 message / route entry ASCII 図:

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Command    |    Version    |             Zero              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |        Address Family         |             Zero              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          IP Address                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                             Zero                              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                             Zero                              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                            Metric                             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

2.2. RIPv2

RFC 2453 (1998)。classless (VLSM 対応)、UPDATE にマスク含む、マルチキャスト、認証対応。

RFC 2453 / classless / multicast / 認証 OK

RFC 2453 RIPv2 message / route entry ASCII 図:

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Command    |    Version    |        Routing Domain         |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |        Address Family         |           Route Tag           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          IP Address                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          Subnet Mask                          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                           Next Hop                            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                            Metric                             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

2.3. RIPng (RIP next generation)

RFC 2080。IPv6 用。マルチキャスト FF02::9、UDP/521。認証なし (IPsec に委譲)。

RFC 2080 / IPv6 / FF02::9 / UDP 521

RFC 2080 RIPng message / route table entry ASCII 図:

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |    Command    |    Version    |           Reserved            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        IPv6 Prefix ...                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        IPv6 Prefix ...                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        IPv6 Prefix ...                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        IPv6 Prefix ...                        |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |           Route Tag           |  Prefix Len   |    Metric     |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

3. トランスポート

3.1. RIPv1/v2 トランスポート

UDP/520 上で動作。v1 は broadcast、v2 はマルチキャスト 224.0.0.9。

UDP/520 / v1: broadcast / v2: 224.0.0.9

3.2. RIPng トランスポート

UDP/521。マルチキャスト FF02::9 (リンクローカル)。

UDP/521 / FF02::9

3.3. メッセージ種別

Request (1) と Response (2) の 2 種類。Response が UPDATE 本体。

Request (1) / Response (2)

3.4. 1 パケット制限

1 つの Response に最大 25 経路。多い場合は分割。

1 Response = 最大 25 routes

4. メトリック

4.1. ホップ数

経路までのルータ数 (ホップ) をメトリックに使う。物理速度・遅延は考慮しない。

metric = hop count

4.2. 最大ホップ

15 ホップが上限。16 は infinity (到達不可) を意味する。

max 15 / 16 = infinity (unreachable)

4.3. 等コスト ECMP

同一メトリックの複数経路を負荷分散できる (Cisco 既定 4 経路)。

ECMP 対応 / Cisco 既定 4 経路

5. タイマー

5.1. Update Timer

UPDATE を送出する周期。

既定 30 秒

5.2. Invalid Timer

経路を invalid (到達不可) とみなすまでの時間。Update が来なくなって 180 秒。

既定 180 秒

5.3. Holddown Timer

invalid 後、別経路で上書きしない保護期間。

既定 180 秒

5.4. Flush Timer

ルーティングテーブルから削除するまでの時間。

既定 240 秒

5.5. Triggered Update

メトリック変化を即座に送出する仕組み。次の周期を待たない。

メトリック変化時に即時送出

6. ループ防止

6.1. Split Horizon

学習した IF に同じ経路を再広告しない。基本的なループ防止。

学習 IF へ再広告しない

6.2. Split Horizon with Poison Reverse

学習 IF にメトリック 16 (infinity) で広告し、明示的に到達不可を伝える。

学習 IF へ metric 16 で広告

6.3. Route Poisoning

ダウン経路を即座にメトリック 16 で広告し、近隣に消去を促す。

ダウン経路を即 metric 16 で広告

6.4. Holddown

悪い情報を聞いた後、別経路で上書きするまで Holddown 時間待つ。

Holddown 中は別経路で上書きしない

6.5. Count to Infinity 問題

ループ時にメトリックが 16 まで増え続ける現象。上記対策の組み合わせで緩和する。

問題: ループでメトリック増加 / 緩和: poison + holddown

7. 認証 (RIPv2 のみ)

7.1. 認証なし

v1 は元来認証なし。v2 もデフォルトは認証なし。

v1: なし / v2 既定: なし

7.2. 平文認証

RIPv2 の簡易認証。送出される鍵が平文なので推奨しない。

RIPv2 / 平文 / 推奨しない

7.3. MD5 認証

key-chain と組み合わせて鍵ローテーション可能。RIPv2 で利用可。

RIPv2 / MD5 / key-chain 連動

7.4. RIPng の認証

RIPng 自体には認証フィールドが無く、IPsec AH/ESP に委ねる設計。

RIPng: IPsec AH/ESP

8. Cisco IOS 設定例

8.1. RIPv2 基本設定

version 2 を明示し、auto-summary を切ってサブネット情報を保つ。

router rip
 version 2
 no auto-summary
 network 10.0.0.0

8.2. passive-interface

外向け IF から UPDATE を漏らさないために必須。

router rip
 passive-interface default
 no passive-interface Gi0/0

8.3. MD5 認証

key-chain を使った推奨構成。

key chain RIP-KEY
 key 1
  key-string s3cret
interface Gi0/0
 ip rip authentication mode md5
 ip rip authentication key-chain RIP-KEY

8.4. RIPng

IPv6 用。IF 直接で有効化。

ipv6 router rip MY
!
interface Gi0/0
 ipv6 rip MY enable

9. なぜ使われなくなったか

9.1. 収束が遅い

30 秒ごとの周期 UPDATE と 3 分の Invalid Timer。障害検知に分単位かかる。

UPDATE 30s + Invalid 180s → 数分の収束

9.2. メトリックが粗い

帯域・遅延を考慮しないホップ数。1G ↔ 100M を同一視する。

hop count のみ / 帯域考慮なし

9.3. ホップ数上限

15 ホップで infinity になるため、大規模 NW で使えない。

max 15 hops

9.4. 代替プロトコル

現代では OSPF / EIGRP / IS-IS が標準。BGP は AS 間。

後継: OSPF / EIGRP / IS-IS / BGP

10. 確認・トラブルシュート

10.1. プロトコル状態確認

version / 配信 IF / メトリック・タイマーをサマリ表示。

show ip protocols

10.2. 受信経路

RIP で学習した経路の一覧。

show ip route rip

10.3. RIP データベース

学習中の経路と送信元・タイマーを確認。

show ip rip database

10.4. デバッグ

本番では負荷注意。Send/Recv を絞って観察。

debug ip rip / debug ip rip events

10.5. auto-summary の罠

auto-summary が有効だとクラスフル境界で集約されてしまう。VLSM 環境では必ず無効化。

no auto-summary を必ず設定

11. References

  1. RIP
  2. RIPv1
  3. RIPv2
  4. RIPng
  5. RFC 1058
  6. RFC 2453
  7. RFC 2080
  8. Distance Vector
  9. Hop Count
  10. Split Horizon
  11. Poison Reverse
Related