| 確認 |
OSPFで学習した経路情報の中で,最短経路を判断するときの基準となるのが「コスト」です。
コストとは,OSPFインタフェースに付けられる重み値のこと。
帯域幅によってデフォルトでコスト値が自動的に決まりますが,手動で設定することもできます。
コスト値を設定することで,OSPFネットワークで思いのままに経路を操作することができるわけです。
●設定の確認
OSPFのコストは,インタフェースごとに設定します。
コマンドは,各インタフェースの設定モードで,
ip ospf cost コスト値
と入力すればOKです。
何も設定しなければ,デフォルトでコスト値が設定されます。
そのときの計算式は以下です。
インタフェースのコスト=100M/帯域幅
つまり,
SerialインタフェースはHDLCの1.5Mなので,コストは100M/1.5M=64です。
Ethernetインタフェースは10Mなので,コストは100M/10M=10です。
Loopbackインタフェースは1になります。
今回は,RouterAのSerial0をコスト50に,RouterBのSerial1をコスト80に設定しました。
あとは,デフォルトのコストを使っています。
ちなみに,auto-cost reference-bandwidthコマンドを使うと,コスト計算式の分子である「100M」の値を自由に変えることができます。
●動作の確認
以上の設定をしたところで,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
1.0.0.0/24 is subnetted, 1
subnets
C 1.1.1.0 is directly connected,
Loopback0
2.0.0.0/32 is subnetted, 1
subnets
O 2.2.2.2 [110/51] via 192.1.1.2, 00:01:58, Serial0
3.0.0.0/32 is subnetted, 1
subnets
O 3.3.3.3 [110/11] via 10.1.1.1, 00:01:58, Ethernet0
10.0.0.0/24 is subnetted, 1
subnets
C 10.1.1.0 is directly connected,
Ethernet0
O 193.1.1.0/24 [110/74] via 10.1.1.1, 00:01:58, Ethernet0
C 192.1.1.0/24 is directly
connected, Serial0
一番左に「O」の印が付いているのがOSPFで学習した経路情報です。
OSPFでは,Loopbackインタフェースは自動的にホスト・ルート(/32の経路)として通知されます。
2.2.2.2/32あてのコストが51,3.3.3.3/32あてのコストが11,193.1.1.0/24あてのコストが74になっています。
ここで,2.2.2.2/32あてのコストである51に注目してみます。
まず,RouterAのSerial0インタフェースのコストを見てみると50になっています。
手動で設定したコストがきちんと反映されてますね。
RouterA#show ip ospf interface Serial 0
Serial0 is up, line protocol
is up
Internet Address 192.1.1.1/24,
Area 0
Process ID 1, Router ID 1.1.1.1, Network
Type POINT_TO_POINT, Cost: 50
Transmit Delay is 1 sec, State
POINT_TO_POINT,
Timer intervals configured,
Hello 10, Dead
40, Wait 40, Retransmit 5
Hello due in 00:00:05
Index 1/1, flood queue length
0
Next 0x0(0)/0x0(0)
Last flood scan length is 1,
maximum is
2
Last flood scan time is 0 msec,
maximum
is 0 msec
Neighbor Count is 1, Adjacent
neighbor
count is 1
Adjacent with neighbor 2.2.2.2
Suppress hello for 0 neighbor(s)
次に,RouterBのLoopback0のコストを見てみます。
コストは1になっているのがわかります。
RouterB#show ip ospf interface Loopback 0
Loopback0 is up, line protocol
is up
Internet Address 2.2.2.2/24,
Area 0
Process ID 1, Router ID 2.2.2.2, Network
Type LOOPBACK, Cost: 1
Loopback interface is treated
as a stub
Host
2.2.2.2/32の経路情報にあった51というコスト値は,以上のコスト値(RouterAの50とRouterBの1)を足した値です。
つまり,ルーティング・テーブルに記載されるコスト値は,あて先ネットワークに到達するまでのコスト値の合計です。
OSPFで経路情報を複数学習したときは,目的地までの合計コストが一番小さい経路を採用します。
こうして,最短経路を見つけるわけです。
合計コストを考えるときに気をつけなければいけないのは,コストは「ルーターからネットワークに到達するときに加算される」ということです。
コストはインタフェースごとにあるので,これを頭に入れておかないとコスト計算がうまくいきません。
例えば,今回のネットワークの場合,各インタフェースのコストは以下のようになります。

RouterAから2.2.2.0/24あての経路の合計コストを考えてみます。
まず,RouterAから192.168.1.0/24というネットワークに到達したときにコスト50が加算されます。
そして次に,RouterBから2.2.2.0/24というネットワーク到達したときにコスト1が加算されて,合計値が51になるわけです。
●コストを操作して経路を変える
では,コスト値を変えて,パケットの通り道を変えてみましょう。
RouterAのEthernet0インタフェースのコストを10から200に変更してみます。
RouterA(config)#interface Ethernet
0
RouterA(config-if)#ip ospf cost 200
変更されたか確認してみると,確かにコスト値が200になっているのがわかります。
RouterA#show ip ospf interface Ethernet 0
Ethernet0 is up, line protocol is up
Internet Address 10.1.1.2/24, Area 0
Process ID 1, Router ID 1.1.1.1, Network
Type BROADCAST, Cost: 200
Transmit Delay is 1 sec, State DR, Priority
1
Designated Router (ID) 1.1.1.1, Interface
address 10.1.1.2
Backup Designated router (ID) 3.3.3.3,
Interface address 10.1.1.1
Timer intervals configured, Hello 10, Dead
40, Wait 40, Retransmit 5
Hello due in 00:00:07
Index 3/3, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 1, maximum is
2
Last flood scan time is 0 msec, maximum
is 0 msec
Neighbor Count is 1, Adjacent neighbor
count is 1
Adjacent with neighbor 3.3.3.3 (Backup
Designated Router)
Suppress hello for 0 neighbor(s)
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
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/51] via 192.1.1.2, 00:00:22,
Serial0
3.0.0.0/32 is subnetted, 1 subnets
O 3.3.3.3 [110/131] via 192.1.1.2, 00:00:22, Serial0
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, Ethernet0
O 193.1.1.0/24 [110/130] via 192.1.1.2, 00:00:22, Serial0
C 192.1.1.0/24 is directly connected, Serial0
3.3.3.3/32あての経路がRouterC(10.1.1.1)経由からRouterB(192.1.1.2)経由に変わりました。
コストは131になっています。
このコストのうちわけは,50(RouterAのSerial0)+80(RouterBのSerial1)+1(RouterCのLoopback0)=131です。
RouterAから直接RouterBに到達するコストが200になったため,131の経路のほうが近いとRouterAが判断したわけです。
同様に,193.1.1.0/24あてのコストもRouterB経由に変わったのがわかります。
最後に,RouterBのSerial0につながっているケーブルを抜いて,経路をダウンさせてみます。
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
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/265] via 10.1.1.1, 00:00:09, Ethernet0
3.0.0.0/32 is subnetted, 1 subnets
O 3.3.3.3 [110/201] via 10.1.1.1, 00:00:09, Ethernet0
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, Ethernet0
O 193.1.1.0/24 [110/264] via 10.1.1.1, 00:00:09, Ethernet0
RouterAは,コスト200であるEthernet0経由の経路に切り替えたことがわかります。
|
|