RIPv2概要

RIPv2概要

RIPは最も古いルーティングプロトコルと言われており、誕生してから現在までの間にネットワークのルールや用途などは変わっています。
そのため、改良が施されたRIPバージョン2(RIPv2)が定義されています。

それまでのRIP(RIPv1)とRIPv2はともにディスタンスベクタ型のルーティングプロトコルであり、共通する部分も多くありますが、改良版であるRIPv2では、RIPv1の欠点を補完しており、当然異なる部分も含んでいます。


RIPv1とRIPv2の主な相違点
  • アップデート認証機能が追加
  • ルーティングアップデートの送信がマルチキャスト(224.0.0.9)に変更
  • クラスレスルーティングに対応

これらの中でまずおさえておきたいのが、RIPv2がクラスレスルーティングに対応した点です。
その点について実際にRIPv1、RIPv2それぞれでネットワークを構築して確認していきます。

まず、下図のようなネットワークを構築し、各ルータにRIPv1の設定がされているとします。

RIPv1ネットワーク構成

※このネットワークは「172.16.0.0」クラスフルネットワークを4つにサブネット化しています。サブネットマスクが異なっている点に着目してください。

RouterA、RouterB、RouterCそれぞれのインターフェイスを設定します。

RouterA設定
RouterA(config)#interface fastEthernet 0
RouterA(config-if)#ip address 172.16.3.1 255.255.255.252
RouterA(config-if)#exit
RouterA(config)#interface ethernet 0
RouterA(config-if)#ip address 172.16.4.1 255.255.255.252

RouterB設定
RouterB(config)#interface ethernet 0
RouterB(config-if)#ip address 172.16.1.100 255.255.255.252
RouterB(config-if)#exit
RouterB(config)#interface fastEthernet 0
RouterB(config-if)#ip address 172.16.3.2 255.255.255.252

RouterC設定
RouterC(config)#interface ethernet 0
RouterC(config-if)#ip address 172.16.4.2 255.255.255.252
RouterC(config-if)#exit
RouterC(config)#interface fastEthernet 0
RouterC(config-if)#ip address 172.16.2.100 255.255.255.252

続いて、RIPv1を有効にします。

RouterA(config)#router rip
RouterA(config-router)#network 172.16.0.0

RouterB(config)#router rip
RouterB(config-router)#network 172.16.0.0

RouterC(config)#router rip
RouterC(config-router)#network 172.16.0.0

networkコマンドで指定するネットワークアドレスはクラスフルで指定する点に注意してください。


これで設定は完了したはずです。
各ルータのルーティングテーブルを確認してみます。

RouterA#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

     172.16.0.0/30 is subnetted, 2 subnets
C       172.16.4.0 is directly connected, Ethernet0
C       172.16.3.0 is directly connected, FastEthernet0

RouterB#show ip route
 ~省略~
Gateway of last resort is not set

     172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
R       172.16.4.0/30 [120/1] via 172.16.3.1, 00:00:21, FastEthernet0
C       172.16.1.0/24 is directly connected, Ethernet0
C       172.16.3.0/30 is directly connected, FastEthernet0

RouterC#show ip route
 ~省略~
Gateway of last resort is not set

     172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
C       172.16.4.0/30 is directly connected, Ethernet0
C       172.16.2.0/24 is directly connected, FastEthernet0
R       172.16.3.0/30 [120/1] via 172.16.4.1, 00:00:27, Ethernet0

ルーティングテーブルが完成できません。
各ルータのルーティングテーブルを確認すると、どうもRouterAが正常に動作していないように伺えます。

この状態で「PC A」から「PC B」にPingを投げてみます。

C:\Users\gran>ping 172.16.2.1

172.16.2.1 に ping を送信しています 32 バイトのデータ:
172.16.1.100 からの応答: 宛先ホストに到達できません。
172.16.1.100 からの応答: 宛先ホストに到達できません。
172.16.1.100 からの応答: 宛先ホストに到達できません。
172.16.1.100 からの応答: 宛先ホストに到達できません。

172.16.2.1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、

やはりPingが通りません。
応答メッセージを確認すると、「PC A」と直接接続されるRouterBが、ルーティング先を見つけられず、「Destination Unreachable」(送信先未到達)メッセージを返しているようです。

これは、RIPv1がクラスフルルーティングプロトコルであることが原因です。
ルーティングアップデートの中にサブネットマスクの情報が含まれていないため、サブネットが異なるネットワークが存在すると、そのサブネットを認識できずにルーティングテーブルに反映することができないためです。

次回、この環境でRIPv2に変更したときの動作を確認します。

タグ