# OSPF

## 1. プロトコル概要

OSPF (Open Shortest Path First) は、IGP (インテリアゲートウェイプロトコル)の一種で、グラフ理論をベースとしたリンク状態型の動的ルーティングプロトコルです。
本製品では、以下のOSPFプロトコルに対応しています。

- OSPFv2 (RFC2328)
  同じ IGPである RIP (Routing Information Protocol) のようなディスタンスベクタ型ルーティングプロトコルに存在する規模的な制約を解決するために、IPv4ネットワーク向けに設計されました。
  RIPと比べると以下のような特徴があります。

  - 経路が変更されたときに、その伝播が速い。

  - 機器の故障などによる障害の検知が速い。

  - ネットワーク全体を複数のエリアに分割して管理できる。

  - OSPF以外のプロトコルによる経路(外部経路)の取り扱いが規定されている。

  - プロトコルが複雑で、必要とされるCPUパワー・メモリが多い。

- OSPFv3 (RFC5340)
  OSPFv2の仕様を踏襲し、IPv6ネットワーク向けに設計されたプロトコルです。
  IPv6に対応したインテリアゲートウェイプロトコルである RIPng と比較すると、以下のような特徴があります。

  - 経路情報が変更されたときに、経路が安定するまでの時間が短い。

  - ネットワーク全体を複数のエリアに分割して管理できる。

  - OSPFv3以外のプロトコルによって取得した経路(外部経路)の取り扱いが規定されている。

  - プロトコルが複雑で、必要とされるCPUパワー・メモリが多い。

  OSPFv3の基本的概念やアルゴリズムは、OSPFv2とほぼ同様です。
  ただし、IPv4とIPv6のプロトコル体系の違いや一部概念の変更に伴い、いくつかの相違点があります。
  主な相違点は以下のとおりです。

  - 仮想リンクを使用する場合を除き、データベースの同期にリンクローカルアドレスを利用する。

  - OSPFパケットの認証はOSPFv3の仕様から削除された。

  - 同一リンクに複数のOSPFv3ルーティングドメインを設定できるようにするため、インターフェースにインスタンスIDを付与する。

本ページでは、OSPFの概要を説明します。
実際にOSPFネットワークを構築するためのコマンド説明・設定ガイド・設定例については関連文書をご覧ください。

## 2. 用語の定義

RFCでの表記 | 略称 | 本ページでの表記
--- | --- | ---
Router ID | - | ルーターID
Internal Router | - | 内部ルーター
Area Border Router | ABR | エリア境界ルーター
AS Boundary Router | ASBR | AS境界ルーター
Link State Advertisement | LSA | リンクステート広告
Link State Database | LSDB | リンクステートデータベース
Designated Router | DR | 指定ルーター
Backup Designated Router | BDR | バックアップ指定ルーター
Neighbor | - | 近隣ルーター
Adjacency | - | 隣接ルーター
Virtual Link | - | 仮想リンク
AS External route | - | 外部経路

## 3. 経路数と推奨ネイバー数

OSPFv2, OSPFv3で扱うことのできる経路数と推奨ネイバー数は以下のとおりです。

- OSPFv2

  機種 | 経路数 | 推奨ネイバー数
  --- | --- | ---
  SWX3200-28GT SWX3200-52GT | 4096 | 50
  SWX3220-16MT SWX3220-16TMs | 8192 | 50
  SWX3220-30MC SWX3220-30TCs | 16384 | 50

- OSPFv3

  機種 | 経路数 | 推奨ネイバー数
  --- | --- | ---
  SWX3200-28GT SWX3200-52GT | 2048 | 50
  SWX3220-16MT SWX3220-16TMs | 8192 | 50
  SWX3220-30MC SWX3220-30TCs | 16384 | 50

## 4. 機能概要

### 4.1. OSPFエリア

OSFPでは、ネットワークを「エリア」と呼ばれる領域に分け、エリア毎に経路情報が管理されます。
OSPFネットワークの核となるバックボーンエリアを中心として、用途に応じて適切なエリアが配置されます。

OSPFエリアには以下の4種類が存在します。

