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.1. RIP とは
Routing Information Protocol。ディスタンスベクタ型の最古参 IGP。30 秒ごとに UPDATE を broadcast/multicast し、ホップ数で経路を選ぶ。
Distance Vector / Hop Count / 周期 UPDATE1.2. 用途
現代の本番ネットワークではほぼ非推奨。CCNA 学習・ラボ・古い小規模 LAN で残るのみ。
教育・小規模 LAN / レガシ環境1.3. Administrative Distance (Cisco)
Cisco AD は 120。OSPF (110)、EIGRP (90/170) より低優先。
Cisco AD: 1202. バージョン差分
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.93.2. RIPng トランスポート
UDP/521。マルチキャスト FF02::9 (リンクローカル)。
UDP/521 / FF02::93.3. メッセージ種別
Request (1) と Response (2) の 2 種類。Response が UPDATE 本体。
Request (1) / Response (2)3.4. 1 パケット制限
1 つの Response に最大 25 経路。多い場合は分割。
1 Response = 最大 25 routes4. メトリック
4.1. ホップ数
経路までのルータ数 (ホップ) をメトリックに使う。物理速度・遅延は考慮しない。
metric = hop count4.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 + holddown7. 認証 (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/ESP8. Cisco IOS 設定例
8.1. RIPv2 基本設定
version 2 を明示し、auto-summary を切ってサブネット情報を保つ。
router rip
version 2
no auto-summary
network 10.0.0.08.2. passive-interface
外向け IF から UPDATE を漏らさないために必須。
router rip
passive-interface default
no passive-interface Gi0/08.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-KEY8.4. RIPng
IPv6 用。IF 直接で有効化。
ipv6 router rip MY
!
interface Gi0/0
ipv6 rip MY enable9. なぜ使われなくなったか
9.1. 収束が遅い
30 秒ごとの周期 UPDATE と 3 分の Invalid Timer。障害検知に分単位かかる。
UPDATE 30s + Invalid 180s → 数分の収束9.2. メトリックが粗い
帯域・遅延を考慮しないホップ数。1G ↔ 100M を同一視する。
hop count のみ / 帯域考慮なし9.3. ホップ数上限
15 ホップで infinity になるため、大規模 NW で使えない。
max 15 hops9.4. 代替プロトコル
現代では OSPF / EIGRP / IS-IS が標準。BGP は AS 間。
後継: OSPF / EIGRP / IS-IS / BGP10. 確認・トラブルシュート
10.1. プロトコル状態確認
version / 配信 IF / メトリック・タイマーをサマリ表示。
show ip protocols10.2. 受信経路
RIP で学習した経路の一覧。
show ip route rip10.3. RIP データベース
学習中の経路と送信元・タイマーを確認。
show ip rip database10.4. デバッグ
本番では負荷注意。Send/Recv を絞って観察。
debug ip rip / debug ip rip events10.5. auto-summary の罠
auto-summary が有効だとクラスフル境界で集約されてしまう。VLSM 環境では必ず無効化。
no auto-summary を必ず設定11. References
- RIP
- RIPv1
- RIPv2
- RIPng
- RFC 1058
- RFC 2453
- RFC 2080
- Distance Vector
- Hop Count
- Split Horizon
- Poison Reverse