検索
連載

大規模で複雑なネットワークでの運用に堪えるOSPFIPルーティング入門(5)

PC用表示 関連情報
Share
Tweet
LINE
Hatena

AS内で利用されるルーティング・プロトコルの代表的なものとして、RIPとOSPFが挙げられます。RIPは、運用が容易な反面、各種の制限から大規模で複雑なネットワークでの利用に向きません。そこで、これらの環境の利用でも耐えられるOSPFの登場となります。今回は、OSPFの仕組みについて、まずは経路情報作成の様子を見ていきましょう (編集局)


RIPとOSPFの比較

 前回(「第4回:RIPの仕組みと運用法を知ろう!」)RIPと同様、OSPF(Open Shortest Path First)はIGPと呼ばれているルーティング・プロトコルの一種です。このOSPFは、RIPと比較すると以下のような長所を備えています。

  • ネットワーク変更時の収束時間が短い
  • 標準でVLSMに対応している
  • 標準でマルチキャストに対応している
  • 標準で認証機能に対応している
  • 定期的なアップデートを行わない
  • 帯域幅を考慮したコストの設定が可能
  • 同一コストの複数パスを利用したロードバランスが可能
  • 階層構造を取ることにより、効率の良いネットワークを構築できる
  • RIPのような最大メトリック値(15)という制限がない

 また、RIPは、OSPFと比較すると以下のような長所を備えています。

  • 実装が比較的容易である
  • サポートしている機器が多い

 上記を参照しても分かるように、OSPFにはRIPよりも多彩な機能が備わっています。しかし、その分実装も難しくなっており、またOSPFに対応した機器はより高価なものとなるのが一般的です。

 このため、一般的には、小規模で比較的単純なネットワークではRIPを採用し、大規模でより複雑なネットワークではOSPFを採用するというケースが多いようです。

OSPFの役割と仕組み

・OSPFの役割

 OSPFは、主に一般企業やISPなどの内部ネットワークを制御するために利用されています。具体的には、一般企業ではネットワーク全体を制御するメインのルーティング・プロトコルとして、バックボーン・ネットワークを構築する際などによく採用されています。また、ISPなどでは、AS内部のローカル経路を制御したり、IBGP接続用のループバック・アドレスやEBGP経由で受信した経路情報のネクスト・ホップ・アドレスを解決したりするなど、どちらかというと2次的なルーティング・プロトコルとして採用されています。

・OSPFの仕組み

 OSPFは、本連載の第1回「ルーティング・プロトコルの役割を理解する」の「主要なルーティング・プロトコルとその組み合わせ」の項で説明したように、リンクステート・アルゴリズムに基づいたルーティング・プロトコルです。また、RIPやBGPなどのようにUDPやTCP上で動作するルーティング・プロトコルではなく、IP上で直接動作しているため(IPプロトコル番号:89番)、IPに特化したルーティング・プロトコルということができます。

 OSPFでは、あて先までのコスト値(主にインターフェイスの帯域幅により決定)が最小の経路を最適経路と見なします。このコスト値は、あて先に到達するまでに通過するルータのコスト値の合計になります(図1)。また、あて先までのコスト値が同一の、複数のパスが存在する場合、これらのパスをロード・シェアリングして使用することが可能です。

 また、多くのルーティング・プロトコルは経路情報そのものを交換しますが、OSPFではLSA(Link-State Advertisement)を交換します。LSAには、そのルータに接続されたネットワークの情報やインターフェイスのコストなどの情報が含まれており、各ルータはこのLSAをアナウンス/収集し、そこから各自がリンクステート・データベース(LSDB)を作成します*1。さらに、各ルータはこのLSDBに基づいて最短パス・ツリーを作成し、各自でルーティング・テーブルを作成します(図2)。また、このLSAは定期的にアナウンスするのではなく、更新があった場合のみ、その差分情報をアナウンスします*2

*1同一エリア内のルータが作成するLSDBは、すべて同じものになります


