目次
OSPFのメトリック
OSPFの最適ルートの選択基準であるメトリックには、「パスコスト」を利用します。宛先ネットワークまでの経路上のコストを累積していき、最もコストが小さい経路が最適経路として、ルーティングテーブルに採用されます。パスコストによって、宛先ネットワークまでの距離を計測していると考えてください。
関連記事
ルーティングプロトコルによって、宛先ネットワークまでの距離を計測することについて、以下の記事で詳しく解説しています。
コストの決定は、Ciscoルータの実装ではデフォルトで帯域幅から自動的に計算されます。Cisco以外のベンダのルータも帯域幅から自動で計算していることが多いようです。Ciscoルータの実装でコストを計算する式は、デフォルトで次の通りです。
100(Mbps) / インタフェースの帯域幅(Mbps)
たとえば、10Mbpsのイーサネットであればコストは10、1.544Mbpsの専用線であればコストは64です。コストの値は、帯域幅が大きいほど小さくなるので、OSPFによる最適ルートの選択はデフォルトでは帯域幅が大きい経路を優先することになります。
ただし、小数点以下を考慮しないため、この計算式では100Mbps以上の帯域幅に対してはすべて1というコストになります。100Mbps以上のリンクが存在する場合には、正しくネットワークの帯域幅を反映できない可能性があります。そのため、インタフェースの帯域幅によらずに、管理者が手動でコマンドによってコスト値を設定することもできます。
また、コストの計算式のパラメータ自体をより高速なインタフェースに対応できるように変更することもできます。ただし、OSPFコストの計算式を変更するときは、すべてのOSPFルータで変更してください。計算式を変更しているルータと変更していないルータが混在すると、同じ帯域幅のインタフェースでもコストの計算結果が異なり、正しく最適ルートを決定できなくなります。
以下の表は、Ciscoルータにおける代表的なインタフェースごとのデフォルトのコスト値をまとめたものです。
インタフェースタイプ | コスト(100Mbps/帯域幅) |
ファストイーサネット | 1 |
イーサネット | 10 |
HSSI(45Mbps) | 2 |
T1(1.544Mbps) | 64 |
DS0(64kbps) | 1562 |
パスコストの例
累積のコストを計算するにはSPFアルゴリズムを実行します。わかりやすく考えると、RIPのようにOSPFルートが流れてくると仮定した場合に、ルートを受信するインタフェースのコストが累積されます。簡単な累積コストの例が次の図です。R1から見て、192.168.1.0/24までのパスコストは、図のベージュ部分のコスト値を累積したものになります。

もし、最小コストとなる経路が複数存在する場合には、その経路を利用して等コストロードバランスを行うことができます。
関連記事
OSPFコストの変更
OSPFのメトリックであるコストを変更して、最適ルートの決定を制御できます。OSPFコストの変更は、3通りあります。
- OSPFコストを直接設定する
- インタフェースの帯域幅(BW)を変更する
- コストの計算式の分子(reference-bandwidth)を変更する
OSPFコストを直接設定する
OSPFコストを直接設定するには、インタフェースコンフィグレーションモードで次のコマンドです。
(config-if)#ip ospf cost <cost>
<cost> : OSPFコスト
インタフェースの帯域幅(BW)を変更する
インタフェースの帯域幅を変更するには、インタフェースコンフィグレーションモードで次のコマンドです。
(config-if)#bandwidth <BW>
<BW> : 帯域幅(kbps)
コストの計算式の分子(reference-bandwidth)を変更する
コストの計算式の分子を変更するには、OSPFコンフィグレーションモードで次のコマンドを利用します。
(config)#router ospf < process-id >
(config-router)#auto-cost reference-bandwidth < bandwidth >
< process-id > : OSPFプロセスID
< bandwidth > : コスト計算式の分子Mbps単位
以下の図にOSPFのコスト変更をまとめています。

