| 確認 |
何もしなければ,あるルーティング・プロトコルで集めた経路情報を別のルーティング・プロトコルで流すことはありません。
異なるルーティング・プロトコル同士で経路情報をやりとりするには,「再配信」という設定が必要になります。
●再配信の設定の基本ルール
再配信の設定の基本ルールは,「経路情報を再配信する先のルーティング・プロセスの設定モードで,redestributeコマンドを使う」ということです。
例えば,OSPFの経路情報をRIPで再配信するときは,以下のようになります。
RouterB(config)#router rip
RouterB(config-router)#redistribute ospf 〜
まずRIPの設定モードに入って,その後に配信元のルーティング・プロセスであるOSPFを指定してやるわけです。
ルーティング・プロトコルによって,「〜」の部分に設定するオプションが違ってきます。
RIPとIGRPで経路情報を再配信するときの特徴は,再配信された経路情報に対するメトリックのデフォルト値(シードメトリック)が「無限大」になっているということです(EIGRPも)。
つまり,RIP,IGRP,EIGRPの経路情報を再配信するときは,redistributeコマンド実行時のパラメータでメトリック値を設定する必要が出てきます。
●再配信を設定する前の状態を確認
以上のことを,実際に確かめてみましょう。
RouterBに再配信の設定がない状態から見ていきます。
上のRouterBのコンフィグで,太字のコマンドを入れていない状態です。
RouterBのルーティング・テーブルを見てみます。
192.168.0.0/24,192.168.1.0/24,192.168.2.0/24,192.168.3.0/24の四つすべての経路情報が見えていますね。
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
R 192.168.0.0/24 [120/1] via
192.168.1.1,
00:00:23, Serial0
C 192.168.1.0/24 is directly
connected,
Serial0
C 192.168.2.0/24 is directly
connected,
Serial1
I 192.168.3.0/24 [100/8976]
via 192.168.2.1,
00:00:12, Serial1
次に,RIPが動作しているRouterAのルーティング・テーブルを見てみます。
IGRPが動いているRouterBより先の経路情報を受信していません。
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
C 192.168.0.0/24 is directly
connected,
Loopback0
C 192.168.1.0/24 is directly
connected,
Serial0
IGRPが動作しているRouterCのルーティング・テーブルはどうでしょうか。
逆に,RIPが動いているRouterBより先の経路情報を受信できていません。
RouterC#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
C 192.168.2.0/24 is directly
connected,
Serial0
C 192.168.3.0/24 is directly
connected,
Loopback0
●RIPの経路情報をIGRPで再配信
それではRouterBで,RIPの経路情報をIGRPで再配信します。
IGRPのルーティング・プロセスの設定モードに入って,RIPの再配信を指定します。
RouterB(config)#router igrp 100
RouterB(config-router)#redistribute rip
RouterCに経路情報は流れたでしょうか。
ルーティング・テーブルを見てみます。
すると,192.168.0.0/24の経路情報が来ていないことがわかります。
RouterC#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
I 192.168.1.0/24 [100/10476] via 192.168.2.254,
00:00:03, Serial0
C 192.168.2.0/24 is directly
connected,
Serial0
C 192.168.3.0/24 is directly
connected,
Loopback0
なぜ,192.168.0.0/24の経路情報が流れてこないのでしょうか。
debugコマンドを使って,RouterCで受信している経路情報を調べてみます。
RouterC#debug ip igrp transactions
IGRP protocol debugging is on
RouterC#
00:30:55: IGRP: received update
from 192.168.2.254
on Serial0
00:30:55: network 192.168.0.0, metric 4294967295 (inaccessible)
00:30:55: network 192.168.1.0, metric
10476 (neighbor 8476)
00:31:00: IGRP: sending update
to 255.255.255.255
via Loopback0 (192.168.3.1)
00:31:00: network 192.168.1.0, metric=10476
00:31:00: network 192.168.2.0, metric=8476
00:31:00: IGRP: sending update
to 255.255.255.255
via Serial0 (192.168.2.1)
00:31:00: network 192.168.3.0, metric=501
すると,192.168.0.0/24の経路情報を「inaccessible」(アクセス不可能)として受信していることがわかります(上の赤字)。
つまり,IGRPで経路情報を再配信するときに,メトリックを何も指定しないと,経路情報を「アクセス不可能」として再配信してしまうのです。
これでは再配信している意味がありません。
●メトリックを付けて送信する
そこで,IGRPで再配信する経路情報にメトリックを付加して配信してみます。
RouterB(config)#router igrp 100
RouterB(config-router)#redistribute rip metric 10000 100 255 1 1500
metricパラメータの後ろにある「100000 100
255 1 1500 」が,IGRPのメトリック情報です。
左から,最小帯域幅(kbps),遅延(10マイクロ秒),信頼性(255で100%信頼できる),負荷(255で帯域が100%埋まっている),MTUサイズ(バイト)です。
IGRPでは,これらの情報を元にメトリックを算出します。
IGRPのコストの計算方法は,以下を参照して下さい。
http://www.cisco.com/japanese/warp/public/3/jp/service/tac/103/3-j.html
ちなみに,再配信時にメトリックを指定するコマンドには,default-metricコマンドを使う方法もあります。
default-metricコマンドを使った場合,指定したメトリック値が再配布した先の全てのプロトコルに適用されます。
上で設定した,redistributeコマンドでmetricパラメータを使う方法は,再配布したプロトコルごとに異なるメトリック値が適用されます。
●動作の確認
今度はきちんと経路情報が流れたかを確認してみましょう。
RouterCのルーティング・テーブルを見てみます。
RouterC#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
I 192.168.0.0/24 [100/8576] via 192.168.2.254,
00:00:07, Serial0
I 192.168.1.0/24 [100/10476]
via 192.168.2.254,
00:00:07, Serial0
C 192.168.2.0/24 is directly
connected,
Serial0
C 192.168.3.0/24 is directly
connected,
Loopback0
今度は,192.168.0.0/24の経路情報がIGRPで流れてきました。
メトリックを指定したことにより,きちんとIGRPで経路情報が流れたことがわかりました。
●IGRPの経路情報をRIPで再配信
今度は逆に,IGRPの経路情報をRIPで再配信します。
RouterBがRouterA側に経路情報を再配信する格好になります。
RouterB(config)#router rip
RouterB(config-router)#redistribute igrp 100
RouterAのルーティング・テーブルを見てみると,IGRP側の経路が来ていないことがわかります。
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
C 192.168.0.0/24 is directly
connected,
Loopback0
C 192.168.1.0/24 is directly
connected,
Serial0
RouterBでdebugコマンドを使って,RouterBが送信している経路情報を調べてみましょう。
RouterB#debug ip rip
RIP protocol debugging is on
RouterB#
00:38:01: RIP: received v1 update
from 192.168.1.1
on Serial0
00:38:01: 192.168.0.0 in
1 hops
00:38:05: RIP: sending v1 update
to 255.255.255.255
via Serial0 (192.168.1.254)
00:38:05: RIP: build update entries - suppressing null update
すると,Serial0では「suppressing null update」(無効なアップデートを抑圧中)となっているのがわかります(上の赤字)。
これも,RIPで再配信するときのメトリック値を指定していないのが原因です。
●メトリックを付けて送信する
そこで,再配信時にRIPのメトリック値を設定してやります。
RouterB(config)#router rip
RouterB(config-router)#redistribute igrp 100 metric 3
metricパラメータの後の「3」がRIPのメトリック(RIPの場合はホップ数)です。
●動作の確認
RIPで再配信した経路情報が流れたか確認してみましょう。
RouterAのルーティング・テーブルを見てみます。
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
C 192.168.0.0/24 is directly
connected,
Loopback0
C 192.168.1.0/24 is directly
connected,
Serial0
R 192.168.2.0/24 [120/3] via
192.168.1.254,
00:00:17, Serial0
R 192.168.3.0/24 [120/3] via
192.168.1.254,
00:00:17, Serial0
RouterBの先にあったIGRPネットワークの経路情報がRIPで流れてきました。
メトリック値を見るとメトリックが3として配信されたことがわかります(「120/3」の「3」の部分がメトリックです)。
|
|