エリア名 | 説明
--- | ---
バックボーンエリア | OSPFのネットワークに必要な中心となるエリアです。エリアIDとして「0.0.0.0」を使用することが決められています。バックボーンエリア以外のエリアは、バックボーンエリアと直接接続している必要があります。バックボーンエリアとそれ以外のエリアの境界に配置されたエリア境界ルーター(ABR)によってエリア間の経路情報のやりとりが行われます。
スタブエリア | メモリ等のリソースに制約がある機器でOSPFを利用するために用意されているエリアです。バックボーンエリアや標準エリアに比べて以下の制限があります。 * バックボーンエリアから外部経路情報(OSPF以外のルーティングプロトコルから広告された経路情報)は広告されません。 * スタブエリア内での外部宛先へのルーティングにはエリア境界ルーター(ABR)が広告するデフォルト経路が使用されます。 * スタブエリア内にAS境界ルーター(ASBR)を配置することはできません。 * バックボーンエリアから他のエリアを宛先とする経路情報が広告されますが、それを制限することができます。 * 仮想リンクをサポートしません。
NSSA (Not So Stubby area) | スタブエリアを拡張する形で用意されているエリアです。スタブエリアと比べると、AS境界ルーター(ASBR)を配置することができ、少量の外部経路情報を取り込むことができるようになっています。バックボーンエリアや標準エリアに比べて以下の制限があります。 * バックボーンエリアから外部経路情報(OSPF以外のルーティングプロトコルから広告された経路情報)は広告されません。 * スタブエリア内での外部宛先へのルーティングにはエリア境界ルーター(ABR)が広告するデフォルト経路が使用されます。 * バックボーンエリアから他のエリアを宛先とする経路情報が広告されますが、それを制限することができます。 * 仮想リンクをサポートしません。
標準エリア | 上記以外のエリアです。経路情報の広告について特に制限はありません。

OSPFエリアに所属している機器は「OSPFルーター」と呼ばれ、一意に設定される「ルーターID」によって識別されます。
OSPFルーターは、配置される場所によって以下のように3種類に分類されます。

タイプ | 略語 | 説明
--- | --- | ---
内部ルーター | - | あるエリア内にのみ配置されているルーター。 図1中のSWX (1)は内部ルーターとなります。
エリア境界ルーター | ABR | バックボーンエリアとそれ以外のエリアの境界に配置されているルーター。 図1中のSWX (2), SWX (3), SWX (4)はエリア境界ルーターとなります。
AS境界ルーター | ASBR | OSPF以外のルーティングプロトコルを使用しているネットワークとOSPFネットワークの境界に配置されているルーター。 図1中のSWX (5)はAS境界ルーターとなります。

### 4.2. OSPFメッセージ

OSPFでは、リンクステート広告 (LSA)と呼ばれる情報をお互いにやりとりすることでエリア内外のトポロジを把握します。そして、受信したLSAと自身の持つLSAと合わせてリンクステートデータベース (LSDB)を作成することで、リンク状態を管理します。同じエリアに所属するOSPFルーターは、どれも同じLSDBを保持しつつ常に同期処理が行われるため、経路情報に変更があった場合でも変更点が他のOSPFルーターのLSDBに同期されることで障害を検知し、代替経路を使用した通信の復旧を行うことができます。

OSPFでは、同じエリアに所属するOSPFルーターの探索や経路情報のやりとりを行うために以下のメッセージを使用します。

メッセージタイプ | メッセージ名 | 略語 | 説明
--- | --- | --- | ---
1 | Hello | Hello | 同じエリアに所属するOSPFルーターの探索に使用します。メッセージ内にルーターIDが含まれており、指定ルーターの選出にも使用されます。Helloメッセージによって近接関係を確立したOSPFルーターとの間で、下記メッセージを使用して経路情報のやりとりが行われます。
2 | Database Description | DD | 近接関係を確立したOSPFルーターに対して、保持する全LSAのリンクステートヘッダをDDメッセージに含めて送信します。DDメッセージを受信したOSPFルーターでは、リンクステートヘッダの情報と自身が保持するLSBDを比較し、取得もしくは更新すべきLSAがある場合にはDDメッセージの送信元に対してLSAを要求します。
3 | Link State Request | LSR | DDメッセージの受信に伴って取得もしくは更新すべきLSAがある場合に、LSRメッセージを使用してLSAを要求します。
4 | Link State Update | LSU | LSAを通知するために使用します。複数のLSAをまとめて格納することができます。
5 | Link State Ack | LSAck | LSUの確認応答。

上記メッセージを使用してLSAの取得を行うまでの処理の流れは以下のようになります。

### 4.3. 指定ルーター (DR)とバックアップ指定ルーター (BDR)

OSPFでは、マルチキャストがサポートされたネットワークにおいて、そのエリアに所属するOSPFルーターの中から指定ルーター (DR)とバックアップ指定ルーター (BDR)が選出されます。指定ルーターは、経路情報に変更があった場合にそれをエリア内のOSPFルーターに広告する役目を担います。その他の機器による経路情報の変更通知を無くすことで不要なLSAの交換を削減できます。指定ルーターがダウンした場合には、バックアップ指定ルーターが指定ルーターへと遷移します。
指定ルーターとバックアップ指定ルーターのどちらにも選出されなかったOSPFルーターがLSAのやりとりを行うのは、指定ルーターとバックアップ指定ルーターのみとなります。

