【ネットワーク】OSPF

概要

OSPF(Open Shortest Path First)はリンク状態型のルーティングプロトコルで、ループ構造のネットワークや可変長サブネットを使用したネットワークでも経路制御が可能です。ネットワークをエリアに分割することで、不必要なルーティング情報の交換を減らしトラフィックを軽減します。一部のルーターでは、TOSごとに複数の経路制御テーブルを作成できる機能がサポートされていない場合があります。

経路選択

OSPFでは、ルーターは自身のネットワークのリンク状態情報を交換し、トポロジーを形成します。これを利用して経路選択を行います。経路選択に際しては、事前に設定した重み(コスト)を考慮し、コストが最小の経路を選択します。これにより、管理者は任意の経路で通信を行うことが可能であり、障害発生時には自動的に次の優先順位の経路が選ばれます。

経路制御ロジック

OSPFでは、同一リンクに接続されているルーターを隣接ルーターと呼び、その間で経路情報を交換します。複数のルーターが存在する場合、指名された代表ルーターを中心に情報交換が行われます。

また、RIPでは1種類のパケットで情報交換を行っていましたが、ネットワークの規模が大きくなると毎回同じ情報を交換することや、安定している場合には無駄が生じます。そのため、OSPFでは目的毎に5種類のパケットを使用して情報交換を行います。

タイプパケット名機能
HELLO隣接ルーターの確認、指名ルーターの決定
データベース記述経路制御情報の要約とバージョン番号
リンク状態要求経路制御情報の要求
リンク状態更新経路制御情報の送信
リンク状態確認応答受信したことを通知
OSPFでは、接続確認にはHELLOパケットを使用します。LANでは10秒ごとに送信し、4回連続で受信できない場合に切断と判断します。

接続状態が変化すると、リンク状態更新パケットを送信して他のルーターに状態変化を通知します。これには「ネットワークLSA」と「ルーターLSA」の情報があります。前者は「ネットワークに接続されたルーター」の情報であり、後者は「ルーターに接続されたネットワーク」の情報を示します。

LSA情報を受信すると、リンク状態データベースを作成し、ダイクストラ法という最短経路を求めるアルゴリズムで経路制御表を作成します。

この方式は距離ベクトル型と比較してループ問題が少ないですが、大規模なネットワークでは最短経路の計算負荷が高くなる特性があります。

エリア分けによるトラフィック負荷軽減

OSPFでは、ネットワークやホストをまとめて「エリア」と呼ばれるグループに分けることができます。これにより、大規模なネットワークでの経路制御情報の計算負荷を軽減することができます。

エリアには以下のルールがあります

  • 自律システム(AS)内に複数のエリアが存在できる。
  • 自律システム(AS)内には必ず1つバックボーンエリアが必要であり、論理的には1つのエリアとして扱われるが、物理的には2つに分かれることもある。
  • 各エリアは必ずバックボーンエリアと隣接する必要がある。

各エリアの中での配置によって、ルーターの呼称や役割が異なります。

内部ルーターエリア内に存在するルーター
エリア境界ルーターエリアとバックボーンエリアを結ぶルーター
バックボーンルーターバックボーンエリアにのみ接続されているルーター
AS境界ルーター外部と接続しているルーター

各エリア内のルーターはエリア固有のトポロジーデータベースを保持し、エリア外の情報については距離情報のみを持ちます。これはエリア境界ルーターが距離情報のみを伝達するためです。

また、エリアの出口となる唯一のエリア境界ルーターを持つエリアを「スタブエリア」と呼びます。この場合、エリア境界ルーターをデフォルトルートに設定することで、外部エリアの距離情報を全く必要としなくなります。

これらの仕組みにより負荷を軽減していますが、この機能を最大限に活用するためには、物理的なネットワーク設計だけでなく、エリア設計も重要です。

コメント

タイトルとURLをコピーしました