OSPFとは
OSPF(Open Shortest Path First)は最短経路を自動選択するダイナミックルーティングプロトコルです。
リンクステート型方式を使って宛先までの最適なルートを計算して割り出します。
主に大規模ネットワークで用いられます。
ルーティング情報のアップデートやHelloパケットの送受信には、マルチキャストアドレス(224.0.0.5、224.0.0.6)を使用します。

オプションで認証(プレーンテキスト認証、MD5認証など)対応していて、不正なルーティング情報の注入を防ぐことも可能
リンクステート型
リンクステート型は、ネットワーク内の各ルータがネットワーク全体のトポロジー情報(構成・各リンクの状態・コストなど)を共有し、その情報に基づいて最短経路優先(SPF – Shortest Path First)アルゴリズムを使って自身のルーティングテーブルを構築する方式。
他にはIS-ISがあります。(使ったことも使っているところを見たことは無いですが)
メリットは
各ルータがネットワーク全体のトポロジー情報を共有していて
その情報を基に経路計算を行うので、ルーティングループが発生しにくい。
ネットワーク変更時の情報伝達が効率的で、経路情報の収束が速い。
帯域幅、遅延、信頼性など、より複雑な要素を考慮したメトリックを使用できる。
トポロジーを把握しやすい。
デメリットは
リンクステートデータベースの維持やSPFの実行には、多くのCPUとメモリのリソースを使います
マルチキャストなので、設定を正しくしないとネットワークで帯域幅を消費する可能性がある。
ネイバールータ(隣接ルータ)
ネイバールータはOSPF Helloパケットを交換し、互いの存在を認識している状態のルータ。
Helloパケットはマルチキャストなので、マルチキャストが届く範囲
ネイバー関係成立条件
同じネットワークセグメントを持つインターフェース同士
同じエリアIDである(仮想リンクなどの例外あり)
各種設定が一致している事
認証設定・Helloパケットの送信間隔・ダウン判断時間など
ルータタイプ・エリア

役割 | 内容 |
内部ルータ | すべてのインターフェースが同じエリアに所属しているルータ |
バックボーンルータ | 1つ以上のインターフェースをバックボーンエリアに接続しているルータ。 |
エリア境界ルータ (AreaBorderRouter) |
異なるエリアを接続しているルータ。 ABRではエリアごとの LSDB を保持。 エリア間のルーティングを行う。 異なるエリアの情報を集約して内部ルータに通知可能 |
AS境界ルータ (AS Boundary Router ) |
1つ以上のインターフェースが外部ASのルータと接続しているルータ。 外部ASのルート情報を再配送をする。 |
エリア名 | 内容 |
バックボーンエリア | エリアIDは「0.0.0.0」(0)がバックボーンエリアとなります。 すべてのエリア間トラフィックは必ずバックボーンエリアを通過する その他エリアは必ずバックボーンエリアと接続する必要がある |
スタブエリア | 1つのエリアとしか隣接しておらず、出口が1つしかないエリアの事 外部の経路情報(タイプ5 LSA)が受信できない ASBRの設置は出来ない、仮想リンクの通過も不可 |
準スタブエリア (NSSA) |
ASBRが設置できるスタブエリア |
通常エリア | バックボーンエリアでもスタブエリアでもない通常のエリア |
OSPFのネットワークタイプ
主なLAN環境でのデフォルトのタイプはブロードキャストです。
タイプ | DR選出 | 用途 |
ブロードキャスト | する | イーサネットなど |
ポイントツーポイント | しない | シリアルリンク・PPP接続など |
ポイントツーマルチポイント | しない | フレームリレー・ATMネットワークなど |
ノンブロードキャスト | しない | フレームリレー・ATMネットワークなど |
NBMA (Non Broadcast Multiple Access) |
する | ブロードキャストが通らない環境 (フレームリレー・ATM・VPN) |
LSA(Link State Advertisement)
各OSPFルータは、自機が認識しているネットワークの構成・リンクの状態・リンクのコスト・自身に関する情報などをLSAとして生成し、ネイバーに広報(アドバタイズ)します。
各ルータは受信したLSAでネットワーク全体の構成を把握して、ネットワーク全体のトポロジーを表すLSDBを構築する。
ネットワークのリンクのアップ/ダウンやコストの変更などのトポロジーに変更があった場合、新しいLSAをネットワーク全体に広報する。
LSA送信の流れ

上記の流れを行い、全体で同じ情報を持ちます

LSAの種類
LSAは役割に応じての種類(type)が存在する
Type | LSA名 | 生成ルータ | 内容 |
1 | ルータLSA | 全OSPFルータ | 自身のリンクの状態やコストなど自機の情報 |
2 | ネットワーク LSA |
DR | DRのIPアドレス、セグメント上のルータID一覧など ポイントtoポイント構成では作成されず ブロードキャストNW やNonブロードキャストNWで作成されます |
3 | ネットワークサマリLSA | ABR | 自身のエリア内のネットワーク情報を他のエリアに広報 |
4 | ASBRサマリーLSA | ABR | 自身のエリア内にASBRが存在することを認識している場合作成 ASBRへの経路を広報するABRのRouter ID・ASBRの Router ID・ASBRまでのコストなど |
5 | 外部LSA | ASBR | 再配布されたOSPF以外のルート情報を内部に広報する |
6 | 予約用で確保されていて使われていない | ||
7 | NSSA外部LSA | NSSAのASBR | Type7を生成したASBRのRouter ID・外部ネットワークの 宛先プレフィックス/サブネットマスク・外部経路のコスト・ ASBRのIPアドレス・ 外部経路に関する追加情報など |
8 | リンクローカルLSA | リンクローカルスコープ内 | OSPFv3 (IPv6用)で使用 IPv6 プレフィックス情報などを広報 |
LSDB
取得したLSAでネットワーク全体のトポロジーを表すLSDBを構築する。
LSDBは、同じエリア内のOSPFルータでほぼ同じ情報を持ちます。
LSDBを使ってSPF (Shortest Path First) アルゴリズムを実行し、自機を起点としたネットワーク内の宛先への最短経路を計算します。
コメント