第5回 大規模で複雑なネットワークでの運用に堪えるOSPF
|
前回(「第4回:RIPの仕組みと運用法を知ろう!」)のRIPと同様、OSPF(Open Shortest Path First)はIGPと呼ばれているルーティング・プロトコルの一種です。このOSPFは、RIPと比較すると以下のような長所を備えています。
また、RIPは、OSPFと比較すると以下のような長所を備えています。
上記を参照しても分かるように、OSPFにはRIPよりも多彩な機能が備わっています。しかし、その分実装も難しくなっており、またOSPFに対応した機器はより高価なものとなるのが一般的です。
このため、一般的には、小規模で比較的単純なネットワークではRIPを採用し、大規模でより複雑なネットワークでは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。
|
|
さらに、OSPFでは、エリアの概念を導入することで、ネットワークを論理的に分割することができます。また、RIPのような最大メトリック値が15という制限もないため、より大規模ネットワークに適したルーティング・プロトコルであるといえます。
![]() |
図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ではネットワーク変更時の収束時間が速いといわれている |
ここでは、以下のようなネットワーク構成を例に挙げ、OSPFにおけるルーティング・テーブルの作成過程について、もう少し詳しく説明します。
![]() |
図3 ネットワーク構成図 |
●リンクステート・データベース(LSDB)
先に述べたように、OSPFでは経路情報ではなくLSAを交換します。LSAを収集した各ルータは、このLSAに含まれた情報に基づき、まずLSDBを作成します。
図3のようなネットワークでは、R-1からR-5のすべてのルータにおいて、以下のようなLSDBが作成されます。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
表1 図3のネットワークを基にしたLSDBの例 |
このLSDBからは、「FROM(どこから)」「TO(どこに)」「コスト値がいくつで接続されているか」を参照することができます。
具体的には、以下のようなことが分かります。
|
●最短パス・ツリーの作成
次に、各ルータは上記LSDBを参照し、自分を起点に、あて先までのコスト値が最小となるツリー(最短パス・ツリー)を作成します。このときに使用されるアルゴリズムがDijkstraアルゴリズムです。
ここでは、R-1にて作成される最短パス・ツリーを例に挙げます。
|
|
図4 最短パス・ツリーの例。各ルータとネットワークの間に入力されているコスト値は、左側の値がそのインターフェイスのコスト値で、かっこでくくられている値が、そこまでのコスト値の合計になる |
この最短パス・ツリーを参照することで、R-1は、すべてのあて先ネットワークまでの最短パスを参照することができます。
●ルーティング・テーブルの作成
あとは最短パス・ツリーを参照し、あて先ネットワークへのネクスト・ホップとなるルータを入力したルーティング・テーブルが作成されます。
上記のように、OSPFでは少々複雑な作業を経てルーティング・テーブルが作成されます。また、この作業はネットワークの規模に比例してより複雑なものとなります。そこで、OSPFにはエリアという概念が設けられています。OSPFルータがLSAを交換する範囲は、同一エリア内に限られています。このため、大規模なネットワークではこのエリアを作成することで、LSAの交換範囲を抑制することが可能となります。この結果、このLSAに基づき作成されるLSDBのサイズも抑制することが可能となります。
このエリアの概念は、OSPFがより大規模なネットワークに対応可能である大きな理由の1つといえます(図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 routes)と呼びます。AS(Autonomous System)
OSPFでいうASとは、1つのバックボーン・エリアを中心に構成されたOSPFネットワーク全体を指すイメージになります。
●エリアの種類と特徴
OSPFのエリアには、いくつかの種類があります。ここでは、主なエリアの紹介と、各エリアの特徴を説明します。
1. バックボーン・エリア
バックボーン・エリアは、OSPFを用いたネットワークを構築する際に必ず必要となるエリアです。この後説明するバックボーン以外のエリアは、必ずこのバックボーン・エリアに接続されている必要があります。なぜなら、各エリア間の通信は、このバックボーン・エリアを介して行われることになるからです。
また、各エリアにはエリアIDと呼ばれる番号を設定し区別しますが、このバックボーン・エリアには必ず0という番号を設定します。このエリアIDは32bitsで表現されており、IPアドレスと同じように0.0.0.0と入力したり、単純に0と入力したりすることができます*4。
|
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に変換され、バックボーン・エリアにアナウンスされる |
|
||||||||||||||||||||
表2 主なエリアの種類と特徴 |
LSAの詳細については、連載の次回分で説明します。