IP : IP ルーティング

異なる OSPF プロセス間の OSPF 再配布

2005 年 9 月 30 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 1 月 23 日) | フィードバック

目次

概要
2 つの OSPF プロセス間で再配布を行う理由
      OSPF ルートのフィルタリング
      異なる OSPF ドメインの分離
異なる OSPF プロセス間の再配布
      OSPF ルート優先ルール
      単一の再配布ポイント
      2 つの再配布ポイント
提案するソリューション
      distance 255 コマンドの使用
      タグに基づくルートのフィルタリング
      再配布中の match internal キーワードの使用
      プレフィックスベースのフィルタリング
      プレフィックスベースのフィルタリングおよびプレフィクスベースのアドミニストレーティブ ディスタンス
要約
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

この文書では、異なるプロセス間の Open Shortest Path First(OSPF)の再配布に関するガイドラインを提供します。 異なるプロセス間での再配布には困難が伴い、ネットワークが適切に動作するには特別な方法が必要です。 この文書では、Cisco IOS(R) ソフトウェアに加えられた変更点についても説明します。

2 つの OSPF プロセス間で再配布を行う理由

複数のプロセス間で再配布が必要になるのには、いくつかの理由があります。 たとえば、次のような理由からです。

  • ドメインの各部からの OSPF ルートをフィルタリングするため。

  • 異なる OSPF ドメインを分離するため。

  • 異なるドメイン間の移行。

特定の状況においては異なるプロセス間の再配布が必要になりますが、このセクションのサブセクションで説明するとおり、代替の設計ソリューション(可能であれば)を採用する方が適切です。

OSPF ルートのフィルタリング

エリア内ルート

OSPF では、エリア内の IP プレフィクスがルータ間で直接交換されることはありません。 これは、ネットワークのトポロジの通知も行う Link State Advertisement(LSA; リンクステート アドバタイズメント)の一部に含まれており、このため、エリア内のルートをフィルタリングする方法はありません。

注:ルータにおけるローカル フィルタリング(一部のルートが特定のルータにインストールされること防ぐために行う)は、実際のルート フィルタリングとはみなされません。 通常これは、ルータの OSPF での distribute-list コマンドの実行により行われます。

このソリューションとして、別のプロセスを使用して再配布ルータで目的のルートをフィルタリングする方法があります。しかし、この方法ではエリアを実際に 2 つのドメインに分割してしまいます。 より適切な設計として、エリアを別々のエリアに分割して、Cisco IOS タイプ 3 フィルタリング機能を使用する方法があります。これについては、後述します。

エリア間ルート

OSPF では、エリア内のすべてのルータが完全に同じトポロジを保持しています。 各エリアはその他のエリアのトポロジは認識していません。そのため、接続している Area Border Router(ABR; エリア境界ルータ)からの情報に依存しています。

ABR(タイプ 3 LSA として)によってエリアにアドバタイズされる情報は、実際には IP プレフィックスであり、リモート エリアから学習されたものや、その他の接続先エリアについて計算されたものです。

ABR から次のルートが生成されます。

  • バックボーンへ向かう非バックボーン エリア内ルート

  • 非バックボーン エリアに向かうバックボーン エリア内ルートおよびエリア間ルート

これによりエリア間には距離ベクトル型の動作が存在することになり、エリア間のルートをフィルタリングするのに使用できます。

Cisco IOS ソフトウェアにはエリア間フィルタリング機能が実装されています。 この機能の詳細については、『OSPF ABR タイプ 3 LSA フィルタリング』を参照してください。

外部ルート フィルタリング

外部ルートはタイプ 5 LSA としてアドバタイズされ、スタブ エリアおよび Not-So-Stubby Area(NSSA)を除いたドメイン全体にフラッディングされるため、現在のところ、タイプ 5 LSA をフィルタリングする方法はありません。 このソリューションとして、別のプロセスを使用して再配布中にプロセス間でフィルタリングする方法があります。 近いうちに、エリア境界でタイプ 5 フィルタリングを行う機能が Cisco IOS ソフトウェアでサポートされる予定です。

異なる OSPF ドメインの分離

管理目的、ルーティング ドメインのセグメント化、または再配布ポイントにおけるルーティング情報の制御のために、異なる OSPF プロセスを使用して異なる IP ルーティング ドメインを分離する手法が一般的に使用されています。

