ルーティングプロトコルの中でも,基礎ともいえるプロトコルがディスタンスベクタ型のルーティングプロトコルです。ルーティングプロトコルの基本的な概念は,ディスタンスベクタ型によって学ぶことができます。ルーティングプロトコルの基礎であるRIPを学び,ルーティングプロトコルの理解を深めましょう。
ディスタンスベクタ型ルーティングプロトコル
ルーティング編 第2回で説明したルーティングプロトコルの種別のうち,RIPはディスタンスベクタ型ルーティングプロトコルです。ディスタンスベクタ型ルーティングプロトコルは,隣接ルータからの情報のみからルーティングテーブルを構成します。隣接していないルータ・ネットワークの情報は,すべて隣接ルータ経由で取得します。
ディスタンスベクタ型ルーティングプロトコルを動作させているルータは,自分が持つルーティングテーブルの情報,つまりそれぞれのネットワークへのベストパスを隣接ルータへルーティング情報(ルーティングアップデート)として渡します。ルーティングアップデートには,ネットワークアドレスとそのネットワークまでのメトリック(ホップ数)が記載されています。ルーティングアップデートを受け取ったルータは,その内容と自身のテーブルを見比べて,ルーティングテーブルを更新します。RIPを例にディスタンスベクタ型ルーティングプロトコルの動作を図示します(図1)。
- ルーティングアップデートで受け取ったネットワークがルーティングテーブルにあるか
- ない ・・・ テーブルに追加
- ある ・・・ 2へ
- ルーティングテーブルにあるエントリの次ホップのルータからアップデートを受け取ったか
- 受け取った ・・・ テーブルに追加
- 違うルータから受け取った ・・・ 3へ
- アップデートのメトリックが今のメトリックより小さいか
- 小さい ・・・ テーブルに追加
- 大きい ・・・ アップデートは無視
ディスタンスベクタ型では,隣接していないルータ・ネットワークの情報は順番にルーティングアップデートが回ってくるまで知ることができません(図2)。
ディスタンスベクタ型のルーティングプロトコルとしては,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つを使います(図5)。
- (config)# router rip・・・ RIPを有効にし,RIP設定モードに入る
- (config-router)# network [ネットワークアドレス] ・・・ ルーティングプロトコルを有効にするネットワークを決定
- [ネットワークアドレス]
- ルーティングプロトコルを有効にするネットワークのネットワークアドレス
- [ネットワークアドレス]
また,RIPをバージョン2で動作させたい場合は,version 2コマンドをルータ設定モードで実行します。
- (config-router)# version 2 ・・・ RIPv2で動作させる
RIPの動作を確認するには,show ip protocolsコマンドを使います(図6)。
- (config)# show ip protocols ・・・ ルーティングプロトコルの動作を確認
- Update (30秒) ・・・ ルーティングアップデートの送信間隔
- Invalid (180秒) ・・・ アップデートがこのInvalidタイマ内に受信されなければ,そのエントリはホールドダウンになる
- Hold down (180秒) ・・・ ホールドダウン時間。このタイマ内ではそのエントリに対するアップデートは無視される
- Flush (240秒) ・・・ この時間を経過してもアップデートが受信されなければ,そのエントリは削除される
また,RIPのアップデートの送受信を確認するには,debugコマンドを使用します(図7)。
- (config)# debug ip rip ・・・ RIPアップデートの送受信を表示する
(改定履歴)
・CCNAの試験範囲からIGRPが外れたため,「RIPとIGRPを押さえる」からIGRPの部分を抜いて再構成しました。(2008/7/24)