- RT-A のルーティングテーブル (OSPF) を表示させなさい。
< RT-A >
RT-A# sh ip route ospf | begin Gateway
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
O 172.16.3.0/24 [110/1563] via 172.16.2.2, 00:03:00, Serial0/0/0
RT-A#
■ メトリック
[110/1563] はアドミニストレーティブディスタンスの値と、メトリックの値です。
OSPF では、インターフェイスの帯域幅に基づくコストをメトリックとして使用します。
OSPF のコストは下記の計算式より求められます。
コスト = 100,000,000 / 帯域幅 (bps)
Kbpsでの計算では
コスト = 100,000 / 帯域幅 (Kbps)
Mbpsでの計算では
コスト = 100 / 帯域幅 (Mbps)
です。
インターフェイスの帯域幅はインターフェイスの種類によって決まっていますので、コストも必然的に決定しています。
インターフェイス | 帯域幅 | コスト |
Ethernet | BW 10000 Kbit | 10 |
FastEthernet | BW 100000 Kbit | 1 |
GigabitEthernet | BW 1000000 Kbit | 1 |
Serial | BW 1544 Kbit | 64 |
コスト値は show ip ospf interface コマンドの出力結果の中にありますので、それで確認できます。
コストの計算式の分子が 100,000,000 (100M) であるため、帯域幅が 100Mbps 以上の場合、この計算式の計算結果が全て 1 以下となります。コスト値に小数点以下の値はないため、100Mbps 以上の帯域幅の場合、コストは全て 1 になります。
コスト = 100 / 帯域幅 (Mbps)
これでは帯域幅に基づく最適なルーティングができません。
これを解決するためには以下の2つの方法があります。
1) 各インターフェイスに ip ospf cost コマンドで OSPF コストを設定する
2) auto-cost reference-bandwidth コマンドで OSPF コストの計算式の分子の値を変更する
各インターフェイスに OSPF コストを設定するのは大変な作業になるので、一般的には計算式の分子の値を変更します。ただし、1台だけ変更するのではなく、ネットワーク内の全てのルータの値を変更しないと、コスト値がバラバラになってしまうので気を付けましょう。
では、実際に図を見ながら計算してみましょう。
- RT-A の S0/0/0 のコストを調べなさい。
< RT-A >
RT-A# show ip ospf interface serial 0/0/0
Serial0/0/0 is up, line protocol is up
Internet Address 172.16.2.1/24, Area 0, Attached via Network Statement
Process ID 1, Router ID 172.16.2.1, Network Type POINT_TO_POINT, Cost: 1562
Topology-MTID Cost Disabled Shutdown Topology Name
0 1562 no no Base
Transmit Delay is 1 sec, State POINT_TO_POINT
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:07
Supports Link-local Signaling (LLS)
Cisco NSF helper support enabled
IETF NSF helper support enabled
Index 2/2, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 172.16.3.2
Suppress hello for 0 neighbor(s)
RT-A#
コストが 1562 になっているのは、S0/0/0 インターフェイスの帯域幅が 64Kbps であるためです。
コスト = 100,000,000 / 64,000 (bps) = 1562.5 ← 小数点以下切捨て
- RT-B の F0/0 のコストを調べなさい。
< RT-B >
RT-B# sh ip ospf int f0/0
FastEthernet0/0 is up, line protocol is up
Internet Address 172.16.3.2/24, Area 0, Attached via Network Statement
Process ID 1, Router ID 172.16.3.2, Network Type BROADCAST, Cost: 1
Topology-MTID Cost Disabled Shutdown Topology Name
0 1 no no Base
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 172.16.3.2, Interface address 172.16.3.2
No backup designated router on this network
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:01
Supports Link-local Signaling (LLS)
Cisco NSF helper support enabled
IETF NSF helper support enabled
Index 2/2, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 0, maximum is 0
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 0, Adjacent neighbor count is 0
Suppress hello for 0 neighbor(s)
RT-B#
RT-A の S0/0/0 のコスト 1562 と、RT-B の F0/0 のコスト 1 を足した 1563 が、RT-A から 172.16.3.0/24 のネットワークに行くためのメトリックになります。
- RT-A のルーティングテーブル (OSPF) を表示させなさい。
< RT-A >
RT-A# sh ip route ospf | begin Gateway
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
O 172.16.3.0/24 [110/1563] via 172.16.2.2, 00:03:00, Serial0/0/0
RT-A#
RT-A のルーティングテーブルのメトリックと一致しています。
- RT-A の S0/0/0 の帯域幅を 256Kbps に変更し、sh ip ospf int s0/0/0 で確認しなさい。
< RT-A >
RT-A# conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT-A(config)# int s0/0/0
RT-A(config-if)# bandwidth 256
RT-A(config-if)# ^Z
RT-A# sh ip ospf int s0/0/0 | section Cost
Process ID 1, Router ID 172.16.2.1, Network Type POINT_TO_POINT, Cost: 390
Topology-MTID Cost Disabled Shutdown Topology Name
0 390 no no Base
RT-A#
コスト = 100,000,000 / 256,000 (bps) = 390.625 ← 小数点以下切捨て
コストの計算と一致しています。
メトリックはこの 390 に、RT-B の F0/0 のコスト 1 を足した 391 になります。
- RT-A のルーティングテーブルを表示させなさい。
< RT-A >
RT-A# sh ip route ospf | begin Gateway
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
O 172.16.3.0/24 [110/391] via 172.16.2.2, 00:02:26, Serial0/0/0
RT-A#
RT-A のルーティングテーブルのメトリックと一致しています。
- RT-B の F0/0 の帯域幅を 10Mbps に変更し、sh ip ospf int f0/0 で確認しなさい。
< RT-B >
RT-B# conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT-B(config)# int f0/0
RT-B(config-if)# bandwidth 10000 ← Kbps 単位で設定するため
RT-B(config-if)# ^Z
RT-B# sh ip ospf int f0/0 | section Cost
Process ID 1, Router ID 172.16.3.2, Network Type BROADCAST, Cost: 10
Topology-MTID Cost Disabled Shutdown Topology Name
0 10 no no Base
RT-B#
コスト = 100,000,000 / 10,000,000 (bps) = 10
コストの計算と一致しています。
メトリックは RT-A の S0/0/0 のコスト 390 に、RT-B の F0/0 のコスト 10 を足した 400 になります。
- RT-A のルーティングテーブルを表示させなさい。
< RT-A >
RT-A# sh ip route ospf | begin Gateway
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
O 172.16.3.0/24 [110/400] via 172.16.2.2, 00:01:33, Serial0/0/0
RT-A#
OSPF のメトリックは、出力インターフェイスのコストを基に計算します。
RT-A から 172.16.3.0/24 のネットワークに行くためには、RT-A の S0/0/0 から出力し、RT-B の S0/0/0 に入力され、RT-B の F0/0 から出力します。