しかし、この方法では、1 つのドメインが不安定になった場合、他のドメインに影響が及ぶ可能性があります。 たとえば、2 つのドメイン間に Autonomous System Boundary Router(ASBR; 自律システム境界ルータ)が存在する OSPF ネットワーク(タイプ 1 および 2)に変更が加えられた場合、すべてのタイプ 5 LSA が再生成され、リモート ドメインにフラッディングされます。 このため、ネットワーク内に常に不安定な箇所があった場合、他方のドメインでタイプ 5 LSA の注入と取り消しが継続的に発生する可能性があります。

より適切な設計として、異なるドメイン間で Border Gateway Protocol(BGP; ボーダー ゲートウェイ プロトコル)を使用する方法があります。 この場合、異なるドメイン間の OSPF 交換が BGP を通して行われます。BGP にはダンプニング機能があるため、1 つのドメインが不安定であった場合の他方のドメインへの影響は少なくなります。

異なる OSPF プロセス間の再配布

前述のように、複数プロセス間の再配布の代替として使用できるソリューションがある場合もあります。 このセクションでは、異なるプロセス間の再配布をどのように慎重に計画する必要があるかを、再配布ポイントの数別に説明します。

OSPF ルート優先ルール

OSPF ルート選択ルールでは、エリア内ルートがエリア間ルートよりも優先されます。エリア間ルートは外部ルートよりも優先されます。 このルールは、同一プロセスから学習したルートに適用されるものです。 つまり、1 つのプロセスからの外部ルートと他のプロセスからの内部ルートには、優先順位がありません

特定の OSPF プロセスとその他のプロセス(OSPF または他のルーティング プロトコル)間の優先ルールは、アドミニストレーティブ ディスタンス ルールに従います。 ただしデフォルトでは、異なる OSPF プロセスに同じアドミニストレーティブ ディスタンスが設定されるので、各 OSPF プロセスに OSPF ディスタンスを明示的に設定して、期待どおりの動作が得られるようにします。

注:Cisco Bug ID CSCdi7001登録ユーザ専用) - Cisco IOS ソフトウェア リリース 11.1 以降で修正 - より前では、プロセス間のアドミニストレーティブ ディスタンスが正しく機能せず、1 つのプロセスの内部ルートが、他のプロセスの外部ルートよりも優先されていました。
一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。

単一の再配布ポイント

再配布ポイントが 1 つの場合、ドメイン間のすべての交換が単一ポイントで行われるため、再配布ループが発生することはありません。 この設定例を示します。

図 1

ospfprocesses_01.gif

ルータ A の設定

  router ospf 1
  redistribute ospf 2 subnet
  router ospf 2
  redistribute ospf 1 subnet

2 つの再配布ポイント

再配布ポイントが 2 つある場合、状況は複雑になります。 特別な配慮をせずにネットワークの両ポイントで再配布を行った場合、予想外の結果が生じる可能性があります。

次のトポロジでは、ルータ A とルータ B が相互に両ドメイン間で再配布を行っています。 このセクションで後述するとおり、この設定は機能しません

図 2

ospfprocesses_02.gif

ルータ A および B の設定

  router ospf 1
  redistribute ospf 2 subnet
  router ospf 2
  redistribute ospf 1 subnet

ドメイン 1 のネットワーク N に関して、ルータ A とルータ B は、ネットワーク N をドメイン 1 内の内部ルートとして学習します。これらのルータはプロセス 1 からプロセス 2 への再配布を行っているので、同じネットワーク N が、ドメイン 2 内で外部ルートとして学習されます。

各ルータで、1 つのプロセスから学習した内部ネットワークが、別のプロセスの外部ネットワークと比較されます。 前述のとおり、異なるプロセス間には優先ルールが存在しないため、両方のプロセスが同じアドミニストレーティブ ディスタンスを持つことになり、この結果は確定的ではありません。

注:これにより、1 つのプロセスから別のプロセスへのタイプ 5 の注入と取り消しが継続的に発生する可能性があります。

