DynagenでCCIEを目指す
20100404 rip v1 v2混在環境
最終更新:
it_certification
-
view
目的
- RIPv1, RIPv2混在環境に対応する方法を確認します。
構成
- 設定概要
- R2はRIPv2のみ対応しているルータとします。
- R3はRIPv1のみ対応しているルータとします。
- 初期設定時、R1はRIPv2とします。
- 構成図

- netファイル
ghostios = True sparsemem = True model = 3620 [localhost] [[3620]] image = C:\Program Files\Dynamips\images\c3620-j1s3-mz.123-18.bin ram = 256 [[ROUTER R1]] e0/0 = LAN 1 [[ROUTER R2]] e0/0 = LAN 1 [[ROUTER R3]] e0/0 = LAN 1
- 初期設定 R1
! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R1 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ip cef ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Ethernet0/0 ip address 192.168.0.1 255.255.255.0 full-duplex ! interface Ethernet0/1 ip address 192.168.1.1 255.255.255.0 full-duplex no keepalive ! interface Ethernet0/2 no ip address shutdown half-duplex ! interface Ethernet0/3 no ip address shutdown half-duplex ! router rip version 2 network 192.168.0.0 network 192.168.1.0 no auto-summary ! ip http server ip classless ! ! ! ! ! ! ! ! line con 0 line aux 0 line vty 0 4 ! ! end
- 初期設定 R2
! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R2 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ip cef ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Ethernet0/0 ip address 192.168.0.2 255.255.255.0 full-duplex ! interface Ethernet0/1 ip address 192.168.2.2 255.255.255.0 full-duplex no keepalive ! interface Ethernet0/2 no ip address shutdown half-duplex ! interface Ethernet0/3 no ip address shutdown half-duplex ! router rip version 2 network 192.168.0.0 network 192.168.2.0 no auto-summary ! ip http server ip classless ! ! ! ! ! ! ! ! line con 0 line aux 0 line vty 0 4 ! ! end
- 初期設定 R3
! version 12.3 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname R3 ! boot-start-marker boot-end-marker ! ! no aaa new-model ip subnet-zero ! ! ! ip cef ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Ethernet0/0 ip address 192.168.0.3 255.255.255.0 full-duplex ! interface Ethernet0/1 ip address 192.168.3.3 255.255.255.0 full-duplex no keepalive ! interface Ethernet0/2 no ip address shutdown half-duplex ! interface Ethernet0/3 no ip address shutdown half-duplex ! router rip version 1 network 192.168.0.0 network 192.168.3.0 no auto-summary ! ip http server ip classless ! ! ! ! ! ! ! ! line con 0 line aux 0 line vty 0 4 ! ! end
検証1 設定の確認
- ルーティングテーブルの確認
R1, R2がR3と経路を交換できていない事が確認できます。
R1#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 C 192.168.1.0/24 is directly connected, Ethernet0/1 R 192.168.2.0/24 [120/1] via 192.168.0.2, 00:00:22, Ethernet0/0 R2#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 R 192.168.1.0/24 [120/1] via 192.168.0.1, 00:00:17, Ethernet0/0 C 192.168.2.0/24 is directly connected, Ethernet0/1 R3#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 C 192.168.3.0/24 is directly connected, Ethernet0/1
- デバッグメッセージの確認
R1のデバッグメッセージを確認します。R3からのpacketに対して、illegal versionと表示されている事が確認できます、
R1#debug ip rip RIP protocol debugging is on R1# *Mar 1 00:09:44.019: RIP: ignored v1 packet from 192.168.0.3 (illegal version) *Mar 1 00:09:47.007: RIP: sending v2 update to 224.0.0.9 via Ethernet0/0 (192.168.0.1) *Mar 1 00:09:47.007: RIP: build update entries *Mar 1 00:09:47.011: 192.168.1.0/24 via 0.0.0.0, metric 1, tag 0 *Mar 1 00:09:48.235: RIP: received v2 update from 192.168.0.2 on Ethernet0/0 *Mar 1 00:09:48.239: 192.168.2.0/24 via 0.0.0.0 in 1 hops *Mar 1 00:09:49.943: RIP: sending v2 update to 224.0.0.9 via Ethernet0/1 (192.168.1.1) *Mar 1 00:09:49.943: RIP: build update entries *Mar 1 00:09:49.943: 192.168.0.0/24 via 0.0.0.0, metric 1, tag 0 *Mar 1 00:09:49.943: 192.168.2.0/24 via 0.0.0.0, metric 2, tag 0 *Mar 1 00:10:10.107: RIP: ignored v1 packet from 192.168.0.3 (illegal version) *Mar 1 00:10:15.603: RIP: received v2 update from 192.168.0.2 on Ethernet0/0 *Mar 1 00:10:15.607: 192.168.2.0/24 via 0.0.0.0 in 1 hops *Mar 1 00:10:16.307: RIP: sending v2 update to 224.0.0.9 via Ethernet0/0 (192.168.0.1) *Mar 1 00:10:16.307: RIP: build update entries *Mar 1 00:10:16.307: 192.168.1.0/24 via 0.0.0.0, metric 1, tag 0 *Mar 1 00:10:17.667: RIP: sending v2 update to 224.0.0.9 via Ethernet0/1 (192.168.1.1) *Mar 1 00:10:17.667: RIP: build update entries *Mar 1 00:10:17.671: 192.168.0.0/24 via 0.0.0.0, metric 1, tag 0 *Mar 1 00:10:17.671: 192.168.2.0/24 via 0.0.0.0, metric 2, tag 0 *Mar 1 00:10:37.811: RIP: ignored v1 packet from 192.168.0.3 (illegal version) *Mar 1 00:10:42.483: RIP: sending v2 update to 224.0.0.9 via Ethernet0/0 (192.168.0.1) *Mar 1 00:10:42.483: RIP: build update entries *Mar 1 00:10:42.487: 192.168.1.0/24 via 0.0.0.0, metric 1, tag 0 *Mar 1 00:10:43.423: RIP: sending v2 update to 224.0.0.9 via Ethernet0/1 (192.168.1.1) *Mar 1 00:10:43.423: RIP: build update entries *Mar 1 00:10:43.427: 192.168.0.0/24 via 0.0.0.0, metric 1, tag 0 *Mar 1 00:10:43.427: 192.168.2.0/24 via 0.0.0.0, metric 2, tag 0 *Mar 1 00:10:43.667: RIP: received v2 update from 192.168.0.2 on Ethernet0/0 *Mar 1 00:10:43.671: 192.168.2.0/24 via 0.0.0.0 in 1 hops
R3でも同様にillegal versionと表示されます。
R3#debug ip rip RIP protocol debugging is on R3# *Mar 1 00:12:46.599: RIP: sending v1 update to 255.255.255.255 via Ethernet0/0 (192.168.0.3) *Mar 1 00:12:46.603: RIP: build update entries *Mar 1 00:12:46.603: network 192.168.3.0 metric 1 *Mar 1 00:12:48.907: RIP: sending v1 update to 255.255.255.255 via Ethernet0/1 (192.168.3.3) *Mar 1 00:12:48.907: RIP: build update entries *Mar 1 00:12:48.911: network 192.168.0.0 metric 1 *Mar 1 00:12:52.195: RIP: ignored v2 packet from 192.168.0.2 (illegal version) *Mar 1 00:12:58.283: RIP: ignored v2 packet from 192.168.0.1 (illegal version) *Mar 1 00:13:13.455: RIP: sending v1 update to 255.255.255.255 via Ethernet0/0 (192.168.0.3) *Mar 1 00:13:13.455: RIP: build update entries *Mar 1 00:13:13.459: network 192.168.3.0 metric 1 *Mar 1 00:13:14.915: RIP: sending v1 update to 255.255.255.255 via Ethernet0/1 (192.168.3.3) *Mar 1 00:13:14.915: RIP: build update entries *Mar 1 00:13:14.919: network 192.168.0.0 metric 1
検証2 v1, v2 混在送信
- v1, v2 混在送信の設定
RIP v1, v2の両方のパケットを送信するよう、R1に設定を投入します。
R1(config)#interface Ethernet 0/0 R1(config-if)#ip rip send version 1 2
- ルーティングテーブルの確認
R3のルーティングテーブルにR1への経路が載りました。しかし、R1のルーティングテーブルにはR3への経路はありません。R1はRIPv1を送信する事はできますが、受信する事はできないからです。
R1#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 C 192.168.1.0/24 is directly connected, Ethernet0/1 R 192.168.2.0/24 [120/1] via 192.168.0.2, 00:00:27, Ethernet0/0 R3#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 R 192.168.1.0/24 [120/1] via 192.168.0.1, 00:00:11, Ethernet0/0 <- R1への経路 C 192.168.3.0/24 is directly connected, Ethernet0/1
検証3 v1, v2 混在受信
- v1, v2 混在受信の設定
R1がRIPv1のパケットも受信できる(無視しない)ようにします。
R1(config)#interface Ethernet 0/0 R1(config-if)#ip rip receive version 1 2
- ルーティングテーブルの確認
R1のルーティングテーブルにR3への経路が載りました。しかし、R2とR3はお互いの経路を認識していません。これは、R1がR3(R2)から教わった経路をR2(R3)に転送しないためです。split-horizonが有効になっているからです。
R1#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 C 192.168.1.0/24 is directly connected, Ethernet0/1 R 192.168.2.0/24 [120/1] via 192.168.0.2, 00:00:23, Ethernet0/0 R 192.168.3.0/24 [120/1] via 192.168.0.3, 00:00:01, Ethernet0/0 <- R3への経路 R2#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 R 192.168.1.0/24 [120/1] via 192.168.0.1, 00:00:20, Ethernet0/0 C 192.168.2.0/24 is directly connected, Ethernet0/1 R3#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 R 192.168.1.0/24 [120/1] via 192.168.0.1, 00:00:07, Ethernet0/0 C 192.168.3.0/24 is directly connected, Ethernet0/1
検証4 split-horizon無効化
- split-horizon無効の設定
R1でsplit-horizonを無効にします。
R1(config)#interface Ethernet 0/0 R1(config-if)#no ip split-horizon
- ルーティングテーブルの確認
R2とR3がお互いの経路を認識できるようになりました。
R1#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 C 192.168.1.0/24 is directly connected, Ethernet0/1 R 192.168.2.0/24 [120/1] via 192.168.0.2, 00:00:20, Ethernet0/0 R 192.168.3.0/24 [120/1] via 192.168.0.3, 00:00:02, Ethernet0/0 R2#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 R 192.168.1.0/24 [120/1] via 192.168.0.1, 00:00:25, Ethernet0/0 C 192.168.2.0/24 is directly connected, Ethernet0/1 R 192.168.3.0/24 [120/2] via 192.168.0.3, 00:00:25, Ethernet0/0 R3#show ip route - 略 - C 192.168.0.0/24 is directly connected, Ethernet0/0 R 192.168.1.0/24 [120/1] via 192.168.0.1, 00:00:11, Ethernet0/0 R 192.168.2.0/24 [120/2] via 192.168.0.1, 00:00:11, Ethernet0/0 C 192.168.3.0/24 is directly connected, Ethernet0/1
- デバッグメッセージの確認
R1ではv1, v2の両方のパケットを送受信している事が読み取れます。
R1#debug ip rip RIP protocol debugging is on R1# *Mar 1 00:23:37.295: RIP: sending v2 update to 224.0.0.9 via Ethernet0/1 (192.168.1.1) *Mar 1 00:23:37.295: RIP: build update entries *Mar 1 00:23:37.299: 192.168.0.0/24 via 0.0.0.0, metric 1, tag 0 *Mar 1 00:23:37.299: 192.168.2.0/24 via 0.0.0.0, metric 2, tag 0 *Mar 1 00:23:37.303: 192.168.3.0/24 via 0.0.0.0, metric 2, tag 0 *Mar 1 00:23:43.167: RIP: received v2 update from 192.168.0.2 on Ethernet0/0 *Mar 1 00:23:43.171: 192.168.2.0/24 via 0.0.0.0 in 1 hops *Mar 1 00:24:01.031: RIP: sending v1 update to 255.255.255.255 via Ethernet0/0 (192.168.0.1) *Mar 1 00:24:01.031: RIP: build update entries *Mar 1 00:24:01.031: subnet 192.168.0.0 metric 1 *Mar 1 00:24:01.031: network 192.168.1.0 metric 1 *Mar 1 00:24:01.035: network 192.168.2.0 metric 2 *Mar 1 00:24:01.035: network 192.168.3.0 metric 2 *Mar 1 00:24:01.039: RIP: sending v2 update to 224.0.0.9 via Ethernet0/0 (192.168.0.1) *Mar 1 00:24:01.039: RIP: build update entries *Mar 1 00:24:01.043: 192.168.0.0/24 via 0.0.0.0, metric 1, tag 0 *Mar 1 00:24:01.043: 192.168.1.0/24 via 0.0.0.0, metric 1, tag 0 *Mar 1 00:24:01.047: 192.168.2.0/24 via 192.168.0.2, metric 2, tag 0 *Mar 1 00:24:01.047: 192.168.3.0/24 via 192.168.0.3, metric 2, tag 0 *Mar 1 00:24:01.051: RIP: received v1 update from 192.168.0.3 on Ethernet0/0 *Mar 1 00:24:01.055: 192.168.3.0 in 1 hops *Mar 1 00:24:03.359: RIP: sending v2 update to 224.0.0.9 via Ethernet0/1 (192.168.1.1) *Mar 1 00:24:03.359: RIP: build update entries *Mar 1 00:24:03.363: 192.168.0.0/24 via 0.0.0.0, metric 1, tag 0 *Mar 1 00:24:03.363: 192.168.2.0/24 via 0.0.0.0, metric 2, tag 0 *Mar 1 00:24:03.367: 192.168.3.0/24 via 0.0.0.0, metric 2, tag 0 *Mar 1 00:24:13.083: RIP: received v2 update from 192.168.0.2 on Ethernet0/0 *Mar 1 00:24:13.087: 192.168.2.0/24 via 0.0.0.0 in 1 hops
R3では、R2から受信したv2のパケットを無視しているのが読み取れます。
R3#debug ip rip RIP protocol debugging is on R3# *Mar 1 00:23:07.127: RIP: ignored v2 packet from 192.168.0.2 (illegal version) *Mar 1 00:23:25.591: RIP: sending v1 update to 255.255.255.255 via Ethernet0/0 (192.168.0.3) *Mar 1 00:23:25.591: RIP: build update entries *Mar 1 00:23:25.595: network 192.168.3.0 metric 1 *Mar 1 00:23:26.023: RIP: received v1 update from 192.168.0.1 on Ethernet0/0 *Mar 1 00:23:26.023: 192.168.0.0 in 1 hops *Mar 1 00:23:26.023: 192.168.1.0 in 1 hops *Mar 1 00:23:26.027: 192.168.2.0 in 2 hops *Mar 1 00:23:26.027: 192.168.3.0 in 2 hops *Mar 1 00:23:26.031: RIP: ignored v2 packet from 192.168.0.1 (illegal version) *Mar 1 00:23:26.207: RIP: sending v1 update to 255.255.255.255 via Ethernet0/1 (192.168.3.3) *Mar 1 00:23:26.207: RIP: build update entries *Mar 1 00:23:26.211: network 192.168.0.0 metric 1 *Mar 1 00:23:26.211: network 192.168.1.0 metric 2 *Mar 1 00:23:26.215: network 192.168.2.0 metric 3
補足
I/F単位ではなく、以下のようにRIP processに対してバージョンを指定する事もできます。
R1(config)#router rip R1(config-router)#version 1 2
添付ファイル