OSPFルートの種類

OSPFで学習するルートには、主に次の3つあります。

  1. エリア内ルート
    1. 同一エリア内のネットワーク
    1. LSAタイプ1、LSAタイプ2に基づいたOSPFルート
    1. コード「O」
  2. エリア間ルート
    1. 他のエリアのネットワーク
    1. LSAタイプ3に基づいたOSPFルート
    1. コード「O IA」
  3. 外部ルート
    1. 非OSPFドメインのネットワーク
    1. LSAタイプ5に基づいたOSPFルート
    1. コード「O E1」または「O E2」

OSPFの最適ルートは累積のパスコストによって決定します。たとえば、次の図でR1から192.168. 23.0/24への最適ルートは累積のパスコストが最小となるR2経由のルートです。

図  同一エリア内の最適ルート選択の例
図 同一エリア内の最適ルート選択の例

ただし、あるネットワークをエリア内ルートとエリア間ルートとして学習した場合などは、コストによって最適ルートを決定しません。必ずエリア内ルートの方が優先されます。コストによる最適ルートの決定は、同じ種類のOSPFルートのときだけです。異なる種類のOSPFルートの場合は、パスコストに関係なく優先順位が決められています。OSPFルートの種類による優先順位は次の通りです。

  1. エリア内ルート
  2. エリア間ルート
  3. 外部ルート メトリックタイプ1
  4. 外部ルート メトリックタイプ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つあります。

  1. R1 S1/0(64) → R2 S1/1(64) → R3 S1/0(64) → R4 Lo0(1)
    累計パスコスト 193
    エリア内ルート
  2. 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通りあります。

  1. R4 S1/1(64) → R3 S1/1(64) → R2 E0/0(10)
    累積パスコスト 138
    エリア間ルート
  2. 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の優先順位を確認します。そのために、以下のようにネットワーク構成を変更します。

図  外部ルート メトリックタイプ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の仕組み