Cisco Bug ID CSCdw10987登録ユーザ専用)での対応(Cisco IOS ソフトウェア リリース 12.2(07.04)S、12.2(07.04)T、およびそれ以降に統合済み)より前では、Shortest Path First(SPF; 最短パス優先)アルゴリズムを作成する最後のプロセスが優先され、2 つのプロセスがルーティング テーブル内で他のルートを上書きします。 現在では、ルートが 1 つのプロセスからインストールされた場合、ルーティング テーブルにそのルートを最初にインストールしたプロセスが、ルーティング テーブルからルートを最初に削除しない限り、そのルートが同じ Administrative Domain(AD; 管理ドメイン)内の別の OSPF プロセスによって上書きされることはありません。
一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。

アドミニストレーティブ ディスタンス

複数プロセス間で再配布を行う場合、OSPF ルート優先ルールが適用されるのは同一プロセス内だけなので、アドミニストレーティブ ディスタンスを使用して、1 つのプロセスが他のプロセスよりも優先されるようにできます。 ただし、このセクションで後述するとおり、この設定だけではネットワークを適正に稼動させることはできません。

図 3

ospfprocesses_03.gif

ルータ A および B の設定

  router ospf 1
  redistribute ospf 2 subnet
  distance ospf external 200
  router ospf 2
  redistribute ospf 1 subnet
  distance ospf external 200
  

ネットワーク障害のないネットワーク稼動

ドメイン 1 のネットワーク N に関して、N はドメイン 1 内の内部ルートとして認識され、ルータ A とルータ B の両方によって再配布されます。外部ルートのアドミニストレーティブ ディスタンスを増やしてあるので、ルータ A とルータ B は、ネットワーク N に到達するのに OSPF プロセス 1 を選択します。

より一般的に説明すると、ルータ A および B は、ドメイン 1 のすべての内部ネットワークにはドメイン 1、ドメイン 2 のすべての内部ネットワークにはドメイン 2 を通して、それぞれ到達します。各ドメイン内のその他のルータは、一番近い ASBR(メトリック タイプ 2 が使用されている場合)または ASBR の 1 つからの最短パス(メトリック タイプ 1 が使用されている場合)を選択します。

両ドメインに対して外部のプレフィクス(その他の再配布ポイントから受信)がある場合は、これらの外部ルートのアドミニストレーティブ ディスタンスが両方のプロセスで同じであるため、引き続き同じ問題が発生します。 外部プロセスのアドミニストレーティブ ディスタンスを変更しても、問題は解決しません。次に例を示します。

図 4

ospfprocesses_04.gif

ルータ C(ASBR)はドメイン 1 に外部 N をアドバタイズします。このプレフィクスは、ルータ A およびルータ B によってドメイン 2 に再配布され、各ルータに到達します。このため N は、両ドメインにおいて外部となります。 適正に稼動させるためには、外部ルートのアドミニストレーティブ ディスタンスを 2 つのプロセスで別の値に設定し、1 つのドメインがもう一方のドメインよりも優先されるようにします。 ここでは、ドメイン 1 のアドミニストレーティブ ディスタンスを、ドメイン 2 よりも低く設定します。

次に、ルータ D(ASBR)がドメイン 2 に外部 M をアドバタイズする場合、このプレフィクスは、ルータ A およびルータ B によってドメイン 1 に再配布され、各ルータに到達します。 このため M は、両ドメインにおいて外部となり、ドメイン 1 のアドミニストレーティブ ディスタンスの方が低いため、M にはドメイン 1 を通して到達可能です。次の一連のイベントが発生する可能性があります。

  1. ルータ A(ルータ B)がドメイン 1 に M を再配布し、外部 M がルータ B(ルータ A)に到達します。

  2. ドメイン 1 のアドミニストレーティブ ディスタンスがドメイン 2 よりも低いため、ルータ A(ルータ B)はドメイン 1 を通して M をインストールし、ドメイン 1 に生成した LSA(イベント 1)に maxage(最大エージング)を設定します。

  3. M がドメイン 2 で maxage に設定されたため、ルータ A(ルータ B)はドメイン 2 を通して M をインストールします。そのため、ドメイン 2 に M を再配布します。

  4. イベント 1 と同じ。

このサイクルが繰り返されます。これを修正するには、ドメイン 2 のプレフィックスにドメイン 2 を通して到達できるようにします。しかし、ドメイン 2 のアドミニストレーティブ ディスタンスを低く設定すると、ドメイン 1 とプレフィックス N について同じ問題が発生します。