*2実際には、30分周期ですべてのLSAが再交換されます


 さらに、OSPFでは、エリアの概念を導入することで、ネットワークを論理的に分割することができます。また、RIPのような最大メトリック値が15という制限もないため、より大規模ネットワークに適したルーティング・プロトコルであるといえます。

図1 コスト値による最適経路の選択。あて先までのコスト値は、経由するルータの出力インターフェイスに設定されたコスト値の合計になる。今回の例では、R-1からあて先ネットワークへは、
図1 コスト値による最適経路の選択。あて先までのコスト値は、経由するルータの出力インターフェイスに設定されたコスト値の合計になる。今回の例では、R-1からあて先ネットワークへは、
(1) R-1→R-2→R-5経由 (コスト値=40)
(2) R-1→R-3→R-4→R-5経由 (コスト値=30)
の2つのパスが存在する。この場合、(2)のパスのコスト値がより小さいため、R-1はこちらのパスを最適経路として選択する
図2 LSAの交換→LSDBの作成→ルーティング・テーブルの作成。この作業は各ルータにて個別に行われるため、OSPFではネットワーク変更時の収束時間が速いといわれている
図2 LSAの交換→LSDBの作成→ルーティング・テーブルの作成。この作業は各ルータにて個別に行われるため、OSPFではネットワーク変更時の収束時間が速いといわれている

ルーティング・テーブルの作成

 ここでは、以下のようなネットワーク構成を例に挙げ、OSPFにおけるルーティング・テーブルの作成過程について、もう少し詳しく説明します。

図3 ネットワーク構成図
図3 ネットワーク構成図

・リンクステート・データベース(LSDB)

 先に述べたように、OSPFでは経路情報ではなくLSAを交換します。LSAを収集した各ルータは、このLSAに含まれた情報に基づき、まずLSDBを作成します。

 図3のようなネットワークでは、R-1からR-5のすべてのルータにおいて、以下のようなLSDBが作成されます。

表1 図3のネットワークを基にしたLSDBの例
表1 図3のネットワークを基にしたLSDBの例

 このLSDBからは、「FROM(どこから)」「TO(どこに)」「コスト値がいくつで接続されているか」を参照することができます。

 具体的には、以下のようなことが分かります。

  • FROM:R-1は、TO:N-1に、コスト値10で接続している
  • FROM:R-1は、TO:N-2に、コスト値10で接続している
  • N-1の先には何もない
  • N-2は、R-1、R-2、R-3に接続している*3
  • FROM:R-2は、TO:N-2に、コスト値10で接続している
  • FROM:R-2は、TO:N-4に、コスト値20で接続している
  • N-4は、R-2、R-4、R-5に接続している

           :

           :

*3LSDBでは、FROMがルータの行にコスト値を入力し、FROMがネットワークの行には「コスト値はなし(0)」を入力します


・最短パス・ツリーの作成

 次に、各ルータは上記LSDBを参照し、自分を起点に、あて先までのコスト値が最小となるツリー(最短パス・ツリー)を作成します。このときに使用されるアルゴリズムがDijkstraアルゴリズムです。

 ここでは、R-1にて作成される最短パス・ツリーを例に挙げます。

図4 最短パス・ツリーの例。各ルータとネットワークの間に入力されているコスト値は、左側の値がそのインターフェイスのコスト値で、かっこでくくられている値が、そこまでのコスト値の合計になる
図4 最短パス・ツリーの例。各ルータとネットワークの間に入力されているコスト値は、左側の値がそのインターフェイスのコスト値で、かっこでくくられている値が、そこまでのコスト値の合計になる

 この最短パス・ツリーを参照することで、R-1は、すべてのあて先ネットワークまでの最短パスを参照することができます。

・ルーティング・テーブルの作成

 あとは最短パス・ツリーを参照し、あて先ネットワークへのネクスト・ホップとなるルータを入力したルーティング・テーブルが作成されます。

