RIPv2概要
RIPは最も古いルーティングプロトコルと言われており、誕生してから現在までの間にネットワークのルールや用途などは変わっています。
そのため、改良が施されたRIPバージョン2(RIPv2)が定義されています。
それまでのRIP(RIPv1)とRIPv2はともにディスタンスベクタ型のルーティングプロトコルであり、共通する部分も多くありますが、改良版であるRIPv2では、RIPv1の欠点を補完しており、当然異なる部分も含んでいます。
RIPv1とRIPv2の主な相違点
- アップデート認証機能が追加
- ルーティングアップデートの送信がマルチキャスト(224.0.0.9)に変更
- クラスレスルーティングに対応
これらの中でまずおさえておきたいのが、RIPv2がクラスレスルーティングに対応した点です。
その点について実際にRIPv1、RIPv2それぞれでネットワークを構築して確認していきます。
まず、下図のようなネットワークを構築し、各ルータに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に変更したときの動作を確認します。