これを解決するには、アドミニストレーティブ ディスタンスをプレフィクスに基づいて設定します。 詳細については、「プレフィックスベースのフィルタリング」および「プレフィックスベースのフィルタリングおよびプレフィクスベースのアドミニストレーティブ ディスタンス」のセクションを参照してください。

ネットワーク障害のあるネットワーク稼動

ドメインへの到達が不能になった場合に備え、このドメインのバックアップ用のドメインが必要になる場合があります。

たとえば、ルータ A でドメイン 1 を通したネットワーク N への接続性が失われたとします。ドメイン 1 を通した接続性が失われたた場合、ルータ A は、ネットワーク N をドメイン 2 にアドバタイズした、以前に生成した LSA をフラッシュし、B から受信した外部ネットワークを使用して、ドメイン 2 を通したネットワーク N へのパスをインストールします。プロセス 2 はプロセス 1 に再配布されるので、ルータ A はドメイン 1 に外部ネットワーク N の注入も行います。

注:ルータ A がネットワーク N への接続性を維持していたときには、アドミニストレーティブ ディスタンスが低いことからプロセス 1 が使用され、プロセス 2 はバックアップ情報として維持されていました。 プロセス 1 を通したパスが到達不能になると、接続にプロセス 2 が使用されます。

図 5

ospfprocesses_05.gif

これで、ドメイン 2 のすべてのルータがルータ B を使用してネットワーク N に到達するようになりました。ルータ A(または、ドメイン 1 をとおしたネットワーク N への接続性を失った、ドメイン 1 の部分)は、ネットワーク N への接続にドメイン 2 を使用します。このシナリオは、ルータ A ではなく、ルータ B がネットワーク N への接続性を失った場合にも該当するシナリオです。

ルータ A とルータ B の両方が、ネットワーク N への接続性を失った場合(たとえば、ルータ C のダウン)、次の一連のイベントが発生する可能性があります。

  1. ネットワーク N への到達が不能になる前は、ルータ A とルータ B はプロセス 1 からネットワーク N を学習しており、それをプロセス 2 に外部ルートとして再配布していました。

  2. ルータ A とルータ B では(ほぼ同時に)、ネットワーク N にドメイン 1 を通して到達できなくなったことが検出されます。このため、ドメイン 2 で以前の外部 N をフラッシュします。

  3. ルータ A(ルータ B)は、フラッシュされた LSA をルータ B(ルータ A)から受信する前に、バックアップ ルートとして、ドメイン 2 を通した外部 N(高いアドミニストレーティブ ディスタンス)をインストールします。

  4. ルータ A(ルータ B)ではプロセス 2 から N をインストールしているので、ドメイン 1 に外部 N を生成します。

  5. ルータ A(ルータ B)がフラッシュされた LSA(イベント 1)をルータ B(ルータ A)から受信します。 これにより、プロセス 2 からのネットワーク N が削除されるため、ドメイン 1 で外部 N がフラッシュされます。ネットワーク N はドメイン 2 を通して学習された上で、ドメイン 1 に再配布されたものです。

  6. ルータ A(ルータ B)は、フラッシュされた LSA をルータ B(ルータ A)から受信する前に、ドメイン 1 を通して外部ネットワーク N をインストールします。N がドメイン 2 を通してフラッシュされているからです。

  7. ルータ A(ルータ B)はプロセス 1 を通してネットワーク N をインストールしているので、ドメイン 2 に外部 N を生成します。

1 つのドメインから他のドメインの間で、競合条件が発生することがわかります。 イベント 1、4、および 7 で、ルータ A はドメイン 2 に外部ネットワーク N を生成し、イベント 2 および 5 で、ルータ A はプレフィックスを取り消しています。 この問題は、1 つのドメインから学習したルートが、同じドメインに再配布されているために発生します。

提案する解決方法

このセクションでは、あるドメインに属するルートが同じドメインに再配布されないようにして、ルーティング ループの発生を防ぐ方法について説明します。

distance 255 コマンドの使用

