| 確認 |
不連続サブネットとは,異なるメジャー・ネットワークが間に挟まっているネットワークのことです。
メジャー・ネットワークというのは,クラスに従ったネットワークで,IPアドレスがクラスAに属するならサブネット・マスクは/8,クラスBなら/16,クラスCなら/24になります。
図のネットワークの場合,172.16.0.0のサブネットに,172.17.0.0のサブネットが挟まれており,不連続サブネットの状態です。
この状態でRIPを動作させました。
RouterBがRIPでどんな経路情報をRouerAから受け取っているのか見てみましょう。
RouterB#debug ip rip
RIP protocol debugging is on
RouterB#
01:51:10: RIP: sending v1 update to 255.255.255.255
via Ethernet0 (172.16.2.1)
01:51:10: RIP: build update entries
01:51:10: network 172.17.0.0 metric 1
01:51:10: RIP: sending v1 update to 255.255.255.255
via Serial0 (172.17.1.2)
01:51:10: RIP: build update entries
01:51:10: network 172.16.0.0 metric 1
01:51:19: RIP: received v1 update from 172.17.1.1
on Serial0
01:51:19: 172.16.0.0 in 1 hops
RouterA(172.17.1.1)から172.16.0.0という経路情報を受け取っています。
RIPでは,通知しようとしている経路情報のメジャー・ネットワークと,その経路情報を送り出す先のサブネットのメジャー・ネットワークが異なるときには,その経路情報はクラスに丸めて(集約して)通知します。
今回の場合は,RouterAには172.16.0.0/24というサブネットがつながっていますが,自動集約してクラスBの172.16.0.0/16という経路情報を通知したんですね。
で,このRIPの自動集約というのがクセモノです。
RouterBのルーティング・テーブルを見てみましょう。
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.17.0.0/24 is subnetted, 1 subnets
C 172.17.1.0 is directly connected, Serial0
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.2.0 is directly connected, Ethernet0
RouterBに登録された経路情報は,直接接続している二つ(172.17.1.0/24と172.16.2.0/24)だけ。
RouterAから受信した172.16.0.0/16の経路情報がありません。
この経路情報はどうなってしまったのでしょう?
実はRouterBは,この状態は不連続サブネットと判断して,172.16.0.0の経路情報は破棄してしまったのです。
それもそのはず,自身には172.16.2.0/24のサブネットが接続されています。
そのため,172.16.0.0/16がRouterAの先にあるという情報を信じるのは,明らかにウソだからです。
RIPの自動集約は,こういうケースにおいて弊害が出るんですね。
この状態で,RIPを使って経路情報を正しく伝播させるにはどうすればいいでしょうか。
方法は,
・RouterAとRouterBの間のサブネットを172.16.0.0のサブネットに変更する
・セカンダリ・アドレスを使ってRouterAとRouterBの間に172.16.0.0のサブネットに作る
・RIPバージョン2を使い,さらに,RIPの自動集約をオフにする
などがあります。
ここでは,コンフィグの追加だけで済む,セカンダリ・アドレスを使う方法を実践してみます。
ルーターのインタフェースには,複数のアドレスを設定することができるという裏ワザ(??)があります。
セカンダリ・アドレスを使って以下のようにすれば,不連続サブネットが解消されます。

まずはRouterAのSerial0ににセカンダリ・アドレスを設定します。
コマンドは通常の設定とほぼ同じで,違うのは最後にsecondaryと入れるところです。
RouterA(config)#interface Serial 0
RouterA(config-if)#ip address 172.16.3.1
255.255.255.0 secondary
RouterBのSerial0にも同様にセカンダリ・アドレスを設定します。
RouterA(config)#interface Serial 0
RouterA(config-if)#ip address 172.16.3.2
255.255.255.0 secondary
設定完了!
RouterBのルーティング・テーブルを見てみましょう。
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.17.0.0/24 is subnetted, 1 subnets
C 172.17.1.0 is directly connected, Serial0
172.16.0.0/24 is subnetted, 4 subnets
R 172.16.0.0 [120/1] via 172.17.1.1, 00:00:10,
Serial0
R 172.16.1.0 [120/1] via 172.16.3.1, 00:00:10,
Serial0
C 172.16.2.0 is directly connected, Ethernet0
C 172.16.3.0 is directly connected, Serial0
RouterAの先にある172.16.1.0/24の経路情報がRouterBに登録されました。
めでたしめでたし。
ルーターが通知しようとしている経路情報のメジャー・ネットワークと,経路情報を送り出すサブネットのメジャー・ネットワークが同じ場合,自動集約は行いません。
なのでRouterAは,172.16.1.0/24の経路情報を,172.16.3.0/24のサブネットを通じてRouterBに通知したわけです。
RouterAが送受信しているRIPアップデートを見てみましょう。
RouterA#debug ip rip
RIP protocol debugging is on
RouterA#
02:27:02: RIP: received v1 update from 172.17.1.2
on Serial0
02:27:02: 172.16.0.0 in 1 hops
02:27:02: RIP: received v1 update from 172.16.3.2
on Serial0
02:27:02: 172.16.2.0 in 1 hops
02:27:09: RIP: sending v1 update to 255.255.255.255
via Ethernet0 (172.16.1.1)
02:27:09: RIP: build update entries
02:27:09: subnet 172.16.0.0 metric 2
02:27:09: subnet 172.16.2.0 metric 2
02:27:09: subnet 172.16.3.0 metric 1
02:27:09: network 172.17.0.0 metric 1
02:27:09: RIP: sending v1 update to 255.255.255.255
via Serial0 (172.17.1.1)
02:27:09: RIP: build update entries
02:27:09: network 172.16.0.0 metric 1
02:27:09: RIP: sending v1 update to 255.255.255.255
via Serial0 (172.16.3.1)
02:27:09: RIP: build update entries
02:27:09: subnet 172.16.1.0 metric 1
RouterAが,172.16.1.0/24というサブネットをSerial0から送信しているのがわかります(赤字の部分)。
ルーターがどんなときに自動集約をして,どんなときに経路情報を破棄するのかをまとめてみました。
これがけっこう複雑です。
覚えきれないので,とりあえず赤字の部分だけ覚えておけばいいと思います(爆)。
●RIPアップデート送信時
・「通知しようとしている経路情報のメジャー・ネット」と「経路情報を送り出すインタフェースのメジャー・ネット」が
違う→クラスフルのマスクを適用(自動集約)して送信(RIPはクラスフルのプロトコルなので)
同じ→両者のサブネット・マスクが
同じ→集約しないで送信
違う→送信しない
●RIPアップデート受信時
・「受信した経路情報のメジャー・ネット」と「経路情報を受け取ったインタフェースのメジャー・ネット」が
違う→受信した経路情報と同じメジャー・ネットのサブネットがルーティング・テーブルに
ある→その経路情報は破棄(不連続サブネットになるので)
ない→クラスフルのマスクを適用(自動集約)して受信
同じ→受信したインタフェースのサブネット・マスクを適用して受信
TACにも以下の資料があります。
こちらの方が,図があるのでわかりやすいと思います。
http://www.cisco.com/japanese/warp/public/3/jp/service/tac/105/54-j.html
|
|