例えば、図3の構成においてエリア1で任意のネットワークダウンなどにより経路情報に変更があった場合、SWX (3)は経路情報の変更をバックボーンエリアに広告するため、指定ルーターであるSWX (1)とバックアップ指定ルーターであるSWX (2)にLSUを送信します。LSUを受け取った指定ルーターは、それをエリア内の他のOSPFルーターに広告します。このとき、バックアップ指定ルーターはLSUを広告しません。

### 4.4. 近隣ルーターと隣接ルーター

あるOSPFエリア内に配置されたOSPFルーター同士において、Helloメッセージによってお互いにOSPFルーターであることを確認している関係を「近接関係にある」といいます。また、LSAを直接やりとりする関係を「隣接関係にある」といいます。OSPFルーターは、これらの関係によって近接ルーター (Neighbor)と隣接ルーター (Adjacency)に分類することができます。

分類 | 説明
--- | ---
近接ルーター (Neighbor) | Helloメッセージによって同じエリアに所属していることを認識しているOSPFルーター。 図3中のSWX (3)とSWX (4)はお互いに近接ルーターとなります。
隣接ルーター (Adjacency) | Helloメッセージによって同じエリアに所属していることを認識した後、LSAを直接やりとりするOSPFルーター。 図3中のSWX (1)にとって、SWX (2)、SWX (3)、SWX (4)は隣接ルーターとなります。

### 4.5. リンクステート広告 (LSA)

リンクステート広告 (LSA)には、使用される状況や広告のタイプに応じて以下の6種類があります。

LSAのタイプ | タイプ名 | 生成元 | 説明
--- | --- | --- | ---
1 | ルーターLSA | 全OSPFルーター | エリア内でのみ使用されるLSAであり、送信元となるOSPFルーターのリンク情報が含まれます。
2 | ネットワークLSA | DR | エリア内でのみ使用されるLSAであり、DRが保持するOSPFルーターの一覧が含まれます。
3 | ネットワークサマリーLSA | ABR | バックボーンエリアを経由して到達可能な経路情報を、バックボーンエリアに接続されたエリアに広告するとき使用されます。また、バックボーンエリアに接続されたエリアの経路情報をバックボーンエリアに広告するとき使用されます。
4 | ASBRサマリーLSA | ABR | ASBRのルータIDやASBRまでのメトリック値などを広告するとき使用されます。
5 | AS external LSA | ASBR | 外部経路をOSPFエリアに広告するとき使用されます。AS external LSAがNSSAに広告される場合は、タイプ7のNSSA AS external LSAに変換されてから広告されます。
7 | NSSA AS external LSA | NSSA内のASBR | 外部経路をNSSAに広告するとき使用されます。外部経路がNSSA内のABRからバックボーンエリアに広告される場合は、タイプ5のAS external LSAに変換されたから広告されます。

### 4.6. 仮想リンク

OSPFでは、すべてのエリアはバックボーンエリアに直接接続している必要があります。しかし、物理構成上バックボーンエリアに直接接続することができないネットワークも存在します。そのようなときは仮想リンクを使うことによって論理的にバックボーンエリアに接続することができます。
例えば、最初に構築されたOSPFネットワークに対して後からネットワークを追加する場合には、必ずしもバックボーンエリアに直接接続させる必要はなく、最寄の標準エリアに接続させて仮想リンクを用いることでバックボーンエリアと論理的に接続する方法を用いることができます。

図4は、バックボーンエリアと標準エリア1によって構成されていたOSPFネットワークに対して、標準エリア2と標準エリア3を追加した場合の例となります。バックボーンエリアと標準エリア2は、標準エリア1を経由するSummary-LSAによって経路情報をやりとりすることで、バックボーンエリアから見たときに標準エリア2は直接接続しているポイント to ポイントのネットワークのように扱われます。
標準エリア2と標準エリア3の間では、バックボーンエリアを経由して経路情報がやりとりされますが、実際の通信は必ずしもバックボーンエリアを経由しません。各リンクのコストを算出することによってバックボーンエリアを経由しない経路が最短であると導出された場合には、標準エリア2と標準エリア3の間の通信は標準エリア1のみを経由する通信になります。

## 5. 注意事項

特になし

## 6. 関連文書

- OSPF 設定ガイド

- OSPFv2 設定例

Search result
No more search results.
There are no topics that match your search query.