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の最適ルートは累積のパスコストによって決定します。ただし、パスコストによる最適ルートの決定は、同じ種類の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の仕組み