OSPFでルート集約できるルータ

OSPFによって大規模なネットワークのルーティングを効率よく行うためには、エリア分割はもちろんのこと、エリア分割に伴って効果的なルート集約をすることも重要です。OSPFにおいて、ルート集約の設定ができるルータは、以下の2つです。

  • ABR
    LSAタイプ3 ネットワークサマリーLSAのエリア間のルートを集約する
  • ASBR
    LSAタイプ5 AS外部LSAの非OSPFドメインのルートを集約する

ABRやASBR以外のルータでは、ルートの集約はできません。

ABRのルート集約

マルチエリアOSPFでは、他のエリアのルートの情報はLSAタイプ3 ネットワークサマリーLSAによってアドバタイズされます。ABRは、ネットワークアドレス1つにつき、LSAタイプ3をひとつずつ生成します。そのため、OSPFネットワークを複数のエリアに分割したとしてもルート集約を行わないと、他のエリアのネットワークアドレスの数が多ければ多いほど、アドバタイズされるLSAタイプ3も多くなります。そして、LSDBやルーティングテーブルのサイズが大きくなってしまいます。これでは、エリアを分割したとしてもエリア内のルータのCPUプロセスやメモリ使用率を低減することができなくなってしまいます。

このような状況の解消策の1つに、トータリースタブエリアの利用があります。トータリースタブエリアを利用すると、個別のネットワークアドレスを表すLSAタイプ3の代わりにデフォルトルートをエリア内にアドバタイズすることで、ルータへの負荷を軽減させることができます。他のエリアのすべてのルートをデフォルトルートに集約します。

しかし、ABRが複数あるようなネットワーク構成では、トータリースタブにしてデフォルトルートを利用すると、エリア間のトラフィックが必ずしも最適なルートを取らない可能性があります。たとえば、次の図で、R1から192.168.16.0/24あてのパケットをルーティングすることを考えます。ABR1とABR2の2台のABRでトータリースタブエリアの設定をしていると、ABR1とABR2は他のエリアの個別のルートの代わりにデフォルトルートをエリア1にアドバタイズします。すると、R1はABR1とABR2が生成した複数のデフォルトルートを受信しますが、メトリックを比較し、最適な経路を選択します。ここではR1はABR1から受信したデフォルトルートを最適経路と判断し、他のエリア内のネットワークあてのパケットはすべてABR1へルーティングするようになります。そのため、R1から192.168.16.0/24あてのパケットは、図の青い線のようにABR1を経由して転送されるようになり、最適なルートを通らなくなることが考えられます。

エリア内に流れるLSAタイプ3を少なくし、複数のABRが存在するネットワーク構成でもエリア間のパケットを適切なルートでルーティングするためには、ABRでルート集約を行います。

ルート集約を行うことによって、以下のメリットがあります。

  • ABRがエリア内にアドバタイズするLSAタイプ3を削減する
  • エリア内のLSDB、ルーティングテーブルのサイズが小さくなる
  • 他のエリアの個別のネットワークのダウンの影響を受けない

ただし、ルート集約を行うためには、IPアドレッシングをきちんと考えておく必要があります。ルート集約を効果的に行うためには、あるエリアの中のネットワークアドレスは、連続したブロックから割り当てる階層型IPアドレッシングが必要です。これはルート集約という機能は、複数のネットワークアドレスの共通ビットを判断して行うためです。また、集約するルートは2n個ずつになるので、エリア内のネットワークアドレスの数も2n個になるようにアドレッシングを行います。

ABRでのルート集約の設定

ABRにおいて、エリア間のルートを集約するには、OSPFのコンフィグレーションモードで次のコマンドを使います。

ABRでのルート集約の設定

(config)#router ospf <process-id>
(config-router)#area <area-id> range <network-address> <subnetmask>

<process-id> : プロセス番号
<area-id> : エリア番号
<network-address> <subnetmask> : 集約ルートのネットワークアドレス/サブネットマスク

エリア間のルート集約は、show ip ospfコマンドで確認することができます。

ASBRでのルート集約

同じことが、ASBRで生成されるLSAタイプ5 AS外部LSAにも言えます。非OSPFドメインのネットワークアドレスのルートは、ASBRでOSPFにリディストリビュートすることで、OSPFドメインにLSAタイプ5によってアドバタイズされます。
ひとつの非OSPFドメインのネットワークアドレスに対して、ひとつのLSAタイプ5が流れます。したがって、非OSPFドメインのネットワークの数が多ければ多いほど、OSPFドメイン全体に流れるLSAタイプ5が多くなり、LSDBやルーティングテーブルが肥大化します。

OSPFドメイン内に流れるLSAタイプ5を少なくし、OSPFドメイン内のLSDBやルーティングテーブルのサイズを小さくして、より安定したネットワークを構築するためには、ASBRで外部ルートの集約を行います。つまり、ASBRで外部ルートの集約を行うことによって、以下のようなメリットがあります。

  • ASBRがアドバタイズするLSAタイプ5が少なくなる
  • OSPFドメイン内のLSDBやルーティングテーブルのサイズが小さくなる
  • 非OSPFドメインの個別のネットワークのダウンの影響を受けない

ASBRでのルート集約の設定

ASBRで外部ルートを集約するためには、OSPFのコンフィグレーションモードで次のコマンドを使います。

ASBRでのルート集約の設定

(config)#router ospf <process-id>
(config-router)#summary-address <network-address> <subnetmask>

<process-id> : プロセスID
<networ-address> <subnetmask> : 集約ルートのネットワークアドレス/サブネットマスク

外部ルートの集約は、show ip ospf summary-addressコマンドで確認することができます。

OSPFの仕組み