OSPFとRIPの再配信
・以下のネットワークで,再配信を使って通信できるようにする
・経路情報が再配信されているか確認する
ネットワーク構成(画像を別ウインドウで表示)
RouterAのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterA
!
interface Loopback0
ip address 172.16.0.1 255.255.255.240
!
interface Ethernet0
ip address 172.16.1.1 255.255.255.0
no keepalive
!
interface Serial0
ip address 172.16.2.1 255.255.255.252
!
router ospf 1
log-adjacency-changes
redistribute connected subnets ←直接接続している経路情報をOSPFで再配信
network 172.16.1.0 0.0.0.255 area 1
network 172.16.2.0 0.0.0.3 area 1
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
RouterBのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterB
!
interface Serial0
ip address 172.16.2.2 255.255.255.252
clockrate 64000
!
interface Serial1
ip address 172.16.3.1 255.255.255.252
clockrate 64000
!
router ospf 1
log-adjacency-changes
network 172.16.2.0 0.0.0.3 area 1
network 172.16.3.0 0.0.0.3 area 0
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
RouterCのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterC
!
interface Serial0
ip address 172.16.3.2 255.255.255.252
!
interface Serial1
ip address 172.16.4.1 255.255.255.0
clockrate 64000
!
router ospf 1
log-adjacency-changes
redistribute rip subnets ←RIPで受信した経路情報をOSPFで再配信
network 172.16.3.0 0.0.0.3 area 0
default-metric 64 ←OSPFで再配信するときのシードメトリックは64
!
router rip
redistribute static ←スタティック・ルートとして登録されている経路情報をRIPで再配信
redistribute ospf 1 ←OSPFで受信した経路情報をRIPで再配信
network 172.16.0.0
default-metric 2 ←RIPで再配信するときのシードメトリックは2
!
ip route 172.16.0.0 255.255.255.0 Serial0 ←RIPネットワークへの再配送用のスタティック・ルート
ip route 172.16.2.0 255.255.255.0 Serial0
ip route 172.16.3.0 255.255.255.0 Serial0

!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
RouterDのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterD
!
interface Loopback0
ip address 172.16.5.1 255.255.255.0
!
interface Serial0
ip address 172.16.4.2 255.255.255.0
no fair-queue
!
router rip
network 172.16.0.0
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
確認
OSPFとRIPが動作しているネットワークで再配信を活用して,経路情報を正しく伝播させてみます。
OSPFネットワークに経路情報を再配信する際は,redistributeコマンドに「subnets」,「connected」,「static」といったパラメータがあることに注意が必要です。
この三つのパラメータを使ったラボ・シナリオを実践してみます。

●RouterCに再配信を設定
上のコンフィグの,太字の部分を入力していない状態から見ていきます。

OSPFネットワークとRIPネットワークの境界に位置するのはRouterCです。
そのため,RouterCでOSPFとRIPを相互に再配信させます。

RouterC(config)#router ospf 1
RouterC(config-router)#redistribute rip
RouterC(config-router)#default-metric 64
RouterC(config-router)#exit
RouterC(config)#router rip
RouterC(config-router)#redistribute ospf 1
RouterC(config-router)#default-metric 2


設定が完了したら,RouterAのルーティング・テーブルを見てみます。
RIPネットワーク側にある172.16.4.0/24と172.16.5.0/24が来ていません。

RouterA#show ip route
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
      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/16 is variably subnetted, 4 subnets, 3 masks
C     172.16.0.0/28 is directly connected, Loopback0
C     172.16.1.0/24 is directly connected, Ethernet0
C     172.16.2.0/30 is directly connected, Serial0
O IA  172.16.3.0/30 [110/128] via 172.16.2.2, 00:27:24, Serial0


なぜ,172.16.4.0/24と172.16.5.0/24がOSPF側に流れて来ないのでしょうか?
それは,この二つのネットワークがサブネット化されているからです。
(クラスBのネットワークが24ビットでサブネッティングされています。)
サブネット化された経路情報をOSPFで再配信するには,redistributeコマンドで「subnets」オプションが必要です。
そこで,subnetsオプションを付けて再配信を実行します。

RouterC(config-router)#router ospf 1
RouterC(config-router)#redistribute rip subnets


再び,RouterAのルーティング・テーブルを見てみましょう。
172.16.4.0/24と172.16.5.0/24の二つとも流れて来ました(下の赤字)。

RouterA#show ip route
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
     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/16 is variably subnetted, 6 subnets, 3 masks
O E2  172.16.4.0/24 [110/64] via 172.16.2.2, 00:00:15, Serial0
O E2  172.16.5.0/24 [110/64] via 172.16.2.2, 00:00:15, Serial0

C     172.16.0.0/28 is directly connected, Loopback0
C     172.16.1.0/24 is directly connected, Ethernet0
C     172.16.2.0/30 is directly connected, Serial0
O IA  172.16.3.0/30 [110/128] via 172.16.2.2, 00:30:35, Serial0


ちなみに,再配信されたOSPFの経路情報には,TYPE1とTYPE2という二つの種類があります。
上 の経路情報にある 「E2」というのは,これがTYPE2の経路情報であることを示しています。
TYPE1とTYPE2の違いは以下です。
・TYPE1…OSPFネットワーク中でコストが付加される
・TYPE2…OSPFネットワーク中でコストが付加されずに,同じコストがそのまま伝わる
OSPFネットワークに再配信される経路情報は,デフォルトではTYPE2になります。

