ルーティングプロトコルの中でも,基礎ともいえるプロトコルがディスタンスベクタ型のルーティングプロトコルです。ルーティングプロトコルの基本的な概念は,ディスタンスベクタ型によって学ぶことができます。ルーティングプロトコルの基礎であるRIPを学び,ルーティングプロトコルの理解を深めましょう。
ディスタンスベクタ型ルーティングプロトコル
ルーティング編 第2回で説明したルーティングプロトコルの種別のうち,RIPはディスタンスベクタ型ルーティングプロトコルです。ディスタンスベクタ型ルーティングプロトコルは,隣接ルータからの情報のみからルーティングテーブルを構成します。隣接していないルータ・ネットワークの情報は,すべて隣接ルータ経由で取得します。
ディスタンスベクタ型ルーティングプロトコルを動作させているルータは,自分が持つルーティングテーブルの情報,つまりそれぞれのネットワークへのベストパスを隣接ルータへルーティング情報(ルーティングアップデート)として渡します。ルーティングアップデートには,ネットワークアドレスとそのネットワークまでのメトリック(ホップ数)が記載されています。ルーティングアップデートを受け取ったルータは,その内容と自身のテーブルを見比べて,ルーティングテーブルを更新します。
「伝言ゲーム」のように隣接ルータへ情報を伝えていくことになります。ディスタンスベクタ型でルーティングテーブルに情報を追加していく手順は,ベルマンフォードアルゴリズムと呼ばれる方法で,以下のようになります。
- ルーティングアップデートで受け取ったネットワークがルーティングテーブルにあるか
- ない ・・・ テーブルに追加
- ある ・・・ 2へ
- ルーティングテーブルにあるエントリの次ホップのルータからアップデートを受け取ったか
- 受け取った ・・・ テーブルに追加
- 違うルータから受け取った ・・・ 3へ
- アップデートのメトリックが今のメトリックより小さいか
- 小さい ・・・ テーブルに追加
- 大きい ・・・ アップデートは無視
ディスタンスベクタ型では,隣接していないルータ・ネットワークの情報は順番にルーティングアップデートが回ってくるまで知ることができません。
上記のように最悪の場合は,コンバージェンスに60秒かかってしまいます。特にネットワークが大きくてルータ数が多い場合,離れたルータ間でのコンバージェンスの時間は膨大になってしまいます。このため,ディスタンスベクタ型は大規模ネットワークに不向きであるといえます。
ディスタンスベクタ型のルーティングプロトコルとしては,IGRP(Interior Gateway Routing Protocol)もあります。IGRPはCisco社独自のルーティングプロトコルでRIPの後継プロトコルとして開発されました。現在は,IGRPの拡張版であるEIGRPがあり,IGRPとしてはあまり使われておりません。CCNAの範囲としても外れてしまったため,説明は省略します。
RIPの設定
RIPは最初期に作られたルーティングプロトコルで,現在ではかなり古いプロトコルとして知られています。このため,改良が施され,バージョン2が存在します(RIP2またはRIPv2と表記して区別します。この場合改良前のバージョンはRIP1またはRIPv1と表記します)。RIPは動作が単純で,ルータに対する負荷も小さいため,現在でも小規模ネットワークではよく利用されています。
RIPv1とRIPv2のそれぞれの特徴は以下の通りになります(表1)。
表1 RIPv1とRIPv2の特徴
RIPv1 | RIPv2 | |
---|---|---|
クラスレスのサポート | クラスフルのみ | クラスレス可能 |
メトリック | ホップ数 | |
最大ホップ数 | 16 | |
アップデート間隔 | 30秒 | |
イベントトリガアップデート | しない | する |
アップデートの宛先アドレス | ブロードキャスト (255.255.255.255) | マルチキャスト (224.0.0.9) |
RIPの基本的な設定は,routerコマンドとnetworkコマンドの2つを使います(図1)。
- (config)# router rip・・・ RIPを有効にし,RIP設定モードに入る
- (config-router)# network [ネットワークアドレス] ・・・ ルーティングプロトコルを有効にするネットワークを決定
- [ネットワークアドレス]
- ルーティングプロトコルを有効にするネットワークのネットワークアドレス
- [ネットワークアドレス]

RIPはクラスフルルーティングプロトコルなので,networkコマンドはクラスで設定します。例えば,172.16.1.0/24と172.16.2.0/24の2つのサブネットがあった場合,networkコマンドはnetwork 172.16.0.0でよいことになります。
また,RIPをバージョン2で動作させたい場合は,version 2コマンドをルータ設定モードで実行します。
- (config-router)# version 2 ・・・ RIPv2で動作させる
RIPの動作を確認するには,show ip protocolsコマンドを使います(図2)。
- (config)# show ip protocols ・・・ ルーティングプロトコルの動作を確認

一番上に書かれているタイマは以下の意味があります(カッコ内はデフォルト値)。
- Update (30秒) ・・・ ルーティングアップデートの送信間隔
- Invalid (180秒) ・・・ アップデートがこのInvalidタイマ内に受信されなければ,そのエントリはホールドダウンになる
- Hold down (180秒) ・・・ ホールドダウン時間。このタイマ内ではそのエントリに対するアップデートは無視される
- Flush (240秒) ・・・ この時間を経過してもアップデートが受信されなければ,そのエントリは削除される
また,RIPのアップデートの送受信を確認するには,debugコマンドを使用します(図3)。
- (config)# debug ip rip ・・・ RIPアップデートの送受信を表示する

(改定履歴)
・CCNAの試験範囲からIGRPが外れたため,「RIPとIGRPを押さえる」からIGRPの部分を抜いて再構成しました。(2008/7/24)