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 の比較」
• 「hello パケット」
• 「ネイバー」
• 「隣接」
• 「指定ルータ」
• 「エリア」
• 「リンクステート アドバタイズメント」
• 「マルチエリア隣接関係(Multi-Area Adjacency)」
• 「OSPFv3 と IPv6 ユニキャスト RIB」
• 「アドレス ファミリのサポート」
• 「高度な機能」
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 ではサポートされません。
• 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 のデータベース説明パケット、リンク状態要求パケット、およびリンク状態更新パケットを使用して確立されます。データベース説明パケットには、ネイバーのリンクステート データベースからの LSA ヘッダーが含まれます(「リンクステート データベース」を参照)。ローカル ルータは、これらのヘッダーを自身のリンクステート データベースと比較して、新規の LSA か、更新された LSA かを判定します。ローカル ルータは、新規または更新の情報を必要とする各 LSA について、リンク状態要求パケットを送信します。これに対し、ネイバーはリンク状態更新パケットを返信します。このパケット交換は、両方のルータのリンクステート情報が同じになるまで継続します。
指定ルータ
複数のルータを含むネットワークは、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 に送信します。図 6-1 は、すべてのルータと DR の間のこの隣接関係を示します。
DR は、ルータ インターフェイスに基づいています。1 つのネットワークの DR であるルータは、別のインターフェイス上の他のネットワークの DR となることはできません。
図 6-1 マルチアクセス ネットワークの 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 つ以上の定義済みエリアの両方に接続します(
図 6-2を参照)。
図 6-2 OSPFv3 エリア
ABR には、接続するエリアごとに個別のリンクステート データベースがあります。ABR は、接続したエリアの 1 つからバックボーン エリアにエリア間プレフィックス(タイプ 3)LSA(「ルート集約」を参照)を送信します。バックボーン エリアは、1 つのエリアに関する集約情報を別のエリアに送信します。図 6-2 では、エリア 0 が、エリア 5 に関する集約情報をエリア 3 に送信しています。
OSPFv3 では、自律システム境界ルータ(ASBR)という、もう 1 つのルータ タイプも定義されています。このルータは、OSPFv3 エリアを別の自律システム(AS)に接続します。自律システムとは、単一の技術的管理エンティティにより制御されるネットワークです。OSPFv3 は、そのルーティング情報を別の自律システムに再配布したり、再配布されたルートを別の自律システムから受信したりできます。詳細については、「高度な機能」を参照してください。
LSA タイプ
表 6-1 は、Cisco NX-OSでサポートされる LSA タイプを示します。
表 6-1 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 |
猶予 LSA |
再起動されるルータが、リンクローカル フラッディング スコープを使用して送信する LSA。この LSA は、OSPFv3 のグレースフル リスタートに使用されます。「ハイ アベイラビリティおよびグレースフル リスタート」を参照してください。 |
リンク コスト
各 OSPFv3 インターフェイスは、リンク コストを割り当てられています。このコストは任意の数字です。デフォルトでは、Cisco NX-OS が、設定された参照帯域幅をインターフェイス帯域幅で割った値をコストとして割り当てます。デフォルトでは、参照帯域幅は 40 Gbps です。リンク コストは各リンクに対して、LSA 更新情報で伝えられます。
フラッディングと LSA グループ ペーシング
OSPFv3 は、LSA タイプに応じて、ネットワークのさまざまな部分に LSA 更新をフラッディングします。OSPFv3 は、次のフラッディング スコープを使用します。
• リンク ローカル:LSA は、ローカル リンク上でのみフラッディングされます。リンク LSA および猶予 LSA に使用されます。
• エリアローカル:LSA は、単一の OSPF エリア全体にのみフラッディングされます。ルータ LSA、ネットワーク LSA、エリア間プレフィックス LSA、エリア間ルータ 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 グループ ペーシング」を参照してください。
マルチエリア隣接関係(Multi-Area Adjacency)
OSPFv3 マルチエリア隣接関係により、複数のエリアにあるプライマリ インターフェイス上にリンクを設定できます。このリンクは、それらのエリア内の優先されるエリア内リンクになります。マルチエリア隣接関係では、OSPFv3 エリアにポイントツーポイントの番号なしリンクを確立し、そのエリアにトポロジー パスを提供します。プライマリ隣接関係はリンクを使用して、ネイバー ステートが full の場合に、ルータ LSA で対応するエリアの番号なしポイントツーポイント リンクをアドバタイズします。
マルチエリア インターフェイスは、OSPF の既存のプライマリ インターフェイス上の論理構成体として存在しますが、プライマリ インターフェイス上のネイバー ステートは、マルチエリア インターフェイスと無関係です。マルチエリア インターフェイスはネイバー ルータ上の対応するマルチエリア インターフェイスとの隣接関係を確立します。詳細については、「マルチエリア隣接関係の設定」を参照してください。
OSPFv3 と IPv6 ユニキャスト RIB
OSPFv3 は、リンクステート データベースでダイクストラの SPF アルゴリズムを実行します。このアルゴリズムにより、パス上の各リンクのリンク コストの合計に基づいて、各宛先への最適なパスが選択されます。選択された各宛先への最短パスが OSPFv3 ルート テーブルに入力されます。OSPFv3 ネットワークが収束すると、このルート テーブルは IPv6 ユニキャスト ルーティング情報ベース(RIB)にデータを提供します。OSPFv3 は IPv6 ユニキャスト RIB と通信し、次の動作を行います。
• ルートの追加または削除
• 他のプロトコルからのルートの再配布への対応
• 変更されていない OSPFv3 ルートの削除およびスタブ ルータ アドバタイズメントを行うためのコンバージェンス更新情報の提供(「複数の OSPFv3 インスタンス」を参照)
さらに OSPFv3 は、変更済みダイクストラ アルゴリズムを実行して、エリア間プレフィックス、エリア間ルータ、AS 外部、タイプ 7、およびエリア内プレフィックス(タイプ 3、4、5、7、8)の各 LSA の変更の高速再計算を行います。
アドレス ファミリのサポート
Cisco NX-OS は、ユニキャスト IPv6 やマルチキャスト IPv6 などの複数のアドレス ファミリをサポートしています。アドレス ファミリに特有の OSPFv3 機能は、次のとおりです。
• デフォルト ルート
• ルート集約
• ルートの再配布
• 境界ルータのフィルタ リスト
• SPF 最適化
これらの機能の設定時に IPv6 ユニキャスト アドレス ファミリ コンフィギュレーション モードを開始するには、 address-family ipv6 unicast コマンドを使用します。
スタブ エリア
エリアをスタブ エリアにすると、エリアでフラッディングされる外部ルーティング情報の量を制限できます。スタブ エリアとは、AS 外部(タイプ 5)LSA(「リンクステート アドバタイズメント」を参照)が許可されないエリアです。これらの LSA は通常、外部ルーティング情報を伝播するためにローカル自律システム全体でフラッディングされます。スタブ エリアには、次の要件があります。
• スタブ エリア内のすべてのルータはスタブ ルータです。「スタブ ルーティング」を参照してください。
• スタブ エリアには ASBR ルータは存在しません。
• スタブ エリアには仮想リンクを設定できません。
図 6-3 は、外部自律システムに到達するためにエリア 0.0.0.10 内のすべてのルータが ABR を通過する必要のある OSPFv3 自律システムの例を示します。エリア 0.0.0.10 は、スタブ エリアとして設定できます。
図 6-3 スタブ エリア
スタブ エリアは、外部自律システムへのバックボーン エリアを通過する必要のあるすべてのトラフィックにデフォルト ルートを使用します。デフォルト ルートは、プレフィックス長が IPv6 向けに 0 に設定されたエリア間プレフィックス LSA です。
Not-So-Stubby エリア
Not-So-Stubby Area(NSSA)は、スタブ エリアに似ていますが、NSSA では、再配布を使用して NSSA 内で自律システム外部ルートをインポートできる点が異なります。NSSA ASBR はこれらのルートを再配布し、タイプ 7 LSA を生成して NSSA 全体にフラッディングします。または、このタイプ 7 LSA を AS 外部(タイプ 5)LSA に変換するよう、NSSA を他のエリアに接続する ABR を設定することができます。こうすると、ABR は、これらの AS 外部 LSA を OSPFv3 自律システム全体にフラッディングします。変換中は集約とフィルタリングがサポートされます。タイプ 7 LSA の詳細については、「リンクステート アドバタイズメント」を参照してください。
たとえば、OSPFv3 を使用する中央サイトを、異なるルーティング プロトコルを使用するリモート サイトに接続するときに NSSA を使用すると、管理作業を簡素化できます。NSSA を使用する前は、企業サイトの境界ルータとリモート ルータの間の接続を OSPFv3 スタブ エリアとして実行できませんでした。これは、リモート サイトへのルートはスタブ エリア内に再配布できないためです。NSSA を使用すると、企業のルータとリモート ルータ間のエリアを NSSA として定義する(「NSSA の設定」を参照)ことで、OSPFv3 を拡張してリモート接続性をサポートできます。
バックボーン エリア 0 を NSSA にできません。
仮想リンク
仮想リンクを使用すると、物理的に直接接続できない場合に、OSPFv3 エリア ABR をバックボーン エリア ABR に接続できます。図 6-4 は、エリア 3 をエリア 5 経由でバックボーン エリアに接続する仮想リンクを示します。
図 6-4 仮想リンク
また、仮想リンクを使用して、分割エリアから一時的に回復できます。分割エリアは、エリア内のリンクがダウンしたために隔離された一部のエリアで、ここからはバックボーン エリアへの代表 ABR に到達できません。
ルートの再配布
OSPFv3 は、ルート再配布を使用して、他のルーティング プロトコルからルートを学習できます。「ルートの再配布」を参照してください。リンク コストをこれらの再配布されたルートに割り当てるか、またはデフォルト リンク コストを再配布されたすべてのに割り当てるよう、OSPFv3 を設定します。
ルート再配布では、ルート マップを使用して、再配布する外部ルートを管理します。再配布を指定したルート マップを設定して、どのルートが OSPFv2 に渡されるかを制御する必要があります。ルート マップを使用すると、宛先、送信元プロトコル、ルート タイプ、ルート タグなどの属性に基づいて、ルートをフィルタリングできます。ルート マップを使用して、これらの外部ルートがローカル OSPFv3 AS でアドバタイズされる前に AS 外部(タイプ 5)LSA および NSSA 外部(タイプ 7)LSA のパラメータを変更できます。詳細については、「Route Policy Manager の設定」を参照してください。
ルート集約
OSPFv3 は、学習したすべてのルートを、すべての OSPF 対応ルータと共有するため、ルート集約を使用して、すべての OSPF 対応ルータにフラッディングされる一意のルートの数を削減した方がよい場合があります。ルート集約により、より具体的な複数のアドレスが、すべての具体的なアドレスを表す 1 つのアドレスに置き換えられるため、ルート テーブルが簡素化されます。たとえば、2010:11:22:0:1000::1 と 2010:11:22:0:2000:679:1 を 1 つの集約アドレス 2010:11:22::/32 に置き換えることができます。
一般的には、エリア境界ルータ(ABR)の境界ごとに集約します。集約は 2 つのエリアの間でも設定できますが、バックボーンの方向に集約する方が適切です。こうすると、バックボーンがすべての集約アドレスを受信し、すでに集約されているそれらのアドレスを他のエリアに投入できるためです。集約には、次の 2 タイプがあります。
• エリア間ルート集約
• 外部ルート集約
エリア間ルート集約は ABR 上で設定し、自律システム内のエリア間のルートを集約します。集約の利点を生かすには、これらのアドレスを 1 つの範囲内にまとめることができるように、連続するネットワーク番号をエリア内で割り当てます。
外部ルート集約は、ルート再配布を使用して OSPFv3 に投入される外部ルートに特有のルート集約です。集約する外部の範囲が連続していることを確認する必要があります。異なる 2 台のルータからの重複範囲を集約すると、誤った宛先にパケットが送信される原因となる場合があります。外部ルート集約は、ルートを OSPF に再配布している ASBR で設定してください。
集約アドレスの設定時に Cisco NX-OS は、ルーティング ブラック ホールおよびルート ループを防ぐために、集約アドレスの廃棄ルートを自動的に設定します。
ハイ アベイラビリティおよびグレースフル リスタート
Cisco NX-OS では、複数レベルのハイ アベイラビリティ アーキテクチャを提供します。OSPFv3 は、ステートフル リスタートをサポートしています。これは、ノンストップ ルーティング(NSR)とも呼ばれます。OSPFv3 で問題が発生した場合は、以前の実行時状態からの再起動を試みます。この場合、ネイバーはいずれのネイバー イベントも登録しません。最初の再起動が正常ではなく、別の問題が発生した場合、OSPFv3 はグレースフル リスタートを試みます。
グレースフル リスタート、つまり、Nonstop Forwarding(NSF)では、処理の再起動中も OSPFv3 がデータ転送パス上に存在し続けます。OSPFv3 はグレースフル リスタートの実行が必要になると、リンクローカル猶予(タイプ 11)LSA を送信します。この再起動中の OSPFv3 プラットフォームは NSF 対応と呼ばれます。
猶予 LSA には猶予期間が含まれます。猶予期間とは、ネイバー OSPFv3 インターフェイスは再起動中の OSPFv3 インターフェイスからの LSA を待つよう指定された時間です (通常、OSPFv3 は隣接関係を解消し、ダウンした、または再起動中の OSPFv3 インターフェイスが発信するすべての LSA を廃棄します)。関与するネイバーは NSF ヘルパーと呼ばれ、再起動中の OSPFv3 インターフェイスが発信するすべての LSA を、このインターフェイスが隣接したままであるかのように維持します。
再起動中の OSPFv3 インターフェイスが稼働を再開すると、ネイバーを再探索して隣接関係を確立し、LSA 更新情報の送信を再開します。この時点で、NSF ヘルパーは、グレースフル リスタートが完了したと認識します。
ステートフル リスタートは次のシナリオで使用されます。
• プロセスでの問題発生後の最初の回復試行
• system switchover コマンドによる手動でのスイッチオーバー
グレースフル リスタートは次のシナリオで使用されます。
• プロセスでの問題発生後の 2 回目の回復試行(4 分以内)
• restart ospfv3 コマンドによるプロセスの手動での再開
• アクティブ スーパーバイザの削除
• reload module active-sup コマンドによるアクティブ スーパーバイザのリロード
複数の OSPFv3 インスタンス
Cisco NX-OS は、OSPFv3 プロトコルの複数インスタンスをサポートしています。デフォルトでは、すべてのインスタンスが同じシステム ルータ ID を使用します。複数のインスタンスが同じ OSPFv3 自律システムにある場合は、各インスタンスのルータ ID を手動で設定する必要があります。サポートされる OSPFv3 インスタンスの数については、 『Cisco Nexus 9000 Series NX-OS Verified Scalability Guide』 を参照してください。
OSPFv3 ヘッダーには、特定の OSPFv3 インスタンスの OSPFv3 パケットを識別するためのインスタンス ID フィールドが含まれます。この OSPv3 インスタンスを割り当てることができます。インターフェイスは、パケット ヘッダーの OSPFv3 インスタンス ID が一致しない OSPFv3 パケットをすべてドロップします。
Cisco NX-OS では、インターフェイス上に 1 つの OSPFv3 インスタンスのみが許可されます。
SPF 最適化
Cisco NX-OS は、次の方法で SPF アルゴリズムを最適化します。
• ネットワーク(タイプ 2)LSA、エリア間プレフィックス(タイプ 3)LSA、および AS 外部(タイプ 5)LSA 用部分 SPF:これらの LSA のいずれかが変更されると、Cisco NX-OS は、全体的な SPF 計算ではなく、高速部分計算を実行します。
• SPF タイマー:さまざまなタイマーを設定して、SPF 計算を制御できます。これらのタイマーには、後続の SPF 計算の幾何バックオフが含まれます。幾何バックオフにより、複数の SPF 計算による CPU 負荷が制限されます。
仮想化のサポート
Cisco NX-OS は、OSPFv3 の複数のプロセス インスタンスをサポートします。各 OSPFv3 インスタンスは、システム制限まで複数の仮想ルーティングおよび転送(VRF)インスタンスをサポートできます。サポートされる OSPFv3 インスタンスの数については、 『Cisco Nexus 9000 Series NX-OS Verified Scalability Guide』 を参照してください。
高度な OSPFv3 の設定
OSPFv3 は、OSPFv3 ネットワークを設計したあとに設定します。
この項では、次のトピックについて取り上げます。
• 「境界ルータのフィルタ リストの設定」
• 「スタブ エリアの設定」
• 「Totally Stubby エリアの設定」
• 「NSSA の設定」
• 「マルチエリア隣接関係の設定」
• 「仮想リンクの設定」
• 「再配布の設定」
• 「再配布されるルート数の制限」
• 「ルート集約の設定」
• 「ルートのアドミニストレーティブ ディスタンスの設定」
• 「デフォルト タイマーの変更」
• 「グレースフル リスタートの設定」
• 「OSPFv3 インスタンスの再起動」
• 「仮想化による OSPFv3 の設定」
境界ルータのフィルタ リストの設定
OSPFv3 ドメインを、関連性のある各ネットワークを含む一連のエリアに分離できます。すべてのエリアは、エリア境界ルータ(ABR)経由でバックボーン エリアに接続している必要があります。OSPFv3 ドメインは、自律システム境界ルータ(ASBR)を介して、外部ドメインにも接続可能です。「エリア」を参照してください。
ABR には、省略可能な次の設定パラメータがあります。
• Area range:エリア間のルート集約を設定します。詳細については、「ルート集約の設定」を参照してください。
• Filter list:ABR 上で、外部エリアから受信したエリア間プレフィックス(タイプ 3)LSA をフィルタリングします。
ASBR もフィルタ リストをサポートしています。
手順の概要
1. configure terminal
2. router ospfv3 instance-tag
3. address-family ipv6 unicast
4. area area-id filter-list route-map map-name {in | out}
5. (任意)show ipv6 ospfv3 policy statistics area id filter-list { in | out }
6. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router ospfv3 instance-tag 例: switch(config)# router ospfv3 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 3 |
address-family ipv6 unicast 例: switch(config-router)# address-family ipv6 unicast switch(config-router-af)# |
IPv6 ユニキャスト アドレス ファミリ モードを開始します。 |
ステップ 4 |
area area-id filter-list route-map map-name { in | out } 例: switch(config-router-af)# area 0.0.0.10 filter-list route-map FilterLSAs in |
ABR 上で着信または発信エリア間プレフィックス(タイプ 3)LSA をフィルタリングします。 |
ステップ 5 |
show ipv6 ospfv3 policy statistics area id filter-list { in | out } 例 : switch(config-if)# show ipv6 ospfv3 policy statistics area 0.0.0.10 filter-list in |
(任意)OSPFv3 ポリシー情報を表示します。 |
ステップ 6 |
copy running-config startup-config 例: switch(config-router)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、ディセーブルにされているグレースフル リスタートをイネーブルにする例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# address-family ipv6 unicast
switch(config-router-af)# area 0.0.0.10 filter-list route-map FilterLSAs in
switch(config-router-af)# copy running-config startup-config
スタブ エリアの設定
OSPFv3 ドメインの、外部トラフィックが不要な部分にスタブ エリアを設定できます。スタブ エリアは AS 外部(タイプ 5)LSA をブロックし、不要な、選択したネットワークへの往復のルーティングを制限します。「スタブ エリア」を参照してください。また、すべての集約ルートがスタブ エリアを経由しないようブロックすることもできます。
はじめる前に
OSPF をイネーブルにします(「OSPFv3 のイネーブル化」を参照)。
設定されるスタブ エリア内に、仮想リンクと ASBR のいずれも含まれないことを確認します。
手順の概要
1. configure terminal
2. router ospfv3 instance-tag
3. area area-id stub
4. (任意)address-family ipv6 unicast
5. (任意)area area-id default-cost cost
6. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router ospfv3 instance-tag 例: switch(config)# router ospfv3 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 3 |
area area-id stub 例: switch(config-router)# area 0.0.0.10 stub |
このエリアをスタブ エリアとして作成します。 |
ステップ 4 |
address-family ipv6 unicast 例: switch(config-router)# address-family ipv6 unicast switch(config-router-af)# |
(任意)IPv6 ユニキャスト アドレス ファミリ モードを開始します。 |
ステップ 5 |
area area-id default-cost cost 例: switch(config-router-af)# area 0.0.0.10 default-cost 25 |
(任意)このスタブ エリアに送信されるデフォルト集約ルートのコスト メトリックを設定します。指定できる範囲は 0 ~ 16777215 です。 |
ステップ 6 |
copy running-config startup-config 例: switch(config-router)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、すべての集約ルート更新をブロックするスタブ エリアを作成する例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# area 0.0.0.10 stub no-summary
switch(config-router)# copy running-config startup-config
Totally Stubby エリアの設定
Totally Stubby エリアを作成して、すべての集約ルート更新がスタブ エリアを経由しないようにすることができます。
Totally Stubby エリアを作成するには、ルータ コンフィギュレーション モードで次のコマンドを使用します。
|
|
area area-id stub no-summary 例: switch(config-router)# area 20 stub no-summary |
このエリアを Totally Stubby エリアとして作成します。 |
NSSA の設定
OSPFv3 ドメインの、ある程度の外部トラフィックが必要な部分に NSSA を設定できます。「Not-So-Stubby エリア」を参照してください。また、この外部トラフィックを AS 外部(タイプ 5)LSA に変換して、このルーティング情報で OSPFv3 ドメインをフラッディングすることもできます。NSSA は、省略可能な次のパラメータで設定できます。
• No redistribution: NSSA をバイパスして OSPFv3 AS 内の他のエリアに到達するルートを再配布します。このオプションは、NSSA ASBR が ABR も兼ねているときに使用します。
• Default information originate:外部自律システムへのデフォルト ルートのタイプ 7 LSA を生成します。このオプションは、ASBR のルーティング テーブルにデフォルト ルートが含まれる場合に NSSA ASBR 上で使用します。このオプションは、ASBR のルーティング テーブルにデフォルト ルートが含まれるかどうかに関係なく、NSSA ASBR 上で使用できます。
• Route map:目的のルートのみが NSSA および他のエリア全体でフラッディングされるよう、外部ルートをフィルタリングします。
• Translate:NSSA 外のエリア向けに、タイプ 7 LSA を AS 外部 LSA(タイプ 5)に変換します。再配布されたルートを OSPFv3 自律システム全体でフラッディングするには、このコマンドを NSSA ABR 上で使用します。また、これらの AS 外部 LSA の転送アドレスを無効にすることもできます。
• No summary:すべての集約ルートが NSSA でフラッディングされないようにします。このオプションは NSSA ABR 上で使用します。
はじめる前に
OSPF をイネーブルにします(「OSPFv3 のイネーブル化」を参照)。
設定する NSSA 上に仮想リンクがないことと、この NSSA がバックボーン エリアでないことを確認します。
手順の概要
1. configure terminal
2. router ospfv3 instance-tag
3. area area-id nssa [ no-redistribution ] [ default-information-originate] [ route-map map-name ] [ no-summary ] [ translate type7 { always | never } [ suppress-fa ]]
4. (任意)address-family ipv6 unicast
5. (任意)area area-id default-cost cost
6. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router ospfv3 instance-tag 例: switch(config)# router ospfv3 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 3 |
area area-id nssa [ no-redistribution ] [ default-information-originate ] [ route-map map-name] [no -summary ] [ translate type7 { always | never } [ suppress-fa ]] 例: switch(config-router)# area 0.0.0.10 nssa |
このエリアを NSSA として作成します。 |
ステップ 4 |
address-family ipv6 unicast 例: switch(config-router)# address-family ipv6 unicast switch(config-router-af)# |
(任意)IPv6 ユニキャスト アドレス ファミリ モードを開始します。 |
ステップ 5 |
area area-id default-cost cost 例: switch(config-router-af)# area 0.0.0.10 default-cost 25 |
(任意)この NSSA に送信されるデフォルト集約ルートのコスト メトリックを設定します。指定できる範囲は 0 ~ 16777215 です。 |
ステップ 6 |
copy running-config startup-config 例: switch(config-router)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、すべての集約ルート更新をブロックする NSSA を作成する例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# area 0.0.0.10 nssa no-summary
switch(config-router)# copy running-config startup-config
次に、デフォルト ルートを生成する NSSA を作成する例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# area 0.0.0.10 nssa default-info-originate
switch(config-router)# copy running-config startup-config
次に、外部ルートをフィルタリングし、すべての集約ルート更新をブロックする NSSA を作成する例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# area 0.0.0.10 nssa route-map ExternalFilter no-summary
switch(config-router)# copy running-config startup-config
次に、常にタイプ 7 LSA を AS 外部(タイプ 5)LSA に変換する NSSA を作成する例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# area 0.0.0.10 nssa translate type 7 always
switch(config-router)# copy running-config startup-config
次に、すべての集約ルート更新をブロックする NSSA を作成する例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# area 0.0.0.10 nssa no-summary
switch(config-router)# copy running-config startup-config
マルチエリア隣接関係の設定
既存の OSPFv3 インターフェイスには複数のエリアを追加できます。追加の論理インターフェイスはマルチエリア隣接関係をサポートしています。
手順の概要
1. configure terminal
2. interface interface-type slot/port
3. ipv6 router ospfv3 instance-tag multi-area area-id
4. (任意)show ipv6 ospfv3 instance-tag interface interface-type slot/por t
5. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
interface interface-type slot/port 例: switch(config)# interface ethernet 1/2 switch(config-if)# |
インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 3 |
ipv6 router ospfv3 instance-tag multi-area area-id 例: switch(config-if)# ipv6 router ospfv3 201 multi-area 3 |
別のエリアにインターフェイスを追加します。 |
ステップ 4 |
show ipv6 ospfv3 instance-tag interface interface-type slot/port 例 : switch(config-if)# show ipv6 ospfv3 201 interface ethernet 1/2 |
(任意)OSPFv3 情報を表示します。 |
ステップ 5 |
copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、OSPFv3 インターフェイスに別のエリアを追加する例を示します。
switch# configure terminal
switch(config)# interface ethernet 1/2
switch(config-if)# ipv6 address 2001:0DB8::1/48
switch(config-if)# ipv6 ospfv3 201 area 0.0.0.10
switch(config-if)# ipv6 ospfv3 201 multi-area 20
switch(config-if)# copy running-config startup-config
仮想リンクの設定
仮想リンクは、隔離されたエリアを、中継エリア経由でバックボーン エリアに接続します。「仮想リンク」を参照してください。仮想リンクには、省略可能な次のパラメータを設定できます。
• Dead interval:ローカル ルータがデッドであることを宣言し、隣接関係を解消する前に、ネイバーが hello パケットを待つ時間を設定します。
• Hello interval:連続する hello パケット間の時間間隔を設定します。
• Retransmit interval:連続する LSA 間の推定時間間隔を設定します。
• Transmit delay:LSA をネイバーに送信する推定時間を設定します。
(注) リンクがアクティブになる前に、関与する両方のルータで仮想リンクを設定する必要があります。
手順の概要
1. configure terminal
2. router ospfv3 instance-tag
3. area area-id virtual-link router-id
4. (任意)show ipv6 ospfv3 virtual-link [ brief ]
5. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router ospfv3 instance-tag 例: switch(config)# router ospfv3 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 3 |
area area-id virtual-link router-id 例: switch(config-router)# area 0.0.0.10 virtual-link 2001:0DB8::1 switch(config-router-vlink)# |
リモート ルータへの仮想リンクの端を作成します。仮想リンクをリモート ルータ上に作成して、リンクを完成させる必要があります。 |
ステップ 4 |
show ipv6 ospfv3 virtual-link [ brief ] 例 : switch(config-if)# show ipv6 ospfv3 virtual-link |
(任意)OSPFv3 仮想リンク情報を表示します。 |
ステップ 5 |
copy running-config startup-config 例: switch(config-router)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
仮想リンク コンフィギュレーション モードで、省略可能な次のコマンドを設定できます。
|
|
dead-interval seconds 例 : switch(config-router-vlink)# dead-interval 50 |
(任意)OSPFv3 デッド間隔を秒単位で設定します。範囲は 1 ~ 65535 です。デフォルトでは、hello 間隔の秒数の 4 倍です。 |
hello-interval seconds 例: switch(config-router-vlink)# hello-interval 25 |
(任意)OSPFv3 hello 間隔を秒単位で設定します。範囲は 1 ~ 65535 です。デフォルトは 10 秒です。 |
retransmit-interval seconds 例 : switch(config-router-vlink)# retransmit-interval 50 |
(任意)OSPFv3 再送間隔を秒単位で設定します。範囲は 1 ~ 65535 です。デフォルトは 5 です。 |
transmit-delay seconds 例: switch(config-router-vlink)# transmit-delay 2 |
(任意)OSPFv3 送信遅延を秒単位で設定します。指定できる範囲は 1 ~ 450 です。デフォルトは 1 です。 |
次に、2 つの ABR 間に簡単な仮想リンクを作成する例を示します。
ABR 1(ルータ ID 2001:0DB8::1)の設定は、次のとおりです。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# area 0.0.0.10 virtual-link 2001:0DB8::10
switch(config-router)# copy running-config startup-config
ABR 2(ルータ ID 2001:0DB8::10)の設定は、次のとおりです。
switch# configure terminal
switch(config)# router ospf 101
switch(config-router)# area 0.0.0.10 virtual-link 2001:0DB8::1
switch(config-router)# copy running-config startup-config
再配布の設定
他のルーティング プロトコルから学習したルートを、ASBR 経由で OSPFv3 自律システムに再配布できます。
OSPF でのルート再配布には、省略可能な次のパラメータを設定できます。
• Default information originate:外部自律システムへのデフォルト ルートの AS 外部(タイプ 5)LSA を生成します。
(注) Default information originate はオプションのルート マップ内の match 文を無視します。
• Default metric:すべての再配布ルートに同じコスト メトリックを設定します。
(注) スタティック ルートを再配布すると、Cisco NX-OS はデフォルトのスタティック ルートも再配布します。
手順の概要
1. configure terminal
2. router ospfv3 instance-tag
3. address-family ipv6 unicast
4. redistribute { bgp id | direct | isis id | rip id | static } route-map map-name
5. default-information originate [ always ] [ route-map map-name ]
6. default-metric cost
7. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router ospfv3 instance-tag 例: switch(config)# router ospfv3 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 3 |
address-family ipv6 unicast 例: switch(config-router)# address-family ipv6 unicast switch(config-router-af)# |
IPv6 ユニキャスト アドレス ファミリ モードを開始します。 |
ステップ 4 |
redistribute { bgp id | direct | isis id | rip id | static } route-map map-name 例: switch(config-router-af)# redistribute bgp route-map FilterExternalBGP |
設定したルート マップ経由で、選択したプロトコルを OSPFv3 に再配布します。 (注) スタティック ルートを再配布すると、Cisco NX-OS はデフォルトのスタティック ルートも再配布します。 |
ステップ 5 |
default-information originate [ always ] [ route-map map-name] 例: switch(config-router-af)# default-information-originate route-map DefaultRouteFilter |
デフォルトのルートが RIB に存在する場合、この OSPFv3 ドメインにデフォルトのルートを作成します。次の省略可能なキーワードを使用します。 • always :常にデフォルト ルートの 0.0.0. を生成します。(ルートが RIB に存在しない場合でも)。 • route-map :ルート マップが true を返す場合にデフォルト ルートを生成します。 文を無視します。 |
ステップ 6 |
default-metric cost 例: switch(config-router-af)# default-metric 25 |
再配布されたルートのコスト メトリックを設定します。指定できる範囲は 1 ~ 16777214 です。このコマンドは、直接接続されたルートには適用されません。ルート マップを使用して、直接接続されたルートのデフォルトのメトリックを設定します。 |
ステップ 7 |
copy running-config startup-config 例: switch(config-router)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、ボーダー ゲートウェイ プロトコル(BGP)を OSPFv3 に再配布する例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# address-family ipv6 unicast
switch(config-router-af)# redistribute bgp route-map FilterExternalBGP
switch(config-router-af)# copy running-config startup-config
再配布されるルート数の制限
ルート再配布によって、OSPFv3 ルート テーブルに多数のルートを追加できます。外部プロトコルから受け取るルートの数に最大制限を設定できます。OSPFv3 には、再配布されるルート制限を設定するための次のオプションがあります。
• 上限固定:OSPFv3 が設定された最大値に達すると、メッセージをログに記録します。OSPFv3 はそれ以上の再配布されたルートを受け付けません。任意で、最大値のしきい値パーセンテージを設定して、OSPFv3 がこのしきい値を超えたときに警告を記録するようにすることもできます。
• 警告のみ:OSPFv3 が最大値に達したときのみ、警告のログを記録します。OSPFv3 は、再配布されたルートを受け入れ続けます。
• 取り消し:OSPFv3 が最大値に達したときに設定したタイムアウト期間を開始します。このタイムアウト期間後、現在の再配布されたルート数が最大制限より少なければ、OSPFv3 はすべての再配布されたルートを要求します。再配布されたルートの現在数が最大数に達した場合、OSPFv3 はすべての再配布されたルートを取り消します。OSPFv3 が追加の再配布されたルートを受け付ける前に、この状況を解消する必要があります。任意で、タイムアウト期間を設定できます。
手順の概要
1. configure terminal
2. router ospfv3 instance-tag
3. address-family ipv6 unicast
4. redistribute { bgp id | direct | isis id | rip id | static } route-map map-name
5. redistribute maximum-prefix max [ threshold ] [ warning-only | withdraw [ num-retries timeout ]]
6. (任意)show running-config ospfv3
7. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router ospfv3 instance-tag 例: switch(config)# router ospfv3 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 3 |
address-family ipv6 unicast 例: switch(config-router)# address-family ipv6 unicast switch(config-router-af)# |
IPv6 ユニキャスト アドレス ファミリ モードを開始します。 |
ステップ 4 |
redistribute { bgp id | direct | isis id | rip id | static } route-map map-name 例: switch(config-router-af)# redistribute bgp route-map FilterExternalBGP |
設定したルート マップ経由で、選択したプロトコルを OSPFv3 に再配布します。 |
ステップ 5 |
redistribute maximum-prefix max [ threshold ] [ warning-only | withdraw [ num-retries timemout ]] 例: switch(config-router)# redistribute maximum-prefix 1000 75 warning-only |
OSPFv2 が配布するプレフィックスの最大数を指定します。範囲は 1 ~ 65535 です。任意で次のオプションを指定します。 • threshold :警告メッセージをトリガーする最大プレフィックス数のパーセンテージ。 • warning-only :プレフィックスの最大数を超えたときに警告メッセージを記録します。 • withdraw :再配布されたすべてのルートを取り消し、任意で再配布されたルートを取得しようと試みます。 num-retries の範囲は 1 ~ 12 です。 timeout の範囲は 60 ~ 600 秒です。デフォルトは 300 秒です。 |
ステップ 6 |
show running-config ospfv3 例: switch(config-router)# show running-config ospf |
(任意)OSPFv3 の設定を表示します。 |
ステップ 7 |
copy running-config startup-config 例: switch(config-router)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、OSPF に再配布されるルートの数を制限する例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# address-family ipv6 unicast
switch(config-router-af)# redistribute bgp route-map FilterExternalBGP
switch(config-router-af)# redistribute maximum-prefix 1000 75
ルート集約の設定
集約されたアドレス範囲を設定して、エリア間ルートのルート集約を設定できます。また、ASBR 上のこれらのルートの集約アドレスを設定して、外部の再配布されたルートのルート集約を設定することもできます。詳細については、「ルート集約」を参照してください。
手順の概要
1. configure terminal
2. router ospfv3 instance-tag
3. address-family ipv6 unicast
4. area area-id range ipv6-prefix/length [ no-advertise ] [ cost cost ]
または
5. summary-address ipv6-prefix/length [ no-advertise ] [ tag tag ]
6. (任意)show ipv6 ospfv3 summary-address
7. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router ospfv3 instance-tag 例: switch(config)# router ospfv3 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 3 |
address-family ipv6 unicast 例: switch(config-router)# address-family ipv6 unicast switch(config-router-af)# |
IPv6 ユニキャスト アドレス ファミリ モードを開始します。 |
ステップ 4 |
area area-id range ipv6-prefix/length [ no-advertise ] [ cost cost ] 例: switch(config-router-af)# area 0.0.0.10 range 2001:0DB8::/48 advertise |
一定の範囲のアドレスの集約アドレスを ABR 上に作成します。この集約アドレスをエリア間プレフィックス(タイプ 3)LSA にアドバタイズすることもできます。 cost の範囲は 0 ~ 16777215 です。 |
ステップ 5 |
summary-address ipv6-prefix/length [ no-advertise ][ tag tag ] 例: switch(config-router-af)# summary-address 2001:0DB8::/48 tag 2 |
一定の範囲のアドレスの集約アドレスを ASBR 上に作成します。ルート マップによる再配布で使用できるよう、この集約アドレスにタグを割り当てることもできます。 |
ステップ 6 |
show ipv6 ospfv3 summary-address 例 : switch(config-router)# show ipv6 ospfv3 summary-address |
(任意)OSPFv3 集約アドレスに関する情報を表示します。 |
ステップ 7 |
copy running-config startup-config 例: switch(config-router)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、ABR 上のエリア間の集約アドレスを作成する例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# address-family ipv6 unicast
switch(config-router)# area 0.0.0.10 range 2001:0DB8::/48
switch(config-router)# copy running-config startup-config
次に、ASBR 上の集約アドレスを作成する例を示します。
switch# configure terminal
switch(config)# router ospf 201
switch(config-router)# address-family ipv6 unicast
switch(config-router)# summary-address 2001:0DB8::/48
switch(config-router)# no discard route internal
switch(config-router)# copy running-config startup-config
ルートのアドミニストレーティブ ディスタンスの設定
OSPFv3 によって RIB に追加されるルートのアドミニストレーティブ ディスタンスを設定できます。
アドミニストレーティブ ディスタンスは、ルーティング情報源の信頼性を示す評価基準です。値が高いほど信頼性の評価は低くなります。一般的にルートは、複数のルーティング プロトコルを通じて検出されます。アドミニストレーティブ ディスタンスは、複数のルーティング プロトコルから学習したルートを区別するために使用されます。最もアドミニストレーティブ ディスタンスが低いルートが IP ルーティング テーブルに組み込まれます。
手順の概要
1. configure terminal
2. router ospf instance-tag
3. address-family ipv6 unicast
4. [ no ] table-map map-name
5. exit
6. exit
7. route-map map-name [ permit | deny ] [ seq ]
8. match route-type route-type
9. match ip route-source prefix-list name
10. match ipv6 address prefix-list name
11. set distance value
12. (任意) copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router ospf instance-tag 例: switch(config)# router ospf 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 3 |
address-family ipv6 unicast 例: switch(config-router)# address-family ipv6 unicast switch(config-router-af)# |
IPv6 ユニキャスト アドレス ファミリ モードを開始します。 |
ステップ 4 |
[ no ] table-map map-name 例: switch(config-router-af)# table-map foo |
OSPFv3 ルートを RIB に送信する前に、OSPFv2 ルートをフィルタリングまたは変更するポリシーを設定します。マップ名には最大 63 文字の英数字を入力できます。 |
ステップ 5 |
exit 例: switch(config-router-af)# exit switch(config-router)# |
ルータ アドレス ファミリ コンフィギュレーション モードを終了します。 |
ステップ 6 |
exit 例: switch(config-router)# exit switch(config)# |
ルータ コンフィギュレーション モードを終了します。 |
ステップ 7 |
route-map map-name [ permit | deny ] [ seq ] 例: switch(config)# route-map foo permit 10 switch(config-route-map)# |
ルート マップを作成するか、または既存のルート マップに対応するルート マップ コンフィギュレーション モードを開始します。 seq を使用して、ルート マップ エントリを順序付けます。 オプションを使用すると、デフォルトのディスタンスが適用されます。 |
ステップ 8 |
match route-type route-type 例: switch(config-route-map)# match route-type external |
次のルート タイプのいずれかと照合します。 • external:外部ルート(BGP、EIGRP、OSPF タイプ 1 または 2) • inter-area:OSPF エリア間ルート • internal:内部ルート(OSPF エリア内またはエリア間ルートを含む) • intra-area:OSPF エリア内ルート • nssa-external:NSSA 外部ルート(OSPF タイプ 1 または 2) • type-1:OSPF 外部タイプ 1 ルート • type-2:OSPF 外部タイプ 2 ルート |
ステップ 9 |
match ip route-source prefix-list name 例: switch(config-route-map)# match ip route-source prefix-list p1 |
1 つまたは複数の IP プレフィックス リストに対して、ルートの IPv6 ルート送信元アドレスまたはルータ ID と照合します。プレフィックス リストは ip prefix-list コマンドを使用して作成します。 (注) OSPFv3 では、ルータ ID は 4 バイトです。 |
ステップ 10 |
match ipv6 address prefix-list name 例: switch(config-route-map)# match ipv6 address prefix-list p1 |
1 つまたは複数の IPv6 プレフィックス リストと照合。プレフィックス リストは ip prefix-list コマンドを使用して作成します。 |
ステップ 11 |
set distance value 例: switch(config-route-map)# set distance 150 |
OSPFv3 のルートのアドミニストレーティブ ディスタンスを設定します。指定できる範囲は 1 ~ 255 です。 |
ステップ 12 |
copy running-config startup-config 例: switch(config-route-map)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、OSPFv3 アドミニストレーティブ ディスタンスについて、エリア間ルートを 150、外部ルートを 200、およびプレフィックス リスト p1 内のすべてのプレフィックスを 190 に設定する例を示します。
switch# configure terminal
switch(config)# router ospf 201
switch(config-router)# address-family ipv6 unicast
switch(config-router-af)# table-map foo
switch(config-router)# exit
switch(config)# exit
switch(config)# route-map foo permit 10
switch(config-route-map)# match route-type inter-area
switch(config-route-map)# set distance 150
switch(config)# route-map foo permit 20
switch(config-route-map)# match route-type external
switch(config-route-map)# set distance 200
switch(config)# route-map foo permit 30
switch(config-route-map)# match ip route-source prefix-list p1
switch(config-route-map)# match ipv6 address prefix-list p1
switch(config-route-map)# set distance 190
デフォルト タイマーの変更
OSPFv3 には、プロトコル メッセージの動作および SPF 計算を制御する数多くのタイマーが含まれます。OSPFv3 には、省略可能な次のタイマー パラメータが含まれます。
• LSA arrival time:ネイバーから着信する LSA 間で許容される最小間隔を設定します。この時間より短時間で到着する LSA はドロップされます。
• Pacing LSAs:LSA が集められてグループ化され、リフレッシュされて、チェックサムが計算される間隔、つまり期限切れとなる間隔を設定します。このタイマーは、LSA 更新が実行される頻度を制御し、LSA 更新メッセージで送信される LSA 更新の数を制御します(「フラッディングと LSA グループ ペーシング」を参照)。
• Throttle LSAs:LSA 生成のレート制限を設定します。このタイマーは、トポロジが変更された後に LSA が生成される頻度を制御します。
• Throttle SPF calculation:SPF 計算の実行頻度を制御します。
インターフェイス レベルでは、次のタイマーも制御できます。
• Retransmit interval:連続する LSA 間の推定時間間隔を設定します。
• Transmit delay:LSA をネイバーに送信する推定時間を設定します。
hello 間隔とデッド タイマーに関する情報の詳細については、「OSPFv3 でのネットワークの設定」を参照してください。
手順の概要
1. configure terminal
2. router ospfv3 instance-tag
3. timers lsa-arrival msec
4. timers lsa-group-pacing seconds
5. timers throttle lsa start-time hold-interval max-time
6. address-family ipv6 unicast
7. timers throttle spf delay-time hold-time
8. interface type slot/port
9. ospfv3 retransmit-interval seconds
10. ospfv3 transmit-delay seconds
11. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router ospfv3 instance-tag 例: switch(config)# router ospfv3 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 3 |
timers lsa-arrival msec 例: switch(config-router)# timers lsa-arrival 2000 |
LSA 到着時間をミリ秒で設定します。指定できる範囲は 10 ~ 600000 です。デフォルトは 1000 ミリ秒です。 |
ステップ 4 |
timers lsa-group-pacing seconds 例: switch(config-router)# timers lsa-group-pacing 200 |
LSA がグループ化される間隔を秒で設定します。指定できる範囲は 1 ~ 1800 です。デフォルトは 10 秒です。 |
ステップ 5 |
timers throttle lsa start-time hold-interval max-time 例: switch(config-router)# timers throttle lsa network 350 5000 6000 |
LSA 生成のレート制限をミリ秒で設定します。次のタイマーを設定できます。 start-time :指定できる範囲は 50 ~ 5000 ミリ秒です。デフォルト値は 50 ミリ秒です。 hold-interval :指定できる範囲は 50 ~ 30,000 ミリ秒です。デフォルト値は 5000 ミリ秒です。 max-time :指定できる範囲は 50 ~ 30,000 ミリ秒です。デフォルト値は 5000 ミリ秒です。 |
ステップ 6 |
address-family ipv6 unicast 例: switch(config-router)# address-family ipv6 unicast switch(config-router-af)# |
IPv6 ユニキャスト アドレス ファミリ モードを開始します。 |
ステップ 7 |
timers throttle spf delay-time hold-time 例: switch(config-router)# timers throttle spf 3000 2000 |
SPF 最適パス スケジュール初期遅延時間と、各 SPF 最適パス計算間の最小ホールド タイム(秒単位)を設定します。指定できる範囲は 1 ~ 600000 です。デフォルトは、遅延時間なし、およびホールド タイム 5000 ミリ秒です。 |
ステップ 8 |
interface type slot/port 例 : switch(config)# interface ethernet 1/2 switch(config-if)# |
インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 9 |
ospfv3 retransmit-interval seconds 例: switch(config-if)# ospfv3 retransmit-interval 30 |
このインターフェイスから送信される各 LSA 間の推定時間間隔を設定します。範囲は 1 ~ 65535 です。デフォルトは 5 です。 |
ステップ 10 |
ospfv3 transmit-delay seconds 例: switch(config-if)# ospfv3 transmit-delay 600 switch(config-if)# |
LSA をネイバーに送信する推定時間間隔を秒で設定します。指定できる範囲は 1 ~ 450 です。デフォルトは 1 です。 |
ステップ 11 |
copy running-config startup-config 例: switch(config-if)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、lsa-group-pacing オプションで LSA フラッディングを制御する例を示します。
switch# configure terminal
switch(config)# router ospf 201
switch(config-router)# timers lsa-group-pacing 300
switch(config-router)# copy running-config startup-config
グレースフル リスタートの設定
グレースフル リスタートは、デフォルトでイネーブルにされています。OSPFv3 インスタンスのグレースフル リスタートには、省略可能な次のパラメータを設定できます。
• Grace period:グレースフル リスタートの開始後に、ネイバーが隣接関係を解消するまでに待つ時間を設定します。
• Helper mode disabled:ローカル OSPFv3 インスタンスのヘルパー モードをディセーブルにします。OSPFv3 は、ネイバーのグレースフル リスタートには関与しません。
• Planned graceful restart only:予定された再起動の場合にのみグレースフル リスタートがサポートされるよう、OSPFv3 を設定します。
はじめる前に
OSPFv3 をイネーブルにします(「OSPFv3 のイネーブル化」を参照)。
すべてのネイバーで、一致した省略可能なパラメータ一式とともにグレースフル リスタートが設定されていることを確認します。
手順の概要
1. configure terminal
2. router ospfv3 instance-tag
3. graceful-restart
4. graceful-restart grace-period seconds
5. graceful-restart helper-disable
6. graceful-restart planned-only
7. (任意)show ipv6 ospfv3 instance-tag
8. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router ospfv3 instance-tag 例: switch(config)# router ospfv3 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 3 |
graceful-restart 例: switch(config-router)# graceful-restart |
グレースフル リスタートをイネーブルにします。グレースフル リスタートは、デフォルトでイネーブルにされています。 |
ステップ 4 |
graceful-restart grace-period seconds 例: switch(config-router)# graceful-restart grace-period 120 |
猶予期間を秒で設定します。指定できる範囲は 5 ~ 1800 です。デフォルトは 60 秒です。 |
ステップ 5 |
graceful-restart helper-disable 例: switch(config-router)# graceful-restart helper-disable |
ヘルパー モードをディセーブルにします。デフォルトでは、イネーブルです。 |
ステップ 6 |
graceful-restart planned-only 例: switch(config-router)# graceful-restart planned-only |
予定された再起動時にのみグレースフル リスタートを設定します。 |
ステップ 7 |
show ipv6 ospfv3 instance-tag 例 : switch(config-if)# show ipv6 ospfv3 201 |
(任意)OSPFv3 情報を表示します。 |
ステップ 8 |
copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、ディセーブルにされているグレースフル リスタートをイネーブルにし、猶予期間を 120 秒に設定する例を示します。
switch# configure terminal
switch(config)# router ospfv3 201
switch(config-router)# graceful-restart
switch(config-router)# graceful-restart grace-period 120
switch(config-router)# copy running-config startup-config
OSPFv3 インスタンスの再起動
OSPv3 インスタンスを再起動できます。この処理では、インスタンスのすべてのネイバーが消去されます。
OSPFv3 インスタンスを再起動して、関連付けられたすべてのネイバーを削除するには、次のコマンドを使用します。
|
|
restart ospfv3 instance-tag 例: switch(config)# restart ospfv3 201 |
OSPFv3 インスタンスを再起動して、すべてのネイバーを削除します。 |
仮想化による OSPFv3 の設定
複数の OSPFv3 インスタンスを設定できます。また、複数の VRF を作成し、各 VRF で同じ OSPFv3 インスタンスまたは複数の OSPFv3 インスタンスを使用することもできます。VRF には OSPFv3 インターフェイスを割り当てます。
(注) インターフェイスの VRF を設定した後に、インターフェイスの他のすべてのパラメータを設定します。インターフェイスの VRF を設定すると、そのインターフェイスのすべての設定が削除されます。
手順の概要
1. configure terminal
2. vrf context vrf_name
3. router ospfv3 instance-tag
4. vrf vrf-name
5. (任意)maximum-paths paths
6. interface type slot/port
7. vrf member vrf-name
8. ipv6 address ipv6-prefix/length
9. ipv6 ospfv3 instance-tag area area-id
10. (任意)copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal 例: switch# configure terminal switch(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
vrf context vrf-name 例: switch(config)# vrf context RemoteOfficeVRF switch(config-vrf)# |
新しい VRF を作成し、VRF コンフィギュレーション モードを開始します。 |
ステップ 3 |
router ospfv3 instance-tag 例: switch(config)# router ospfv3 201 switch(config-router)# |
新規 OSPFv3 インスタンスを作成して、設定済みのインスタンス タグを割り当てます。 |
ステップ 4 |
vrf vrf-name 例: switch(config-router)# vrf RemoteOfficeVRF switch(config-router-vrf)# |
VRF コンフィギュレーション モードを開始します。 |
ステップ 5 |
maximum-paths paths 例: switch(config-router-vrf)# maximum-paths 4 |
(任意)この VRF のルート テーブル内の宛先への、同じ OSPFv3 パスの最大数を設定します。このコマンドはロード バランシングに使用します。 |
ステップ 6 |
interface type slot/port 例 : switch(config)# interface ethernet 1/2 switch(config-if)# |
インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 7 |
vrf member vrf-name 例: switch(config-if)# vrf member RemoteOfficeVRF |
このインターフェイスを VRF に追加します。 |
ステップ 8 |
ipv6 address ipv6-prefix/length 例: switch(config-if)# ipv6 address 2001:0DB8::1/48 |
このインターフェイスの IP アドレスを設定します。このステップは、このインターフェイスを VRF に割り当てたあとに行う必要があります。 |
ステップ 9 |
ipv6 ospfv3 instance-tag area area-id 例: switch(config-if)# ipv6 ospfv3 201 area 0 |
設定した OSPFv3 インスタンスおよびエリアに、このインターフェイスを割り当てます。 |
ステップ 10 |
copy running-config startup-config 例: switch(config)# copy running-config startup-config |
(任意)この設定の変更を保存します。 |
次に、VRF を作成して、その VRF にインターフェイスを追加する例を示します。
switch# configure terminal
switch(config)# vrf context NewVRF
switch(config-vrf)# exit
switch(config)# router ospfv3 201
switch(config-router)# exit
switch(config)# interface ethernet 1/2
switch(config-if)# vrf member NewVRF
switch(config-if)# ipv6 address 2001:0DB8::1/48
switch(config-if)# ipv6 ospfv3 201 area 0
switch(config-if)# copy running-config startup-config