前のセクションでは、あるドメインから学習したプレフィックスが同じドメインに再配布されたときに、どのようにルーティング ループが発生するかについて説明しました。 再配布はルーティング テーブルを元に行われるので、ドメイン 1 に属しながら、ドメイン 2 を通してリモート ルータから学習されたルートが、ルーティング テーブルにインストールされるのを防止できます。 これにより、ルータが、それらのルートをドメイン 1 に再配布で戻すことがなくなります。

これを実行するには、distance 255 router_ID inverse_mask access-list コマンドを発行します。 このコマンドにより、指定したルータ ID を持つリモート ルータで受信され、Access Control List(ACL; アクセス コントロール リスト)に一致したすべてのプレフィックスをルーティング テーブルで拒否するようにルータに指示します。

注:distance 255 コマンドにより、これらのルートにはディスタンス 255 が付与されるので、これらのルートはルーティング テーブルに格納されなくなります。

図 6 では、ルータ A で access-list 1 コマンドにより、ドメイン 1 内のすべてのルートを照合して、プロセス 1 で distance 255 コマンドを発行し、ルータ B から受信した、ドメイン 1 に属するプレフィックスに一致するルートを拒否しています。

distance 255 コマンドを使用すると、ルータ B から受信したドメイン 1 に属するルートがすべて拒否されます。ルータ B からはドメイン 1 のすべてのルートがドメイン 2 に再配布されますが、これらのルートがルータ A にインストールされ、ドメイン 1 に再び再配布されることはありません。

注:ルータ B のドメイン 1 の接続インターフェイスは、ACL から除外しておく必要があります。

図 6

ospfprocesses_03.gif

ルータ A の設定

ルータ B の設定

  router ospf 1
  redistribute ospf 2 subnet
  distance 255 <Router B> 0.0.0.0 2
  !
  access-list 1
  
  !--- ドメイン 2 のルータを照合します。
  
  router ospf 2
  redistribute ospf 1 subnet
  distance 255 <Router B> 0.0.0.0 1
  !
  access-list 2
  
  !--- ドメイン 1 のルータを照合します。
  
  
  router ospf 1
  redistribute ospf 2 subnet
  distance 255 <Router A> 0.0.0.0 2
  !
  access-list 1
  
  !--- ドメイン 2 のルータを照合します。
  
  router ospf 2
  redistribute ospf 1 subnet
  distance 255 <Router A> 0.0.0.0 1
  !
  access-list 2
  
  !--- ドメイン 1 のルータを照合します。
  
  

プロセスの 1 つを通してリモート ルータから学習されたルートがインストールされなくなったので、前述の distance ospf external 200 コマンドは必要なくなります。

この設定は、両方のルータがネットワークへの接続性を失った場合に適正に動作します(「ネットワーク障害のないネットワーク稼動」および「ネットワーク障害のあるネットワーク稼動」を参照)。 ところが、ルーティング テーブルでプレフィックスが拒否されるので、ドメイン間でのバックアップは実現できません。

注:各ドメインのすべてのプレフィックスを ACL に明示的に列挙する必要があります。 このような ACL のメンテナンスには困難が伴います。

タグに基づくルートのフィルタリング

Cisco IOS ソフトウェアには、タグに基づいてルートをフィルタリングできる新機能(Cisco Bug ID CSCdt43016登録ユーザ専用)に対応)が搭載されています。 あるドメインからのルートが同じドメインに再配布されることを防ぐため、再配布中に、ドメインに属するルートに対してルータでタグ付けを行います。リモート ルータで、そのタグを基にしてそれらのルートをフィルタリングできます。 ルーティング テーブルにルートがインストールされなくなるので、ルートが同じドメインに再配布されることはありません。
一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。

図 7

ospfprocesses_03.gif

ルータ A および B の設定

  router ospf 1
  redistribute ospf 2 subnet tag 1
  distribute-list 1 route-map filter_domain2 in
  !
  route-map filter_domain2 deny 10
  match tag 2
  route-map filter_domain2 permit 20
  router ospf 2
  redistribute ospf 1 subnet tag 2
  distribute-list 1 route-map filter_domain1 in
  !
  route-map filter_domain1 deny 10
  match tag 1
  route-map filter_domain1 permit 20

ドメイン 1 からの再配布の場合、ルートにはタグ 1 が付与され、そのタグを基にリモート ルータでフィルタリングされます。 ドメイン 2 からの再配布の場合、ルートにはタグ 2 が付与され、そのタグを基にリモート ルータでフィルタリングされます。