エリアの種類と特徴エリアの種類と特徴

 上記のように、OSPFでは少々複雑な作業を経てルーティング・テーブルが作成されます。また、この作業はネットワークの規模に比例してより複雑なものとなります。そこで、OSPFにはエリアという概念が設けられています。OSPFルータがLSAを交換する範囲は、同一エリア内に限られています。このため、大規模なネットワークではこのエリアを作成することで、LSAの交換範囲を抑制することが可能となります。この結果、このLSAに基づき作成されるLSDBのサイズも抑制することが可能となります。

 このエリアの概念は、OSPFがより大規模なネットワークに対応可能である大きな理由の1つといえます(図5)。

図5 エリアの概念
図5 エリアの概念

 このように、エリアを作成/分割することで、LSAの交換範囲を分けることができます。

ABR(Area Border Router)

図5の中で、複数のエリアに接続されているルータ(エリア0とエリア1、またはエリア0とエリア2の境界に存在しているルータ)はABR(Area Border Router)と呼ばれます。自身が所属しているエリア以外の情報は、基本的にこのABRがLSAを作成し、各エリア内にアナウンスします。これにより、各エリア内のルータはエリア外部の情報を知ることができるようになります。

ASBR(AS Border Router)

同じく図5の中で、OSPF以外のプロトコル(今回の例ではRIP)の経路情報を、OSPF内にリディストリビュートしているルータをASBR(AS Border Router)と呼びます。また、このようなOSPF以外のプロトコルからの経路情報を、外部経路(AS external outes)と呼びます。

AS(Autonomous System)

OSPFでいうASとは、1つのバックボーン・エリアを中心に構成されたOSPFネットワーク全体を指すイメージになります。

・エリアの種類と特徴

 OSPFのエリアには、いくつかの種類があります。ここでは、主なエリアの紹介と、各エリアの特徴を説明します。

1. バックボーン・エリア

 バックボーン・エリアは、OSPFを用いたネットワークを構築する際に必ず必要となるエリアです。この後説明するバックボーン以外のエリアは、必ずこのバックボーン・エリアに接続されている必要があります。なぜなら、各エリア間の通信は、このバックボーン・エリアを介して行われることになるからです。

 また、各エリアにはエリアIDと呼ばれる番号を設定し区別しますが、このバックボーン・エリアには必ず0という番号を設定します。このエリアIDは32bitsで表現されており、IPアドレスと同じように0.0.0.0と入力したり、単純に0と入力したりすることができます*4

*4バックボーン・エリアの場合、エリアIDは必ず0になるので問題はありませんが、例えばそれ以外のエリアに1というIDを入力した場合、この1の解釈が各ネットワーク機器メーカーによって異なる場合があります。

・A社の場合:エリアID 1=0.0.0.1

・B社の場合:エリアID 1=1.0.0.0

このため、複数のメーカーの製品を組み合わせてOSPFネットワークを構築する場合、エリアIDは「0.0.0.1」ときちんと入力することを推奨します


2. ノーマル・エリア

 ノーマル・エリアは、基本的にあらゆる種類のLSAが流れるエリアです(図6・表2)。このため、このエリアには、ASBRを設置することも可能です。

3. スタブ・エリア

 スタブ・エリアには、外部経路を伝えるLSA(AS-external-LSA)が流れません(図6・表2)。そのため、このエリアにはASBRを設置することはできません。また、外部経路が伝わらないため、スタブ・エリアのABRは、このエリア内にデフォルト・ルートをアナウンスする必要があります。

4. NSSA("not-so-stubby" area)

 基本的には、スタブ・エリアと同じ特徴を持つエリアです(図6・表2)。唯一の違いは、このNSSAにはASBRが設置可能であるということです。ただし、通常のAS-external-LSAは流れないため、NSSA内部では、専用の外部経路のLSA(NSSA External LSA)が用意されています。

図6 主なエリアの種類と特徴。このように、各エリアによって流すことができるLSAの種類が変わってくる。NSSA External LSAは、NSSAのABRにて通常のAS-external-LSAに変換され、バックボーン・エリアにアナウンスされる
図6 主なエリアの種類と特徴。このように、各エリアによって流すことができるLSAの種類が変わってくる。NSSA External LSAは、NSSAのABRにて通常のAS-external-LSAに変換され、バックボーン・エリアにアナウンスされる

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 LSAの詳細については、連載の次回分で説明します。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る