大規模なOSPFネットワークの問題点

OSPFはひとつのAS(Autonomous System)内部で利用されるIGPsの一種です。AS内のOSPFネットワークがどんどん大規模になって、たとえばルータが数十台~数百台にもなったときを考えてみましょう。このような非常に大規模なネットワークにおいて、以下のような問題点が考えられます。

  • ネットワーク上を流れるLSAが増大し、ネットワークの帯域を圧迫する
  • リンクステートデータベースが大きくなる
  • ルーティングテーブルが大きくなる
  • ネットワーク内の変更による影響が増大する
  • ルータのメモリやCPU負荷が増大する

ネットワーク上を流れるLSAが増大し、ネットワークの帯域を圧迫する

OSPFでは、各ルータがリンクステート情報(LSA)を交換しています。もちろんルータの数とルータが持つネットワークの数が増えれば増えるほど、LSAの数が増えていきます。すると、LSAの交換でかなりのネットワークの帯域を圧迫してしまうことになります。

リンクステートデータベースが大きくなる

LSAが増えるということは、ネットワークの帯域を圧迫するだけでなく、各ルータが保持しているリンクステートデータベースのサイズも大きくなってしまいます。

ルーティングテーブルが大きくなる

さらに、リンクステートデータベースからSPFアルゴリズムにしたがってルーティングテーブルを計算するわけですから、リンクステートデータベースのサイズが大きくなると必然的にルーティングテーブルのサイズが大きくなります。それだけでなく、SPFアルゴリズムによるルーティングテーブルの計算に要する時間も増えてしまいます。

ネットワーク内の変更による影響が増大する

ネットワーク内に変更があった場合、その変更を検出したルータは他のOSPFルータに変更情報を送信して、ネットワーク全体でリンクステートデータベースの同期を保たなければいけません。そのため、ある一部分の変更がネットワーク全体に影響を及ぼすことになります。もし、大規模なネットワークのある一部のネットワークがアップ、ダウンを繰り返すような状況が発生すれば、そのたびにLSAがフラッディングされ、リンクステートデータベースからルーティングテーブルのSPF計算が頻発してしまう事態になってしまいます。

ルータのメモリやCPU負荷が増大する

SPF計算はルータのCPUにかなりの負荷をかけてしまうので、SPF計算だけで手一杯になってしまって他の処理ができなくなってしまうかもしれません。大規模ネットワークは、いくつかの拠点で構成されています。ある拠点内のネットワークのダウンは、他の拠点の通信には関係しないことがほとんどです。しかし、単一のエリアであればある拠点のネットワークのダウンにともなって、すべての拠点のOSPFルータでSPF計算が行われる場合があります。その間、パケットのルーティングができません。

図 大規模なOSPFネットワークの問題点
図 大規模なOSPFネットワークの問題点

OSPFエリアの分割

こういった大規模なOSPFネットワークに起こりうるさまざまな問題点を解決するためには、「エリア」と呼ばれる概念が非常に重要です。OSPFネットワークを適切なエリアに分割することによって、OSPFは大規模なネットワークに対応します。

エリアを分割することで、同じエリア内のOSPFルータとの間でLSDBの同期を保ちます。そして、OSPFルータは、LSDBでネットワーク構成を詳細に把握しています。エリアを分割することで、エリア内とエリア外でネットワーク構成を把握する詳細さのレベルが違ってきます。エリア内はとても詳細にネットワーク構成を把握します。一方、エリア外は詳細なネットワーク構成ではなく、ネットワークアドレスだけわかるようにします。

エリア内の詳細を記述するLSAは、エリア内だけにアドバタイズします。これにより、交換するLSAのトラフィックを削減して、LSDBやルーティングテーブルのサイズも小さくします。そして、エリア外の変更では、SPFの計算を行わないようにして、あまり関係のない部分の変更の影響を小さくします。

OSPFの仕組み