目次
OSPFルートの種類
OSPFで学習するルートには、主に次の3つあります。
- エリア内ルート
- 同一エリア内のネットワーク
- LSAタイプ1、LSAタイプ2に基づいたOSPFルート
- コード「O」
- エリア間ルート
- 他のエリアのネットワーク
- LSAタイプ3に基づいたOSPFルート
- コード「O IA」
- 外部ルート
- 非OSPFドメインのネットワーク
- LSAタイプ5に基づいたOSPFルート
- コード「O E1」または「O E2」
OSPFの最適ルートは累積のパスコストによって決定します。たとえば、次の図でR1から192.168. 23.0/24への最適ルートは累積のパスコストが最小となるR2経由のルートです。
ただし、あるネットワークをエリア内ルートとエリア間ルートとして学習した場合などは、コストによって最適ルートを決定しません。必ずエリア内ルートの方が優先されます。コストによる最適ルートの決定は、同じ種類のOSPFルートのときだけです。異なる種類のOSPFルートの場合は、パスコストに関係なく優先順位が決められています。OSPFルートの種類による優先順位は次の通りです。
- エリア内ルート
- エリア間ルート
- 外部ルート メトリックタイプ1
- 外部ルート メトリックタイプ2
このようなルートの種類による優先順位について具体的に見ていきましょう。
エリア内ルートとエリア間ルート
以下のネットワーク構成において、R1からR4のLoopback0(192.168.0.4)へのルートを考えます。
R1~R4のOSPFに関する設定は以下の通りです。
R1
router ospf 1 router-id 1.1.1.1 log-adjacency-changes network 192.168.0.1 0.0.0.0 area 0 network 192.168.12.0 0.0.0.3 area 0
R2
router ospf 1 router-id 2.2.2.2 log-adjacency-changes network 192.168.0.2 0.0.0.0 area 0 network 192.168.12.0 0.0.0.255 area 0 network 192.168.23.0 0.0.0.255 area 1 network 192.168.32.0 0.0.0.255 area 0
R3
router ospf 1 router-id 3.3.3.3 log-adjacency-changes network 192.168.0.0 0.0.0.255 area 0 network 192.168.23.0 0.0.0.255 area 1 network 192.168.32.0 0.0.0.255 area 0 network 192.168.34.0 0.0.0.255 area 0
R4
router ospf 1 router-id 4.4.4.4 log-adjacency-changes network 192.168.0.0 0.0.255.255 area 0
R1からR4 Loopback0までのルートは次の2つあります。
- R1 S1/0(64) → R2 S1/1(64) → R3 S1/0(64) → R4 Lo0(1)
累計パスコスト 193
エリア内ルート - R1 S1/0(64) → R2 E0/0(10) エリア1 → R3 S1/0(64) → R4 Lo0(1)
累計パスコスト 139
エリア間ルート
単純にパスコストだけを比較すれば、2.のR2 E0/0を経由するルートの方が優先されるはずです。しかし、R2 E0/0はエリア1に含まれています。R2 E0/0を経由するルートはエリア間ルートとなります。一方、R2 S1/1を経由するルートはエリア内ルートです。エリア間ルートよりもエリア内ルートの方が優先されるので、パスコストは大きくてもR1が選択するのは1.のR2 S1/1を経由するルートです。R1のルーティングテーブルと192.168.0.4までのTracerouteの結果は次のようになります。
R1 show ip route/traceroute
R1#show ip route ~省略~ Gateway of last resort is not set 192.168.12.0/30 is subnetted, 1 subnets C 192.168.12.0 is directly connected, Serial1/0 O IA 192.168.23.0/24 [110/74] via 192.168.12.2, 00:06:29, Serial1/0 O 192.168.34.0/24 [110/192] via 192.168.12.2, 00:06:29, Serial1/0 192.168.0.0/32 is subnetted, 4 subnets C 192.168.0.1 is directly connected, Loopback0 O 192.168.0.2 [110/65] via 192.168.12.2, 00:06:29, Serial1/0 O 192.168.0.3 [110/129] via 192.168.12.2, 00:06:29, Serial1/0 O 192.168.0.4 [110/193] via 192.168.12.2, 00:06:29, Serial1/0 O 192.168.32.0/24 [110/128] via 192.168.12.2, 00:06:29, Serial1/0 R1#traceroute 192.168.0.4 Type escape sequence to abort. Tracing the route to 192.168.0.4 1 192.168.12.2 48 msec 68 msec 20 msec 2 192.168.32.3 12 msec 40 msec 28 msec 3 192.168.34.4 48 msec 36 msec *
エリア間ルートと外部ルート
次にエリア間ルートと外部ルートの優先順位を確認します。そのために、次のようにネットワーク構成を変更します。
R3で192.168.23.0/24をOSPFプロセスに直接含めるのではなくて、Connectedを再配送して外部ルートとして生成します。そのために、R3の設定を次のように変更します。
R3
router ospf 1 no network 192.168.23.0 0.0.0.255 area 1 redistribute connected subnets metric 1
この構成のR4で192.168.23.0/24のルートに注目します。R4から192.168.23.0/24へのルートは次の2通りあります。
- R4 S1/1(64) → R3 S1/1(64) → R2 E0/0(10)
累積パスコスト 138
エリア間ルート - R4 S1/1(64) → R3 E0/0 非OSPFドメイン
累積パスコスト 1 (メトリックタイプ2なのでシードメトリックの値)
外部ルート
単純にパスコストだけを見ると、2.のルートが優先されるはずです。しかし、優先されるのはエリア間ルートである1.のルートです。パスコストに関係なく外部ルートよりもエリア間ルートの方が優先されます。R4のルーティングテーブルは次のような出力になります。
R4 show ip route
R4#show ip route ~省略~ Gateway of last resort is not set 192.168.12.0/30 is subnetted, 1 subnets O 192.168.12.0 [110/192] via 192.168.34.3, 00:07:34, Serial1/0 O IA 192.168.23.0/24 [110/138] via 192.168.34.3, 00:07:34, Serial1/0 C 192.168.34.0/24 is directly connected, Serial1/0 192.168.0.0/32 is subnetted, 4 subnets O 192.168.0.1 [110/193] via 192.168.34.3, 00:07:34, Serial1/0 O 192.168.0.2 [110/129] via 192.168.34.3, 00:07:34, Serial1/0 O 192.168.0.3 [110/65] via 192.168.34.3, 00:07:34, Serial1/0 C 192.168.0.4 is directly connected, Loopback0 O 192.168.32.0/24 [110/128] via 192.168.34.3, 00:07:34, Serial1/0
外部ルートのメトリックタイプ1とメトリックタイプ2
最後に外部ルートのメトリックタイプ1とメトリックタイプ2の優先順位を確認します。そのために、以下のようにネットワーク構成を変更します。
R2でも192.168.23.0/24のルートを外部ルートとして生成します。その際にメトリックタイプを1とします。R2の設定を次のように変更します。
R2
router ospf 1 no network 192.168.23.0 0.0.0.255 area 1 redistribute connected subnets metric-type 1
R3で生成された外部ルートのパスコストは1で一定です。一方、R2で生成された外部ルートのパスコストは初期値20で加算されていきます。そのため、単純なパスコストの比較ではR3で生成された外部ルートの方が優先されるはずです。しかし、実際にはR2が生成したメトリックタイプ1の外部ルートの方が優先されます。同じ外部ルートでもメトリックタイプ1とメトリックタイプ2では、パスコストに関係なくメトリックタイプ1のルートの方を優先します。R1、R4のルーティングテーブルは次のようになっています。
R1 show ip route
R1#show ip route ~省略~ Gateway of last resort is not set 192.168.12.0/30 is subnetted, 1 subnets C 192.168.12.0 is directly connected, Serial1/0 O E1 192.168.23.0/24 [110/84] via 192.168.12.2, 00:04:38, Serial1/0 O 192.168.34.0/24 [110/192] via 192.168.12.2, 00:04:38, Serial1/0 192.168.0.0/32 is subnetted, 4 subnets C 192.168.0.1 is directly connected, Loopback0 O 192.168.0.2 [110/65] via 192.168.12.2, 00:04:38, Serial1/0 O 192.168.0.3 [110/129] via 192.168.12.2, 00:04:38, Serial1/0 O 192.168.0.4 [110/193] via 192.168.12.2, 00:04:38, Serial1/0 O 192.168.32.0/24 [110/128] via 192.168.12.2, 00:04:38, Serial1/0
R4 show ip route
R4#show ip route ~省略~ Gateway of last resort is not set 192.168.12.0/30 is subnetted, 1 subnets O 192.168.12.0 [110/192] via 192.168.34.3, 00:05:17, Serial1/0 O E1 192.168.23.0/24 [110/148] via 192.168.34.3, 00:05:17, Serial1/0 C 192.168.34.0/24 is directly connected, Serial1/0 192.168.0.0/32 is subnetted, 4 subnets O 192.168.0.1 [110/193] via 192.168.34.3, 00:05:17, Serial1/0 O 192.168.0.2 [110/129] via 192.168.34.3, 00:05:17, Serial1/0 O 192.168.0.3 [110/65] via 192.168.34.3, 00:05:17, Serial1/0 C 192.168.0.4 is directly connected, Loopback0 O 192.168.32.0/24 [110/128] via 192.168.34.3, 00:05:17, Serial1/0
まとめ
ポイント
- OSPFには3つのルート種類があります。
- エリア内ルート 「O」
- エリア間ルート 「O IA」
- 外部ルート 「O E1」「O E2」
- 同じ種類のルートのときだけパスコストによる最適ルートを決定します。
- ルートの種類が異なるときは、パスコストに関係なく優先順位が決められています。
- エリア内ルート -> エリア間ルート -> 外部ルート メトリックタイプ1 -> 外部ルート メトリックタイプ2
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]