はじめに
このドキュメントでは、Open Shortest Path First(OSPF)のエリアおよび仮想リンクについて説明します。
背景説明
このドキュメントでは、基本的なOSPFプロトコルについて説明します。RFC 5250で説明されている不透明なリンクステートアドバタイズメント(LSA)は、この記事の対象外です。
エリア、スタブエリア、Not-So-Stubby Area(NSSA)
OSPFネットワークは、エリアと呼ばれるサブドメインに分割できます。このエリアとは、同じエリア ID を持つ OSPF ネットワーク、ルータ、およびリンクの論理的な集合体を表します。エリア内のルータは、所属するエリアに関するトポロジー データベースを維持しなければなりません。ルータには、エリア外のネットワーク トポロジに関する詳細情報はありません。その結果、データベースのサイズが抑えられています。
エリアはルート情報を配布範囲を制限します。エリア内のルート更新フィルタリングは実行できません。同じエリア内のルータのリンクステートデータベース(LSDB)は、まったく同じものに同期する必要があります。ただし、異なるエリア間ではルート集約とフィルタリングが可能です。エリアを作成することの主なメリットは、ルートのフィルタリングおよび集約によって、伝搬するルートの数を削減できることです。
異なるエリアに分割された各OSPFネットワークは、次のルールを使用する必要があります。
-
バックボーン エリア(独立した一連のエリアを単一のドメインにまとめる)が存在している必要があります。
-
各非バックボーンエリアは、バックボーンエリアに直接接続されている必要があります(ただし、この接続は仮想リンクを介した単純な論理接続である場合があります)。
-
リンクやルータのダウン イベントのような障害が発生した状況で、バックボーン エリアをパーティション化する(つまり、小さな単位に分ける)ことはできません。
注意:ネットワーク内の一部のルータには部分的なルーティング情報が存在することがあり、これらのルールを使用しないとネットワークに悪影響を及ぼします。
エリアはエリア ID によって特定されます。Cisco IOS®ソフトウェアでは、IPアドレス形式または10進形式で表されるエリアIDがサポートされています。たとえば、エリア0.0.0.0はエリア0と同じです。ネットワーク内に複数のエリアがある場合は、バックボーンエリアにエリア0という名前を付ける必要があります。このバックボーンはネットワーク上の各エリアに接続するので、連続的なエリアでなければなりません。バックボーンがパーティションに分割されている場合は、自律システムの一部が到達不能になる可能性があるため、パーティションを修復するために仮想リンクを設定する必要があります。
2 つの(またはそれ以上)の異なるエリアのインターフェイスを持つルータは、エリア境界ルータになります。エリア境界ルータは、2 つのエリア間の OSPF 境界にあります。すべてのリンクの両側は、同じ OSPF エリアに常に属します。
自律システム境界ルータ(ASBR)は、OSPF 自律システム全体に外部宛先をアドバタイズします。外部ルートは、他のプロトコルから OSPF に再配布されたルートです。多くの場合、あらゆるルータのデータベース内で、外部リンク ステートがリンク ステートの大半を占めます。スタブ エリアは、外部ルートのアドバタイズメントを許可しないエリアです。そうすることで、データベースのサイズもさらに削減されます。これらの外部ルートに到達できるようにするため、スタブ エリアには代わりにデフォルトのサマリー ルート (0.0.0.0) が挿入されます。ネットワーク上に外部ルートがない場合には、スタブ エリアを定義する必要はありません。
スタブ エリアは外部ルートから遮断されますが、同じ OSPF ドメインの他のエリアに属するネットワークに関する情報を受け取ります。完全スタブ エリアを定義できます。完全スタブ エリア内のルータは、デフォルト ルートとエリア内のルーティングに関する LSDB の情報のみを保持します。
Not-So-Stubby Area(NSSA)は、OSPFスタブ エリアの拡張機能です。スタブエリアと同様に、AS外部LSAのNSSAへのフラッディングを防止し、代わりに外部宛先へのデフォルトルーティングに依存します。したがって、NSSAは(スタブ エリアと同様に)OSPFルーティング ドメインのエッジに配置する必要があります。NSSA は、外部ルートを OSPF ルーティング ドメインにインポートでき、その結果、OSPF ルーティング ドメインの一部ではない小さなルーティング ドメインに中継サービスを提供できるという点で、スタブ エリアよりも柔軟性があると言えます。
OSPF データベースの詳細については、『OSPF データベースの解説ガイド 』を参照してください。
スタブ エリアの定義
エリアをスタブエリアとして定義するには、エリア内のすべてのルータでarea xx stub
コマンドを使用します。図に示すトポロジでは、エリア 7 に位置するルータは、すべての外部宛先について把握する必要はありません。エリア7のルータがASBRに到達するには、外部の宛先が何であっても、ABRにパケットを送信しなければなりません。エリア7は、スタブ エリアとして定義することができます。エリア7をスタブエリアとして定義するには、そのエリア内のすべてのルータでarea 7 stub
コマンドを設定します。
完全スタブ エリアの定義
完全スタブエリアを定義するには、OSPFルータコンフィギュレーションのarea xx stub no-summary
コマンドを使用します。上のネットワーク図で、エリア7に属するルータは、外部のすべての宛先、または他のエリアのバックボーンからのサマリーLSAを知る必要がありません。エリア7のルータは、エリア7の外部の宛先に到達するためにABRにパケットを送信する必要があります。エリア7は完全スタブエリアとして定義できます。エリア7を完全スタブエリアとして定義するには、ABRでarea 7 stub no summary
コマンドを設定します。
NSSAの定義
NSSAを定義するには、OSPFルータコンフィギュレーションの area xx nssa
コマンドを使用します。たとえば、このトポロジでは、エリア2は、エリア内のすべてのルータ上でarea 2 nssa
コマンドを使用してNSSAとして設定されています。その結果、エリア2内部のルータはOSPF ASBRによってインポートされるすべてのAS外部LSAから保護されていますが、それでも非OSPFルータとの接続は可能です。外部ルーティング情報は、タイプ7 LSAとしてNSSAにインポートされます。タイプ7 LSAは、NSSAにしかフラッディングできない点を除いて、タイプ5 AS外部LSAと同様です。NSSA外部の情報をさらに伝播するには、NSSA ABRによって、タイプ7 LSAをタイプ5 AS外部LSAに変換しなければなりません。NSSA は、Cisco IOS 11.2 以降でサポートされます。
NSSA完全スタブ エリアの定義
NSSA完全スタブエリアを定義するには、OSPFルータコンフィギュレーションコマンドのarea xx nssa no-summary
を使用します。上記のネットワークダイアグラムでは、エリア2は、NSSA ABR上でarea 2 nssa no-summary
コマンドを使用してNSSA完全スタブとして設定されています。この結果、タイプ5 AS外部ルートまたはタイプ3サマリー ルートは、エリア2ではリークされません。
標準エリア、スタブ エリア、完全スタブ エリア、およびNSSAの相違点
この資料で説明した各エリア タイプの相違点を、次の表に示します。
領域 |
制約事項 |
Normal |
なし |
スタブ エリア |
タイプ4または5のAS外部LSAは許可されません。 |
完全スタブ エリア |
タイプ3、4、または5のLSAは、デフォルト集約ルート以外では許可されません。 |
NSSA |
タイプ5 AS外部LSAは許可されませんが、NSSA ABRでタイプ5に変換されるタイプ7 LSAは通過できます。 |
NSSA完全スタプ エリア |
デフォルトの集約ルート以外のタイプ3、4、または5 LSAは許可されませんが、NSSA ABRでタイプ5に変換されるタイプ7 LSAは許可されます。 |
さまざまなタイプのエリアについての詳細は、『OSPFによるデフォルトルートの生成方法』の「OSPFエリアのタイプ」セクションを参照してください。
仮想リンク
OSPF自律システム内のすべてのエリアは、バックボーン エリア(エリア0)に物理接続されている必要があります。これが不可能な場合には、仮想リンクを使用して、非バックボーン エリア経由でバックボーンに接続できます。前述のとおり、仮想リンクを使用して、非バックボーン エリアを経由して、パーティション化されたバックボーンの 2 つの部分を接続することもできます。仮想リンクを設定するエリア(中継エリア)には、完全なルーティング情報が必要です。中継エリアをスタブ エリアにすることはできません。
area area-id virtual-link router-id
コマンドを使用して仮想リンクを設定します。area-idにはトランジットエリアに割り当てられたエリアID(これは、有効なIPアドレスまたは10進数値のいずれかになります)を指定し、router-idには仮想リンクネイバーに関連付けられたルータIDを指定します。次のトポロジーでは、エリア7を仮想リンクによってエリア5経由でバックボーンに接続しています。
この場合、ルータID 10.1.1.1とルータID 10.2.2.2の間に仮想リンクを作成しています。仮想リンクを作成するには、ルータ10.1.1.1にarea 5 virtual-link 2.2.2.2
サブコマンドを設定し、ルータ10.2.2.2にarea 5 virtual-link 1.1.1.1
サブコマンドを設定します。詳細については、『仮想リンクでのOSPF認証の設定』を参照してください。
関連情報