注:プロセスの 1 つを通してリモート ルータから学習されたルートがインストールされなくなったので、前述の distance ospf external 200 コマンドは必要なくなります。

この設定は、両方のルータがネットワークへの接続性を失った場合に適正に動作します(「ネットワーク障害のないネットワーク稼動」および「ネットワーク障害のあるネットワーク稼動」を参照)。 ところが、ルーティング テーブルでプレフィックスが拒否されるので、ドメイン間でのバックアップは実現できません。

再配布中の match internal キーワードの使用

ドメインから再配布する際、match internal キーワードを使用すると、1 つのドメインに属する内部ルートだけが別のドメインに再配布されるようにできます。 これにより、すでに外部となっているプレフィックスが同じドメインに再配布されることを防ぐことができます。

図 8

ospfprocesses_03.gif

ルータ A および B の設定

  router ospf 1
  redistribute ospf 2 subnet match internal
  distance ospf external 200
  !
  router ospf 2
  redistribute ospf 1 subnet match internal
  distance ospf external 200
  !

この設定は、両方のルータがネットワークへの接続性を失った場合に適正に動作します(「ネットワーク障害のないネットワーク稼動」および「ネットワーク障害のあるネットワーク稼動」を参照)。 1 つのドメインで、もう一方のドメインをバックアップできます。

再配布されるのは内部プレフィックスだけなので、いずれかのドメインにすでに外部プレフィクス(他のプロトコルを通して再配布された外部プレフィックスなど)がある場合でも、それらのプレフィックスが他のドメインに再配布されることはありません。 また、外部プレフィックスを制御することはできません。すべての外部プレフィックスはブロックされます。

プレフィックスベースのフィルタリング

ドメインから再配布する際、プレフィックスを ACL と照合して、あるドメインに属するプレフィクスが同じドメインに再配布されることを防ぐことができます。

図 9

ospfprocesses_03.gif

ルータ A および B の設定

  router ospf 1
  redistribute ospf 2 subnet route-map filter_domain2
  distance ospf external 200
  !
  route-map filter_domain2 permit 10
  match ip address 1
  !
  access-list 1
  
  !--- ドメイン 1 のプレフィクスを照合します。
  
  router ospf 2
  redistribute ospf 1 subnet route-map filter_domain1
  distance ospf external 200
  !
  route-map filter_domain1 permit 20
  match ip address 2
  !
  access-list 2
  
  !--- ドメイン 2 のプレフィクスを照合します。
  
  

この設定は、両方のルータがネットワークへの接続性を失った場合に適正に動作します(「ネットワーク障害のないネットワーク稼動」および「ネットワーク障害のあるネットワーク稼動」を参照)。 1 つのドメインで、もう一方のドメインをバックアップできます。

注:各ドメインのすべてのプレフィックスを ACL に明示的に列挙する必要があります。 このような ACL のメンテナンスには困難が伴います。 別の方法として、再配布中にプレフィクスにタグ付けを行い、対応するタグをフィルタリングする方法があります。

図 10

ospfprocesses_03.gif

ルータ A および B の設定

  router ospf 1
  redistribute ospf 2 subnet tag 1 route-map filter_domain2
  distance ospf 2 external 200
  !
  route-map filter_domain2 deny 10
  match tag 2
  route-map filter_domain2 permit 20
  router ospf 2
  redistribute ospf 1 subnet tag 2 route-map filter_domain1
  distance ospf 1 external 200
  !
  route-map filter_domain1 deny 10
  match tag 1
  route-map filter_domain1 permit 20

プレフィックスベースのフィルタリングおよびプレフィクスベースのアドミニストレーティブ ディスタンス

アドミニストレーティブ ディスタンス」のセクションで説明したとおり、各ドメインに別の ASBR から生成された外部プレフィクスある場合には、プレフィクスベースのアドミニストレーティブ ディスタンスが必要になります。 次の例のトポロジでは、ASBR1 と ASBR2 がネットワーク X およびネットワーク Y を、ドメイン 1 とドメイン 2 にそれぞれ再配布しています。

