OSPFってどんなの?




OSPFの概要


OSPFはIETF(Internet Engineering Task Force)標準のリンクステート型ルーティングプロトコルです。OSPFはRIPなどのディスタンスベクタ型ルーティングプロトコルのさまざまな制限をなくし、より大規模なネットワークで効率のよいルーティングを行うために開発されています。

今回は、OSPFの概要とその特徴についてご紹介します。


※ディスタンスベクタ型、リンクステート型ルーティングプロトコルについて
ルーティングプロトコルの分類その2



OSPFの歴史

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の特徴は次のようになります。

・IGPs
・リンクステート型ルーティングプロトコル
・効率よいルーティングのための「エリア」の概念
・クラスレスルーティングプロトコル
・ルーティングテーブルのコンバージェンス時間が短い
・ループが発生する可能性が極めて小さい
・メトリックとして「コスト」を採用
・コンバージェンス時は、Helloプロトコルによる定期的なキープアライブ
・ネットワークの変更があったときだけルーティング情報を送信
・マルチキャストによる通信
・認証機能のサポート
・CPU、メモリの使用率が高い
・きちんとしたアドレス設計が必要



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のデメリットと考えられるかもしれません。






『ネットワークのおべんきょしませんか?』 を購読しませんか?
めろんぱん E-mail
メールマガジンも購読してくださいね!!購読者限定のプレゼントあり!!


(C) Copyright 2000-2004 Gene All Rights Reserved