OSPF (Open Shortest Path First) は、IGP (インテリアゲートウェイプロトコル)の一種で、グラフ理論をベースとしたリンク状態型の動的ルーティングプロトコルです。
本製品では、以下のOSPFプロトコルに対応しています。
- 経路が変更されたときに、その伝播が速い。
- 機器の故障などによる障害の検知が速い。
- ネットワーク全体を複数のエリアに分割して管理できる。
- OSPF以外のプロトコルによる経路(外部経路)の取り扱いが規定されている。
- プロトコルが複雑で、必要とされるCPUパワー・メモリが多い。
- 経路情報が変更されたときに、経路が安定するまでの時間が短い。
- ネットワーク全体を複数のエリアに分割して管理できる。
- OSPFv3以外のプロトコルによって取得した経路(外部経路)の取り扱いが規定されている。
- プロトコルが複雑で、必要とされるCPUパワー・メモリが多い。
OSPFv3の基本的概念やアルゴリズムは、OSPFv2とほぼ同様です。
ただし、IPv4とIPv6のプロトコル体系の違いや一部概念の変更に伴い、いくつかの相違点があります。
主な相違点は以下のとおりです。
- 仮想リンクを使用する場合を除き、データベースの同期にリンクローカルアドレスを利用する。
- OSPFパケットの認証はOSPFv3の仕様から削除された。
- 同一リンクに複数のOSPFv3ルーティングドメインを設定できるようにするため、インターフェースにインスタンスIDを付与する。
本ページでは、OSPFの概要を説明します。
実際にOSPFネットワークを構築するためのコマンド説明・設定ガイド・設定例については関連文書をご覧ください。
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 | - | 外部経路 |
OSPFv2, OSPFv3で扱うことのできる経路数と推奨ネイバー数は以下のとおりです。
プロトコル | 経路数 | 推奨ネイバー数 |
---|---|---|
OSPFv2 | 4096 | 50 |
OSPFv3 | 2048 | 50 |
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中のSWX3200 (1)は内部ルーターとなります。 |
エリア境界ルーター | ABR | バックボーンエリアとそれ以外のエリアの境界に配置されているルーター。 図1中のSWX3200 (2), SWX3200 (3), SWX3200 (4)はエリア境界ルーターとなります。 |
AS境界ルーター | ASBR | OSPF以外のルーティングプロトコルを使用しているネットワークとOSPFネットワークの境界に配置されているルーター。 図1中のSWX3200 (5)はAS境界ルーターとなります。 |
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の取得を行うまでの処理の流れは以下のようになります。
OSPFでは、マルチキャストがサポートされたネットワークにおいて、そのエリアに所属するOSPFルーターの中から指定ルーター (DR)とバックアップ指定ルーター (BDR)が選出されます。指定ルーターは、経路情報に変更があった場合にそれをエリア内のOSPFルーターに広告する役目を担います。その他の機器による経路情報の変更通知を無くすことで不要なLSAの交換を削減できます。指定ルーターがダウンした場合には、バックアップ指定ルーターが指定ルーターへと遷移します。
指定ルーターとバックアップ指定ルーターのどちらにも選出されなかったOSPFルーターがLSAのやりとりを行うのは、指定ルーターとバックアップ指定ルーターのみとなります。
例えば、図2の構成においてエリア1で任意のネットワークダウンなどにより経路情報に変更があった場合、SWX3200 (3)は経路情報の変更をバックボーンエリアに広告するため、指定ルーターであるSWX3200 (1)とバックアップ指定ルーターであるSWX3200 (2)にLSUを送信します。LSUを受け取った指定ルーターは、それをエリア内の他のOSPFルーターに広告します。このとき、バックアップ指定ルーターはLSUを広告しません。
あるOSPFエリア内に配置されたOSPFルーター同士において、Helloメッセージによってお互いにOSPFルーターであることを確認している関係を「近接関係にある」といいます。また、LSAを直接やりとりする関係を「隣接関係にある」といいます。OSPFルーターは、これらの関係によって近接ルーター (Neighbor)と隣接ルーター (Adjacency)に分類することができます。
分類 | 説明 |
---|---|
近接ルーター (Neighbor) | Helloメッセージによって同じエリアに所属していることを認識しているOSPFルーター。 図2中のSWX3200 (3)とSWX3200 (4)はお互いに近接ルーターとなります。 |
隣接ルーター (Adjacency) | Helloメッセージによって同じエリアに所属していることを認識した後、LSAを直接やりとりするOSPFルーター。 SWX3200 (1)にとって、SWX3200 (2)、SWX3200 (3)、SWX3200 (4)は隣接ルーターとなります。 |
リンクステート広告 (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に変換されたから広告されます。 |
OSPFでは、すべてのエリアはバックボーンエリアに直接接続している必要があります。しかし、物理構成上バックボーンエリアに直接接続することができないネットワークも存在します。そのようなときは仮想リンクを使うことによって論理的にバックボーンエリアに接続することができます。
例えば、最初に構築されたOSPFネットワークに対して後からネットワークを追加する場合には、必ずしもバックボーンエリアに直接接続させる必要はなく、最寄の標準エリアに接続させて仮想リンクを用いることでバックボーンエリアと論理的に接続する方法を用いることができます。
図4は、バックボーンエリアと標準エリア1によって構成されていたOSPFネットワークに対して、標準エリア2と標準エリア3を追加した場合の例となります。バックボーンエリアと標準エリア2は、標準エリア1を経由するSummary-LSAによって経路情報をやりとりすることで、バックボーンエリアから見たときに標準エリア2は直接接続しているポイント to ポイントのネットワークのように扱われます。
標準エリア2と標準エリア3の間では、バックボーンエリアを経由して経路情報がやりとりされますが、実際の通信は必ずしもバックボーンエリアを経由しません。各リンクのコストを算出することによってバックボーンエリアを経由しない経路が最短であると導出された場合には、標準エリア2と標準エリア3の間の通信は標準エリア1のみを経由する通信になります。
特になし