OSPF / Open Shortest Path First
■ OSPF。Open Shortest Path First。 中規模サイト向きのIGP。ルーティングプロトコル。 IETFがRIPの後継として開発した。 最新版であるバージョン2はRFC2328で規定されている。 OSPFは、リンクステートアルゴリズムにより、 ネットワーク全体のトポロジを精密に管理して、 AS内部を迅速にルーティングする。 また、ルーティングメトリックにはコスト(帯域幅の逆数)を使用する。 OSPFは、IP上で動作するトランスポート層プロトコルである。 ルーティング情報の交換には、プロトコル番号は89を使って、 直接IPパケットにカプセル化される。 クラスレスに対応している。 ■ OSPFのメッセージフォーマット。 ■ LSA。Link State Advertisement。 OSPFは、LSAという情報を元にして、 ルーティングテーブルを作成するプロトコルである。 このLSAには、ルータLSAとネットワークLSAがある。 (1) ルータLSA。 ルータを識別する機能を持ち、 ルータに接続されたすべてのネットワークのリストを持ったもの。 (2) ネットワークLSA。 ネットワークに接続されたすべてのルータのリストを持ったもの。 ■ 代表ルータ。 OSPFを適用するネットワークでは、 そのセグメントで最初に起動したルータが、 基本的に代表ルータに選定される。 その後、ネットワークに接続された各ルータは、 代表ルータに対してルータLSAを送信する。 こうして代表ルータは、 そのネットワークに関する全てのネットワーク情報を持つことができる。 さらに代表ルータは、そのネットワークを代表して、ネットワークLSAを作成する。 代表ルータは、全体のLSAを各ルータに配布する。 各ルータは、この情報に基づき、実際のルーティングテーブルを作成する。 ■ エリアという概念。 OSPFは大規模ネットワークにも適用できると言われる。 OSPFでは、 ネットワークをエリアという小さい単位(LSAを配布する1つの単位)に分割し、 エリア間をバックボーンで結ぶことによって、 階層化したルーティングを実現できる。 OSPFでは、エリア内でトポロジを管理して、データベースを更新するので、 エリアが大きくなれば、データベースの取扱いでCPUとメモリを消費する。 1つのエリアに設置するルータの台数は数十台というのが目安になる。 ■ コスト。Cost。 OSPFでは、メトリックとして、コストという概念を使用する。 OSPFでは、回線の速度等をコストという概念に換算し、 送信元からあて先までのコストの合計が最小になるような、 中継先のルータを選択する。 回線速度をコストに換算する方法としては、 通常、10の8乗をルータのインターフェース速度で割った値を用いる。 すなわち、コスト= 10の8乗/ルータのIF速度 となる。 ■ HELLOパケット。 近接ルータを検出し、その接続状態を確認するために用いられる。 OSPFでは、10秒ごとにHELLOパケットをマルチキャストで送り、 40秒無応答なら故障と判断する。 このHELLOパケットは、ルータのインターフェースを介して、 すべてのOSPFルータにマルチキャストされる。 あて先IPアドレスにマルチキャストアドレスの “224.0.0.5”(すべてのOSPFルータ)を使用する。 ■ その他。 各ルータが持つコスト情報は1箇所に集め、 LSD(リンクステートデータベース)を作成、 同じエリアに所属する全ルータに配布する。 これを元に各ルータが経路テーブルを作成する。 経路情報の配信には、IPマルチキャストパケットを使う。 OSPFは起動すると、 自身と隣接するすべてのルータとの間で自動的にネイバーの関係となり、 リンクステートを交換する。 また、30分ごとにすべてのリンクステートを再収集(リフレッシュ)し、 最新のネットワークの全体像を正確に把握する。 OSPFは、インクリメンタルアップデート方式で、 変化した経路情報があれば、 こけを更新すべきアップデート情報として伝達する。 受信したルータは、これをトポロジーの変化としてデータベースに反映したあと、 経路情報を再計算する。 ■ RIPとOSPFのケーススタディ。 ----- (2) OSPF OSPFは、日本国内で最もポピュラーなIGP スケーラビリティが高く、大規模なネットワークでの使用に適するが 比較的高価なルータにしか実装できない なお、海外で最もポピュラーなのは、IS-IS(アイエスアイエス)である RFC2328に規定されており、以下の3つのバージョンがある OSPFv1 ―― ほとんどテスト用 OSPFv2 ―― 現用、実質的な使えるプロトコル OSPFv3 ―― IPv6に対応したもの 制御パラメータには「Cost(コスト)」を使用する 以上。 2004/03/24 pm