H O M E > ネットワークのおべんきょしませんか? Cisco CCNA/CCNP/CCIE、ネットワークスペシャリスト試験の勉強にピッタリ > 2004年9月
(所属カテゴリー:IPルーティング---投稿日時:2004年9月26日)
OSPFはIETF(Internet Engineering Task Force)標準のリンクステート型ルーティングプロトコルです。OSPFはRIPなどのディスタンスベクタ型ルーティングプロトコルのさまざまな制限をなくし、より大規模なネットワークで効率のよいルーティングを行うために開発されています。
今回は、OSPFの概要とその特徴についてご紹介します。
※ディスタンスベクタ型、リンクステート型ルーティングプロトコルについて
「ルーティングプロトコルの分類その2」
OSPFは1980年代のなかばから、RIPに取って代わるルーティングプロトコルとして開発が進められました。
RIPでは、次のようないくつかの制限がありました。
OSPFでは、こういったRIPのさまざまな制限をなくし、より大規模なネットワークにおいて効率よくルーティングすることを目的としています。
1987年にIETFによって、OSPFの標準化が開始され1989年にRFC1131としてOSPFv1が公開されています。OSPFv1をさらに発展させて、1991年にOSPFv2が標準化されています。OSPFv2は以降もさまざまな機能が盛り込まれ、1998年にRFC2328が公開されています。これ以降もMPLS(Multi Protocol Label Switching)との相互作用やIPv6への対応など、さまざまな拡張が行われていく予定です。
v1、v2の2つのバージョンがありますが、一般にOSPFといえば、OSPFv2を指していると考えてください。
OSPFの特徴は次のようになります。
OSPFは、RIPやIGRPと同じくAS内部のルーティングを対象としたIGPsの一種です。ただし、RIPやIGRPよりも大規模なネットワークを主な対象としています。
※IGPって何?って方はこちらをご覧ください↓
「ルーティングプロトコルの分類」
ルーティングアルゴリズムは、リンクステート型です。リンクステート型では、ルーティングテーブルではなく、各ルータのインタフェースの情報(リンクステート情報)を交換します。リンクステート情報は「LSA(Link State Advertisement)」とも呼ばれ、ルータが持つインタフェースの種類、そのインタフェースのIPアドレス、インタフェースのコスト、接続されているネットワークのタイプなどが含まれます。LSAから、ネットワーク全体の地図を表すリンクステートデータベースを作成し、SPF(Shortest Path Fast)アルゴリズムから各ルータを起点とした最短パスツリーを計算してルーティングテーブルを作成します。
リンクステートデータベースは、すべてのルータで共通です。ですから、非常に大規模なネットワークでは、交換されるリンクステート情報の数が非常に多くなり、それにともなってリンクステートデータベースサイズが巨大になります。その結果、ルータのCPUサイクルやメモリを消費することになるので、好ましくありません。
このようなことを解消するために、OSPFでは「エリア」という概念を取り入れて、大規模ネットワークでより効率よくルーティングできるように考えられています。
また、LSAの中にはサブネットマスクも含まれているのでクラスレスルーティングプロトコルです。そのため、RIPやIGRPといったクラスフルルーティングプロトコルではサポートできなかったVLSMや不連続サブネットをサポートすることが可能です。
すべてのルータが共通のネットワークの地図、つまりリンクステートデータベースを持っていることによって、何か変更が起こったときでもすぐに各ルータが変更を認識することができます。したがって、ディスタンスベクタ型ルーティングプロトコルよりもはるかに高速にコンバージェンスさせることが可能です。
コンバージェンスが高速であるために、RIPなどでみられたような間違った情報によってルーティングループが発生する可能性はほとんどありません。各OSPFルータは、ネットワーク全体の地図を持っているということも、ループが発生する可能性が極めて小さくなることにつながります。
※RIPでルーティングループが発生する例はこちら↓
「ルーティングループ」
OSPFの経路選択の基準としてメトリックは、コストを採用しています。コストはネットワーク管理者が設定することができるのですが、シスコルータの実装ではインタフェースの帯域幅から自動的に計算されます。多くの他のベンダもシスコルータの帯域幅を反映したコスト計算を採用しています。帯域幅が大きいほどコストの値が小さくなるので、OSPFが選択する経路は標準では、帯域幅が最も大きい経路となります。
OSPFルータ同士の情報交換は、変更があったときのみ送信します。それ以外は、定期的にHelloプロトコルと呼ばれるプロトコルによって、他のルータが正常に動作しているかどうかを確認するキープアライブを行っています。そのため、ネットワークが安定している場合には、OSPFは非常に「静かな」ルーティングプロトコルであるといえます。
また、OSPFルータ同士のやり取りはブロードキャストではなく、マルチキャストで行われるので、ネットワーク上のほかのコンピュータやOSPFを有効にしていないルータなどに余計な負荷をかけることもありません。
セキュリティを向上させるために、OSPFでは認証機能のサポートも行っています。認証はクリアテキストの方式と、MD5によるハッシュ値での認証の2通りあります。
以上のように、OSPFを利用することによるさまざまなメリットがあります。しかし、デメリットももちろんあります。
OSPFでのSPF計算は非常にルータのCPUに負荷をかけます。また、大規模なネットワークではリンクステートデータベースが多くのメモリを消費することになります。したがって、RIPよりもより高性能なルータが必要です。
また、安定したネットワークにするためには、あらかじめきちんと階層型のネットワーク構成をとり、エリア設計を検討することがとても重要です。階層型ネットワーク構成をとることによって、適切な経路集約を行うことができるようになります。その結果、ルータがやり取りするLSAが少なくなり、ルーティングテーブルサイズも小さくなります。もし、ネットワーク構成があまり考えられていないと、SPF計算が頻発したり、リンクステートデータベースが巨大になってしまったりします。
このような設計と構築の難しさもOSPFのデメリットと考えられるかもしれません。