OSPFv3 について
OSPFv3 は、IETF リンクステート プロトコル(概要の項を参照)です。OSPFv3 ルータは、hello パケットと呼ばれる特別なメッセージを各 OSPF 対応インターフェイスに送信し、他の OSPFv3 隣接ルータを探索します。ネイバー ルータが発見されると、この 2 台のルータは hello パケットの情報を比較して、両者の設定に互換性のあるかどうかを判定します。これらのネイバー ルータは隣接を確立しようとします。つまり、両者のリンクステート データベースを同期させて、確実に同じ OSPFv3 ルーティング情報を持つようにします。隣接ルータは、各リンクの稼働状態に関する情報、リンクのコスト、およびその他のあらゆるネイバー情報を含むリンクステート アドバタイズメント(LSA)を共有します。これらのルータはその後、受信した LSA をすべての OSPF イネーブル インターフェイスにフラッディングします。これにより、すべての OSPFv3 ルータのリンクステート データベースが最終的に同じになります。すべての OSPFv3 ルータのリンクステート データベースが同じになると、ネットワークは収束します(「コンバージェンス」を参照)。その後、各ルータは、ダイクストラの最短パス優先(SPF)アルゴリズムを使用して、自身のルート テーブルを構築します。
OSPFv3 ネットワークは、複数のエリアに分割できます。ルータは、ほとんどの LSA を 1 つのエリア内だけに送信するため、OSPF 対応ルータの CPU とメモリの要件が緩やかになります。
OSPFv3 は IPv6 をサポートしています。IPv4 向けの OSPF の詳細については、OSPFv2 の設定を参照してください。
OSPFv3 と OSPFv2 の比較
OSPFv3 プロトコルの大半は OSPFv2 と同じです。OSPFv3 は RFC 2740 に記載されています。
OSPFv3 プロトコルと OSPFv2 プロトコルの重要な相違点は、次のとおりです。
-
OSPFv2 を拡張した OSPFv3 では、IPv6 ルーティング プレフィックスとサイズの大きい IPv6 アドレスのサポートを提供しています。
-
OSPFv3 の LSA は、アドレスとマスクではなく、プレフィックスとプレフィックス長として表現されます。
-
ルータ ID とエリア ID は 32 ビット数で、IPv6 アドレスとは無関係です。
-
OSPFv3 では、ネイバー探索およびその他の機能にリンクローカル IPv6 アドレスを使用します。
-
OSPFv3 は、IPv6 認証トレーラ(RFC 6506)または IPSec(RFC 4552)を使用できます。ただし、Cisco NX-OS は RFC 6506 をサポートしていません。
-
OSPFv3 では、LSA タイプが再定義されています。
Hello パケット
OSPFv3 ルータは、すべての OSPF イネーブル インターフェイスに hello パケットを定期的に送信します。ルータがこの hello パケットを送信する頻度は、インターフェイスごとに設定された hello 間隔により決定されます。OSPFv3 は、hello パケットを使用して、次のタスクを実行します。
-
ネイバー探索
-
キープアライブ
-
双方向通信
-
指定ルータの選定(「指定ルータ」セクションを参照してください)
hello パケットには、リンクの OSPFv3 コスト割り当て、hello 間隔、送信元ルータのオプション機能など、送信元の OSPFv3 インターフェイスとルータに関する情報が含まれます。これらの hello パケットを受信する OSPFv3 インターフェイスは、設定に受信インターフェイスの設定との互換性があるかどうかを判定します。互換性のあるインターフェイスはネイバーと見なされ、ネイバー テーブルに追加されます(「ネイバー」の項を参照してください)。
hello パケットには、送信元インターフェイスが通信したルータのルータ ID のリストも含まれます。受信インターフェイスが、このリストで自身の ID を見つけた場合は、2 つのインターフェイス間で双方向通信が確立されます。
OSPFv3 は、hello パケットをキープアライブ メッセージとして使用して、ネイバーが通信を継続中であるかどうかを判定します。ルータが設定されたデッド間隔(通常は hello 間隔の倍数)で hello パケットを受信しない場合、そのネイバーはローカル ネイバー テーブルから削除されます。
ネイバー情報
ネイバーであると見なされるようにするには、リモート インターフェイスと互換性があるように OSPFv3 インターフェイスを設定しておく必要があります。この 2 つの OSPFv3 インターフェイスで、次の基準が一致している必要があります。
-
hello 間隔
-
デッド間隔
-
エリア ID(「エリア」の項を参照)
-
オプション機能
一致する場合は、次の情報がネイバー テーブルに入力されます。
-
ネイバー ID:ネイバー ルータのルータ ID
-
優先度:ネイバー ルータの優先度。プライオリティは、指定ルータの選定(「指定ルータ」を参照)に使用されます。
-
状態:ネイバーから通信があったか、双方向通信の確立処理中であるか、リンクステート情報を共有しているか、または完全な隣接関係が確立されたかを示します。
-
デッド タイム:このネイバーから最後の hello パケットを受信したあとに経過した時間を示します。
-
リンクローカル IPv6 アドレス:ネイバーのリンクローカル IPv6 アドレス
-
指定ルータ:ネイバーが指定ルータ、またはバックアップ指定ルータとして宣言されたかどうかを示します(「指定ルータ」の項を参照)。
-
ローカル インターフェイス:このネイバーの hello パケットを受信したローカル インターフェイス。
最初の hello パケットが新規ネイバーから受信されると、そのネイバーは、初期化状態のネイバー テーブルに入力されます。いったん双方向通信が確立されると、ネイバー状態は双方向となります。2 つのインターフェイスが互いのリンクステート データベースを交換するため、次に ExStart および交換状態となります。これらがすべて完了すると、ネイバーは完全な状態へと移行し、これが完全な隣接関係となります。ネイバーは、デッド間隔で hello パケットをまったく送信しない場合は、ダウン状態に移行し、隣接とは見なされなくなります。
隣接関係
すべてのネイバーが隣接関係を確立するわけではありません。ネットワーク タイプと確立された指定ルータに応じて、完全な隣接関係を確立して、すべてのネイバーと LSA を共有するものと、そうでないものがあります。詳細については、「指定されたルータ」の項を参照してください。
隣接関係は、OSPFv3 のデータベース説明(DD)パケット、リンク状態要求(LSR)パケット、およびリンク状態更新(LSU)パケットを使用して確立されます。データベース説明パケットには、ネイバーのリンクステート データベースからの LSA ヘッダーが含まれます(「リンク状態データベース 」の項を参照)。ローカル ルータは、これらのヘッダーを自身のリンクステート データベースと比較して、新規の LSA か、更新された LSA かを判定します。ローカル ルータは、新規または更新の情報を必要とする各 LSA について、リンク状態要求(LSR)パケットを送信します。ネイバーは LSU パケットで応答します。このパケット交換は、両方のルータのリンクステート情報が同じになるまで継続します。
指定ルータ
複数のルータを含むネットワークは、OSPFv3 特有の状況です。すべてのルータがネットワークで LSA をフラッディングした場合は、同じリンクステート情報が複数の送信元から送信されます。ネットワークのタイプによっては、OSPFv3 は指定ルータ(DR)という 1 台のルータを使用して LSA のフラッディングを制御し、OSPFv3 の残りの部分に対してネットワークを代表する役割をさせる場合があります(「エリア」の項を参照)。DR がダウンした場合、OSPFv3 はバックアップ指定ルータ(BDR)を選択します。DR がダウンすると、OSPFv3 はこの BDR を使用します。
ネットワーク タイプは次のとおりです。
-
ポイントツーポイント: 2 台のルータ間にのみ存在するネットワーク。ポイントツーポイント ネットワーク上の全ネイバーは隣接関係を確立し、DR は存在しません。
-
ブロードキャスト: ブロードキャスト トラフィックが可能なイーサネットなどの共有メディア上で通信できる複数のルータを持つネットワーク。OSPFv3 ルータは DR および BDR を確立し、これらにより、ネットワーク上の LSA フラッディングを制御します。OSPFv3 は、よく知られている IPv6 マルチキャスト アドレス FF02::5 および MAC アドレス 0100.5300.0005 を使用して、ネイバーと通信します。
DR と BDR は、hello パケット内の情報に基づいて選択されます。インターフェイスは hello パケットの送信時に、どれが DR および BDR かわかっている場合は、優先フィールドと、DR および BDR フィールドを設定します。ルータは、hello パケットの DR および BDR フィールドで宣言されたルータと優先フィールドに基づいて、選定手順を実行します。最終的に OSPFv3 は、最も大きいルータ ID を DR および BDR として選択します。
他のルータはすべて DR および BDR と隣接関係を確立し、IPv6 マルチキャスト アドレス FF02::6 を使用して、LSA 更新情報を DR と BDR に送信します。次の図は、すべてのルータと DR との隣接関係を示しています。
DR は、ルータ インターフェイスに基づいています。1 つのネットワークの DR であるルータは、別のインターフェイス上の他のネットワークの DR となることはできません。
エリア
OSPFv3 ネットワークを複数のエリアに分割すると、ルータに要求される OSPFv3 の CPU とメモリに関する要件を制限できます。エリアとは、ルータの論理的な区分で、OSPFv3 ドメイン内にリンクして別のサブドメインを作成します。LSA フラッディングはエリア内でのみ発生し、リンクステート データベースはエリア内のリンクにのみ制限されます。定義されたエリア内のインターフェイスには、エリア ID を割り当てることができます。エリア ID は、10.2.3.1 などの、数字またはドット付き 10 進表記で表現される 32 ビット値です。
Cisco NX-OS は常にドット付き 10 進表記でエリアを表示します。
OSPFv3 ネットワーク内に複数のエリアを定義する場合は、0 という予約されたエリア ID を持つバックボーン エリアも定義する必要があります。エリアが複数ある場合は、1 台以上のルータがエリア境界ルータ(ABR)となります。ABR は、バックボーン エリアと他の 1 つ以上の定義済みエリアの両方に接続します。
ABR には、接続するエリアごとに個別のリンクステート データベースがあります。ABR は、接続したエリアの 1 つからバックボーン エリアにエリア間プレフィックス(タイプ 3)LSA(「 ルート集約」セクションを参照)を送信します。バックボーン エリアは、1 つのエリアに関する集約情報を別のエリアに送信します。図に、エリア 0 が、エリア 5 に関する集約情報をエリア 3 に送信しています。
OSPFv3 では、自律システム境界ルータ(ASBR)という、もう 1 つのルータ タイプも定義されています。このルータは、OSPFv3 エリアを別の自律システム(AS)に接続します。自律システムとは、単一の技術的管理エンティティにより制御されるネットワークです。OSPFv3 は、そのルーティング情報を別の自律システムに再配布したり、再配布されたルートを別の自律システムから受信したりできます。詳細については、「詳細な機能」のセクションを参照してください。
リンクステート アドバタイズメント
OSPFv3 はリンクステート アドバタイズメント(LSA)を使用して、固有のルーティング テーブルを構築します。
リンクステート アドバタイズメント タイプ
OSPFv3 はリンクステート アドバタイズメント(LSA)を使用して、固有のルーティング テーブルを構築します。
次の表に、Cisco NX-OS でサポートされる LSA タイプを示します。
タイプ |
名前 |
説明 |
---|---|---|
1 |
ルータ LSA |
すべてのルータが送信する LSA。この LSA には、すべてのリンクの状態とコストが含まれますが、プレフィックス情報は含まれません。ルータ LSA は SPF 再計算をトリガーします。ルータ LSA はローカル OSPFv3 エリアにフラッディングされます。 |
2 |
ネットワーク LSA |
DR が送信する LSA。この LSA には、マルチアクセス ネットワーク内のすべてのルータの一覧が含まれますが、プレフィックス情報は含まれません。ネットワーク LSA は SPF 再計算をトリガーします。「指定ルータ」のセクションを参照してください。 |
3 |
エリア間プレフィックス LSA |
ABR が、ローカル エリア内の宛先ごとに外部エリアに送信する LSA。この LSA には、境界ルータからローカルの宛先へのリンク コストが含まれます。「エリア」のセクションを参照してください。 |
4 |
エリア間ルータ LSA |
エリア境界ルータが外部エリアに送信する LSA。この LSA は、リンク コストを ASBR のみにアドバタイズします。「エリア」の項を参照してください。 |
5 |
AS 外部 LSA |
ASBR が生成する LSA。この LSA には、外部自律システム宛先へのリンク コストが含まれます。AS 外部 LSA は、自律システム全体にわたってフラッディングされます。「エリア」の項を参照してください。 |
7 |
タイプ 7 LSA |
ASBR が NSSA 内で生成する LSA。この LSA には、外部自律システム宛先へのリンク コストが含まれます。タイプ 7 LSA は、ローカル NSSA 内のみでフラッディングされます。「エリア」の項を参照してください。 |
8 |
リンク LSA |
各ルータが、リンクローカル フラッディング スコープを使用して送信する LSA。(「フラッディングと LSA グループ ペーシング」の項を参照)。この LSA には、このリンクのリンクローカル アドレスと IPv6 アドレスが含まれます。 |
9 |
エリア内プレフィックス LSA |
すべてのルータが送信する LSA。この LSA には、プレフィックスまたはリンク状態へのあらゆる変更が含まれます。エリア内プレフィックス LSA はローカル OSPFv3 エリアにフラッディングされます。この LSA は SPF 再計算をトリガーしません。 |
11 |
Grace LSA |
再起動されるルータが、リンクローカル フラッディング スコープを使用して送信する LSA。この LSA は、OSPFv3 のグレースフル リスタートに使用されます。「ハイ アベイラビリティおよびグレースフル リスタート」を参照してください。 |
リンク コスト
各 OSPFv3 インターフェイスは、リンク コストを割り当てられています。このコストは任意の数字です。デフォルトでは、Cisco NX-OS が、設定された参照帯域幅をインターフェイス帯域幅で割った値をコストとして割り当てます。デフォルトでは、参照帯域幅は 40 Gbps です。リンク コストは各リンクに対して、LSA 更新情報で伝えられます。
フラッディングと LSA グループ ペーシング
OSPFv3 は、LSA のタイプに応じて、ネットワークのさまざまなセクションに LSA の更新をフラッディングします。OSPFv3 は、次のフラッディング スコープを使用します
-
リンク ローカル:LSA は、ローカル リンク上でのみフラッディングされます。リンク LSA および猶予 LSA に使用されます。
-
エリアローカル:LSA は、単一の OSPF エリア全体にのみフラッディングされます。ルータ LSA、ネットワーク LSA、エリア間プレフィックス LSAs、エリア間ルータ LSA、およびエリア内プレフィックス LSA に使用されます。
-
AS スコープ:LSA は、ルーティング ドメイン全体にフラッディングされます。AS スコープは AS 外部 LSA に使用されます。
LSA フラッディングにより、ネットワーク内のすべてのルータが同じルーティング情報を持つことが保証されます。LSA フラッディングは、OSPFv3 エリアの設定により異なります(「エリア」の項を参照)。LSA は、リンクステート リフレッシュ時間に基づいて(デフォルトでは 30 分ごとに)フラッディングされます。各 LSA には、リンクステート リフレッシュ時間が設定されています。
ネットワークの LSA 更新情報のフラッディング レートは、LSA グループ ペーシング機能を使用して制御できます。LSA グループ ペーシングにより、CPU またはバッファの使用率を低下させることができます。この機能により、同様のリンクステート リフレッシュ時間を持つ LSA がグループ化されるため、OSPFv3 で、複数の LSA を 1 つの OSPFv3 更新メッセージにまとめることが可能となります。
デフォルトでは、相互のリンクステート リフレッシュ時間が 10 秒以内の LSA が、同じグループに入れられます。この値は、大規模なリンクステート データベースでは低く、小規模のデータベースでは高くして、ネットワーク上の OSPFv3 負荷を最適化する必要があります。
リンクステート データベース
各ルータは、OSPFv3 ネットワーク用のリンクステート データベースを保持しています。このデータベースには、収集されたすべての LSA が含まれ、ネットワークを通過するすべてのルートに関する情報が格納されます。OSPFv3 は、この情報を使用して、各宛先への最適なパスを計算し、この最適なパスをルーティング テーブルに入力します。
MaxAge と呼ばれる設定済みの時間間隔で受信された LSA 更新情報がまったくない場合は、リンクステート データベースから LSA が削除されます。ルータは、LSA を 30 分ごとに繰り返してフラッディングし、正確なリンクステート情報が期限切れで削除されるのを防ぎます。Cisco NX-OS は、LSA グルーピング機能をサポートし、同時にすべての LSA が更新されないようにします。詳細については、「フラッディングと LSA グループ ペーシング 」のセクションを参照してください。