この例では ACL を使用して、ドメインに属するすべてのプレフィックス(内部および外部)を照合し、distance コマンドを使用して、対応するドメインに最初から属していなかったプレフィックスのアドミニストレーティブ ディスタンスを増加させています。

図 11

ospfprocesses_06.gif

ルータ A および B の設定

  router ospf 1
  redistribute ospf 2 subnet route-map filter_domain2
  distance 200 0.0.0.0 255.255.255.255 2
  !
  route-map filter_domain2 permit 10
  match ip address 2
  !
  access-list 1
  
  !--- ドメイン 1 のプレフィクスを照合します。
  
  access-list 2
  
  !--- ドメイン 2 のプレフィクスを照合します。
  
  router ospf 2
  redistribute ospf 1 subnet route-map filter_domain1
  distance 200 0.0.0.0 255.255.255.255 1
  !
  route-map filter_domain1 permit 10
  match ip address 1
  !
  access-list 1
  
  !--- ドメイン 1 のプレフィクスを照合します。
  
  access-list 2
  
  !--- ドメイン 2 のプレフィクスを照合します。
  
  

プロセス 1 で実行された distance 200 0.0.0.0 255.255.255.255 2 コマンドにより、ドメイン 2 に属するすべてのプレフィクスのアドミニストレーティブ ディスタンスが 200 に設定されます。このため、ルータ A とルータ B は、ドメイン 1 に属するプレフィックスに到達するのにドメイン 1 を使用するようになります。

注:各ドメインのすべての外部プレフィックスを ACL に明示的に列挙する必要があります。 このような ACL のメンテナンスには困難が伴います。

要約

OSPF ドメイン間に再配布ポイントが複数ある場合、ルーティング ループが容易に発生します。 ルーティング ループの発生を防ぐには、ドメインに属するプレフィックスが同じドメインに再配布されないようにする必要があります。 また、OSPF プロセスのアドミニストレーティブ ディスタンスを正しく設定する必要があります。 この文書では、これに対する解決方法を 5 つ提案しました。

  • distance 255 コマンドの使用

  • タグを基にしたフィルタリング

  • 再配布中の match internal キーワードの使用

  • 再配布中のプレフィクスベースのフィルタリングの使用

  • プレフィックスベースのフィルタリングおよびプレフィクスベースのアドミニストレーティブ ディスタンスの使用

最初の 2 つのソリューションは、ドメインに属するルートがルーティング テーブルにインストールされることを防ぎます。これにより、同じドメインへの再配布が防止されます。

注:ルーティング テーブルでプレフィックスが拒否されるので、ドメイン間でのバックアップは実現できません。

必要であれば、後半の 3 つのソリューションを使用して、ドメイン間のバックアップを実現してください。 ただし、次の注意点があります。

  • match internal を使用するソリューションでは、プレフィックスの制御ができません。すべての外部プレフィックスの再配布がブロックされます。 つまり、別の ASBR からの外部プレフィックスがある場合、それらの LSA は、あるドメインから別のドメインへと再配布されません。

  • 再配布中にプレフィックスベースのフィルタリングを行うソリューションでは、あるドメインで別のドメインをバックアップできます。 ただし、バックアップが適正に行われるのは、もう一方の ASBR からの外部ルートが存在しない場合だけです。

  • プレフィックスベースのフィルタリングとプレフィックスベースのアドミニストレーティブ ディスタンスを使用するソリューションは、他の ASBR からの外部ルートがある場合でも別のドメインをバックアップできる唯一の方法です。

この文書では、1 つのドメインを使用して別のドメインをバックアップすることについて随所で述べてきました。 この「バックアップ」の意味は、ルータ A が特定のドメイン(ドメイン 1 など)を通したドメインの一部への接続性を失ったときに、別のドメイン(ドメイン 2)を使用して、ドメイン 1 を通して到達できない宛先に正しくルーティングできるということです。

ただし、プレフィクスが元のドメインに再配布されないためにドメインがパーティション化されている場合は、一方のドメインがパーティション化されたドメインのバックアップとなることはできません。この場合、プレフィックスが元のドメインに再配布される必要があります。 しかし、これにより、「アドミニストレーティブ ディスタンス」および「ネットワーク障害のあるネットワーク稼動」のセクションで説明したような別の問題が発生することになります。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 4170