コストの変更は、単体のルータだけではなく全体としてコストの値の一貫性が保てるようにしてください。特に計算式の分子を変更する設定は、すべてのOSPFルータで同じ設定をしておくことが重要です。
OSPFコストの確認
OSPFのコストを確認するには、主に次のコマンドを利用します。
- show ip ospf interface
- show interface
- show ip protocols
show ip ospf interface
OSPFコストを確認するには、show ip ospf interfaceコマンドが一番わかりやすいです。特にbriefをつけると、OSPFが有効なインタフェースごとのコストの値がすぐにわかります。
R1#show ip ospf interface brief Interface PID Area IP Address/Mask Cost State Nbrs F/C Se2/0 1 0 Unnumbered Fa0/0 64 P2P 1/1 Fa0/0 1 0 192.168.12.1/24 1 BDR 0/1 R1#show ip ospf interface FastEthernet 0/0 FastEthernet0/0 is up, line protocol is up Internet Address 192.168.12.1/24, Area 0 Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 1.1.1.1, Interface address 192.168.12.1 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) Index 1/1, 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 1, Adjacent neighbor count is 0 Suppress hello for 0 neighbor(s)
show interface
show interfaceコマンドはOSPFコスト計算に利用するBWを確認します。
R1#show interface FastEthernet 0/0 FastEthernet0/0 is up, line protocol is up Hardware is AmdFE, address is cc01.29a8.0000 (bia cc01.29a8.0000) Internet address is 192.168.12.1/24 MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 100Mb/s, 100BaseTX/FX ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:01, output 00:00:00, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) ~省略~
show ip protocols
show ip protocolsコマンドで、OSPFコストの計算式の分子の値であるreference-bandwidthを確認できます。
R1#show ip protocols Routing Protocol is "ospf 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Router ID 1.1.1.1 Number of areas in this router is 1. 1 normal 0 stub 0 nssa Maximum path: 4 Routing for Networks: 192.168.12.0 0.0.0.255 area 0 Reference bandwidth unit is 100 mbps Routing Information Sources: Gateway Distance Last Update 2.2.2.2 110 00:00:00 Distance: (default is 110)
関連記事
CiscoルータでのOSPFの基本的な設定と確認コマンドについて、以下の記事もあわせてご覧ください。
OSPFの仕組み
- OSPFとは? 初心者にもわかりやすくOSPFの特徴を解説
- OSPFの処理の流れ
- OSPFルータID ~OSPFルータを識別~
- OSPFルータのルータIDが重複してしまったら?
- OSPF ネイバーとアジャセンシー
- OSPF DR/BDR
- イーサネット上のshow ip ospf neighborの見え方
- OSPFネットワークタイプ ~OSPFが有効なインタフェースの分類~
- OSPF LSDBの同期処理
- 大規模なOSPFネットワークの問題点
- OSPFエリア ~エリア内は詳しく、エリア外は概要だけ~
- OSPFルータの種類
- OSPF LSAの種類
- OSPF エリアの種類
- OSPFの基本的な設定と確認コマンド [Cisco]
- インタフェースでOSPFを有効化することの詳細
- OSPF ループバックインタフェースのアドバタイズ
- OSPF Hello/Deadインターバルの設定と確認コマンド
- OSPFコストの設定と確認
- OSPFルータプライオリティの設定と確認コマンド
- OSPFネイバー認証の設定 ~正規のルータとのみネイバーになる~
- バーチャルリンク上のネイバー認証
- OSPF スタブエリアの設定と確認[Cisco]
- OSPF スタブエリアの設定例 [Cisco]
- OSPFデフォルトルートの生成 ~default-information originateコマンド~
- OSPFデフォルトルートの生成 ~スタブエリア~
- OSPF バーチャルリンク ~仮想的なエリア0のポイントツーポイントリンク~
- OSPF バーチャルリンクの設定と確認 [Cisco]
- OSPF バーチャルリンクの設定例 [Cisco]
- OSPF 不連続バックボーンのVirtual-link設定例
- OSPFのルート集約と設定
- OSPFルート集約の設定例(Cisco)
- OSPF ルート種類による優先順位
- OSPFネイバーの状態がExstartでスタックする原因
- OSPFパケットの種類とOSPFヘッダフォーマット
- OSPF Helloパケット
- OSPF DD(Database Description)パケット
- OSPF LSR(Link State Request)パケット
- OSPF LSU(Link State Update)パケット
- OSPF LSAck(Link State Acknowledgement)パケット
- OSPF 再配送ルートの制限 ~redistribute maximum-prefixコマンド~
- OSPFでのディストリビュートリスト/プレフィクスリストの動作
- OSPFでのディストリビュートリストの設定例 Part1
- OSPFでのディストリビュートリストの設定例 Part2
- OSPFのLSAフィルタの概要 ~LSAタイプ3/タイプ5をフィルタ~
- LSAタイプ3のフィルタ設定例
- LSAタイプ5のフィルタ設定例
- 3階層モデルLANのOSPFルーティング
- 演習:実践的なOSPFルーティング Part1:OSPFの基本設定
- 演習:実践的なOSPFルーティング Part2:デフォルトルートの生成
- 演習:実践的なOSPFルーティング Part3:スタブエリア
- 演習:実践的なOSPFルーティング Part4:ルート集約
- 演習:実践的なOSPFルーティング Part5:トラブルシューティング
- OSPF 設定ミスの切り分けと修正 Part1
- OSPF 設定ミスの切り分けと修正 Part2
- OSPF 設定ミスの切り分けと修正 Part3
- OSPF 設定ミスの切り分けと修正 Part4
- OSPF 設定ミスの切り分けと修正 Part5
- OSPF 設定ミスの切り分けと修正 Part6
- Cisco OSPFv3 for IPv4の設定と確認コマンド
- Cisco OSPFv3 for IPv4の設定例
- OSPFv3の設定例 [Cisco]
- OSPFv3 ルート集約の設定例 [Cisco]