次に,RouterBのルーティング・テーブルを見てみます。
すると,RouterAにつながっている172.16.0.0/28という経路情報が来ていません。

RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
     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/16 is variably subnetted, 5 subnets, 2 masks
O E2  172.16.4.0/24 [110/64] via 172.16.3.2, 00:03:05, Serial1
O E2  172.16.5.0/24 [110/64] via 172.16.3.2, 00:03:05, Serial1
O     172.16.1.0/24 [110/74] via 172.16.2.1, 00:34:44, Serial0
C     172.16.2.0/30 is directly connected, Serial0
C     172.16.3.0/30 is directly connected, Serial1


172.16.0.0/28がRouterBに伝わっていないのはなぜでしょうか?
それは,RouterAに直接接続されている経路情報がOSPFネットワークに再配信されていないからです。
直接接続された経路情報をOSPFで再配信するには,redistributeコマンドで「connected」オプションが必要です。

●RouterAに直接接続しているルートをOSPFで再配信
そこで,connectedオプションを付けて再配信を実行します。
172.16.0.0/28はサブネッティングされているので,subnetsオプションも付けます。

RouterA(config)#router ospf 1
RouterA(config-router)#redistribute connected subnets


再び,RouterBのルーティング・テーブルを見てみます。
RouterA(172.16.2.1)から172.16.0.0/28の経路情報が流れてきました(下の赤字)。

RouterB#show ip route
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
     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/16 is variably subnetted, 6 subnets, 3 masks
O E2  172.16.4.0/24 [110/64] via 172.16.3.2, 00:00:45, Serial1
O E2  172.16.5.0/24 [110/64] via 172.16.3.2, 00:00:45, Serial1
O E2  172.16.0.0/28 [110/20] via 172.16.2.1, 00:00:45, Serial0
O     172.16.1.0/24 [110/74] via 172.16.2.1, 00:00:45, Serial0
C     172.16.2.0/30 is directly connected, Serial0
C     172.16.3.0/30 is directly connected, Serial1


OSPFネットワーク内にあるRouterA,RouterB,RouterCには,これで6個のネットワークすべてが登録されました。

●RIPネットワークへの再配信を考える
続いて,RIPネットワーク内にあるRouterDを確認してみましょう。
RouterDのルーティング・テーブルを見てみます。
すると,172.16.0.0/28,172.16.1.0/30,172.16.2.0/30という三つの経路情報が来ていません。

RouterD#show ip route
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
     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/24 is subnetted, 3 subnets
C    172.16.4.0 is directly connected, Serial0
C    172.16.5.0 is directly connected, Loopback0
R    172.16.1.0 [120/2] via 172.16.4.1, 00:00:05, Serial0


RouterDに,172.16.0.0/28,172.16.1.0/30,172.16.2.0/30が流れて来ないのはなぜでしょうか?
それは,RIPが「クラスフル」のルーティング・プロトコルだからです。
/28や/30といったサブネット・マスクは扱えないため,RouterCが経路情報の通知を止めたわけです
(これについて詳しくは,一番下の「おまけ」を参照してください。)

この問題を解決するために,経路情報をクラスフルで扱える24ビット・マスクにして流してやります。
方法としては,RouterCでスタティック・ルートを書いて,そのスタティック・ルートをRIPネットワークに再配信させます。
具体的には,redistributeコマンドの「static」オプションを使って,以下のようにします。

RouterC(config)#ip route 172.16.0.0 255.255.255.0 Serial0
RouterC(config)#ip route 172.16.2.0 255.255.255.0 Serial0
RouterC(config)#ip route 172.16.3.0 255.255.255.0 Serial0
RouterC(config)#router rip
RouterC(config-router)#redistribute static


再び,RouterDのルーティング・テーブルを見てみます。
すると,RouterDに,172.16.0.0/28,172.16.1.0/30,172.16.2.0/30が流れて来たのが確認できます(下の赤字)。

RouterD#show ip route
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
     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/24 is subnetted, 6 subnets
C    172.16.4.0 is directly connected, Serial0
C    172.16.5.0 is directly connected, Loopback0
R    172.16.0.0 [120/1] via 172.16.4.1, 00:00:25, Serial0
R    172.16.1.0 [120/2] via 172.16.4.1, 00:00:25, Serial0
R    172.16.2.0 [120/1] via 172.16.4.1, 00:00:25, Serial0
R    172.16.3.0 [120/1] via 172.16.4.1, 00:00:25, Serial0


これで,すべてのルーターに,全6個のネットワークが登録されました。

●おまけ RIPアップデート送信時の動作
RIPアップデート送信時の動作は,以下になります。

「通知しようとしている経路情報のメジャー・ネット」と「経路情報を送り出すインタフェースのメジャー・ネット」が,
 ・違う→クラスフルのマスクを適用(自動集約)して送信(RIPはクラスフルのプロトコルなので)
 ・同じ→両者のサブネット・マスクが,
      ・同じ→集約しないで送信
      ・違う→送信しない

今回の例では,「通知しようとしている経路情報のメジャー・ネット」と「経路情報を送り出すインタフェースのメジャー・ネット」は,ともに172.16.0.0で同じです。
そして,両者のサブネット・マスクは,いずれも異なります。
そのため,「送信しない」という結果に該当することがわかります。
これについては,「RIPの不連続サブネット」のラボ・シナリオに詳しい解説があります。

再配信ラボ
RIPとIGRPの再配信
ルートマップを使った再配信
IGRPとEIGRPの再配信
OSPFとRIPの再配信
OSPFとEIGRPの再配信