BGP ルーティングのシミュレーション

この章では、Cisco Crosswork Planning がマルチ AS ネットワークをモデル化し、基本的な BGP ルーティングをシミュレートする方法について説明します。Cisco Crosswork Planning は、BGP ルーティング設定(ローカルプリファレンス、MED など)を直接エミュレートしません。代わりに、サービスプロバイダー向けの標準的な顧客、中継、および決済不要の取り決めなど、一般的なピアリングポリシーの大まかなモデリングを提供します。このモデルにより、ピアリングのロケーションと基本的なポリシーのバリエーションの影響を迅速かつ簡単に評価できます。

さらに、「外部エンドポイント」をデマンドの送信元および接続先として使用して、これらの大まかなモデルを、非常に複雑なポリシーベースのルーティング状況に拡張できます。デマンドと外部エンドポイントについては、デマンドを使用した送信元から接続先へのトラフィックフローのシミュレーションおよび外部エンドポイントを使用した高度なルーティングのシミュレーションを参照してください。

ここでは、次の内容について説明します。

内部および外部 AS タイプ

マルチ AS ネットワークをモデル化するために、各ノードに AS が割り当てられ、各 AS は [内部(internal)] または [外部(external)] として定義されます。Cisco Crosswork Planning 内の一般的なマルチ AS モデルは、次の要素で構成されています。

  • ネットワークの完全なトポロジを表す単一の内部 AS。

  • 隣接する外部 AS の個々のピアリングノード。

  • 内部 AS を外部 AS のノードに接続するピアリング回線。

一般に、ネットワークモデルには多数の外部 AS が含まれますが、通常、内部 AS は 1 つまたは少数のみです。外部 AS に含まれるすべてのノードは、一般に同じサイトに配置されますが、任意のサイトに配置することが可能です。

ASN とそれらのタイプは [ASのプロパティ(AS Properties)] ウィンドウで定義され、[AS] テーブルに一覧表示されます。ノードは、[ノードのプロパティ(Node Properties)] ウィンドウで AS に割り当てられます。

AS の設定

AS の作成

空の AS を作成するには、次の手順を実行します。AS を作成した後も、それにノードを関連付け、この AS と他の AS の間の関係を作成する必要があります。ノードと AS の関連付けおよびAS ルーティングポリシーの編集を参照してください。

Procedure


Step 1

プランファイルを開きます(プランファイルを開くを参照)。[ネットワーク設計(Network Design)] ページに表示されます。

Step 2

ツールバーから、[アクション(Actions)] > [挿入(Insert)] > [AS] の順に選択します。

または

右側にある [ネットワークサマリー(Network Summary)] パネルで、[AS] タブの [追加(Add)] アイコン をクリックします。

[AS] タブは、[詳細(More)] タブの下にあります。表示されていない場合は、[テーブルの表示/非表示(Show/hide tables)] アイコン([テーブルの表示/非表示(Show/Hide Tables)] アイコン)をクリックし、[AS] チェックボックスをオンにします。

Step 3

次の AS のプロパティを設定します。

  • [ASN]:AS 番号。番号または名前のテキスト文字列です。

  • [名前(Name)]:AS 名。

  • [タイプ(Type)]:内部 AS には完全なトポロジがあります。外部 AS には、ボーダーノードと仮想ノードだけのコラプストトポロジがあります。

  • [外部メッシュ(External mesh)]:デマンドメッシュを作成する場合、このオプションは Cisco Crosswork Planning に、外部メッシュを作成するかどうかを指示します。一方または両方の AS が [含める(Include)] に設定されている場合、Cisco Crosswork Planning は、外部 AS 間にメッシュを作成します(デフォルト)。両方が [除外(Exclude)] に設定されている場合、デマンドは作成されません。

  • [IGPプロトコル(IGP protocol)]:ドロップダウンから [OSPF]、[ISIS]、または [EIGRP] を選択します。

  • [説明(Description)]:AS の説明のテキスト。

Step 4

[送信(Submit)] をクリックして AS を作成します。

Step 5

ルーティングポリシーを変更するには、AS を選択し、[Edit] アイコン をクリックして、[AS 関係(AS Relationships)] タブを選択します(AS ルーティングポリシーの編集を参照)。


ノードと AS の関連付け

ノードを AS に関連付けるには、次の手順を実行します。

Procedure


Step 1

プランファイルを開きます(プランファイルを開くを参照)。[ネットワーク設計(Network Design)] ページに表示されます。

Step 2

右側にある [ネットワークサマリー(Network Summary)] パネルで、[ノード(Nodes)] テーブルから 1 つ以上のノードを選択します。

Step 3

[Edit] アイコン をクリックします。

Note

 

単一のノードを編集する場合は、[アクション(Actions)] 列の > [編集(Edit)] オプションを使用することもできます。

Step 4

[AS] ドロップダウンリストから、ノードを割り当てる AS を選択します。

Step 5

[保存(Save)] をクリックします。


AS ルーティングポリシーの編集

AS 関係を作成するには、ルーティングポリシーを設定します。

Procedure


Step 1

プランファイルを開きます(プランファイルを開くを参照)。[ネットワーク設計(Network Design)] ページに表示されます。

Step 2

右側にある [ネットワークサマリー(Network Summary)] パネルで、[AS] テーブルから AS を選択します。

Step 3

[Edit] アイコン をクリックするか、[アクション(Actions)] 列の > [編集(Edit)] オプションを使用します。

Step 4

[AS 関係(AS Relationships)] タブをクリックします。

Figure 1. AS 関係の編集

Step 5

設定する AS ペアを選択します。関係の各方向に個別の行があるため、それらを個別に設定できます。

Step 6

[Edit] アイコン アイコンをクリックし、[ルーティングポリシー(Routing policy)] を [MED を保持(Respect MEDs)] または [最短出口(Shortest Exit)] に設定します。詳細については、AS 間のデマンドのルーティング を参照してください。

Step 7

[Submit] をクリックします。


AS 間のデマンドのルーティング

内部 AS 間のルートの決定

単一の AS 内でルーティングされるデマンドには、トラフィックの発信元および終端先となる、指定された送信元ノードと接続先ノードがあります。接続している 2 つの内部 AS 間でルーティングされるデマンドは、同じ方法(最初の AS の送信元ノードと 2 番目の AS の接続先ノードを使用)で指定されます。

AS 内の Cisco Crosswork Planning のルート(境界出口ポイントを送信元または接続先とするルート)は、IGP プロトコルによって決定されます。境界出口ポイントの選択は、ルーティングポリシーによってモデル化されます。ルーティングポリシーは、[最短出口(Shortest Exit)] または [MEDを保持(Respect MEDs)] のいずれかに設定されます。このプロパティは、[AS関係の編集(Edit AS Relationships)] ウィンドウで設定されます。このウィンドウには、[ASの編集(Edit AS)] ウィンドウからアクセスできます。

  • [最短出口(Shortest Exit)]:送信元 AS の IGP 内で、送信元ノードに最も近い境界出口ノードが選択されます。同じである場合は、最小の BGP ID を持つ出口ノードが使用されます。

  • [MEDを保持(Respect MEDs)]:接続先 AS の IGP 内で、接続先ノードに最も近い境界出口ノードが選択されます。同じである場合は、最小の BGP ID を持つ出口ノードが選択されます。

外部 AS と内部 AS 間のルートの決定

Table 1に、2 つの AS 間で双方向のトラフィックにルーティングポリシーの異なる組み合わせを適用することによって構築できる一般的なルーティング設定を示します。

  • ピア関係では、両方向のルーティングは最短出口です。つまり、それぞれが独自の境界出口ポイントを制御します。

  • 顧客関係では、顧客が両方向のトラフィックの境界出口ポイントを決定します。

  • 中継関係では、中継 AS が内部 AS に有料の中継を提供するため、内部 AS がすべての境界出口ポイントを決定します。

Table 1. 一般的な AS ルーティング設定

[タイプ(Type)]

ポリシーの適用先

ポリシーの適用元

ピア

[最短出口(Shortest Exit)]

[最短出口(Shortest Exit)]

顧客

[MED を保持(Respect MEDs)]

[最短出口(Shortest Exit)]

中継

[最短出口(Shortest Exit)]

[MEDを保持(Respect MEDs)]

AS 内でルーティングされるトラフィックと同様に、AS 間でルーティングされるトラフィックはデマンドによって表されます。ただし、外部 AS との間のデマンドの場合は、外部 AS がデマンドの送信元または接続先として定義されます。必要に応じて、内部 AS のトラフィックの送信元または接続先となる、外部 AS の特定のノードも指定されます。

外部 AS 内のノード間のフェールオーバーをモデル化できます。たとえば、トラフィックの送信元が外部 AS である場合、通常動作時に内部 AS へのトラフィックの送信元となるピアリング回線で障害が発生すると、トラフィックは、同じ外部 AS に含まれる別のインターフェイスまたはピアリングノードから内部 AS に送信されます。[デマンド(Demands)] テーブルでは、送信元と接続先が次のように表されます。

AS{<ASN>}:if{node_name|interface_name}

例:AS{33287}:if{cr01.newyork.ny|POS3/7/0/0}

デマンドの送信元と接続先の詳細については、デマンドを使用した送信元から接続先へのトラフィックフローのシミュレーションを参照してください。

ルーティングを制御する AS は、使用するピアリングノードを選択します。内部 AS がルーティングを制御する場合、内部 AS のトポロジが既知であるため、ピアリングノードへのルーティングをシミュレートできます。ただし、外部 AS のトポロジに関して Cisco Crosswork Planning が持つ情報は限られているため、外部 AS がルーティングを制御する場合、トラフィックが出口ポイント間でどのように分散されるかは予測できません。

ルーティングを制御する AS は、AS タイプ、デマンドの方向、およびルーティングポリシーのプロパティによって決まります(Table 2を参照)。

Table 2. ルーティングを制御する AS の決定

方向

ルーティングポリシー

ルーティングを制御する AS

外部 AS から内部 AS へ(入力)

[MEDを保持(Respect MEDs)]

内線

[最短出口(Shortest Exit)]

外部

内部 AS から外部 AS へ(出力)

[MEDを保持(Respect MEDs)]

外部

[最短出口(Shortest Exit)]

内線

2 つの AS は、各方向で 2 つのルーティングポリシーのどちらを選択するかに応じて、4 つの異なるルーティング関係のいずれかになります(Table 3)。

  • 外部 AS が制御し、そのトポロジに関する情報がない場合に、トラフィックが外部 AS にルーティングされると、内部 AS の送信元から(または別の外部 AS から)一連のデマンドが作成され、それぞれの宛先が外部 AS に含まれるいずれかの境界ノードに設定されます。このようにして、出口ポイント間のトラフィックの分割をモデル化できます。

  • 内部 AS が制御する場合に、トラフィックが外部 AS にルーティングされると、送信元から AS 自体への単一のデマンドが作成されます。Cisco Crosswork Planning のシミュレーションでは、送信元に基づいて、この単一のデマンドの適切な出口ポイントが判定されます。

  • 外部 AS が制御する場合、トラフィックが外部 AS からルーティングされると、外部 AS の各ノードから内部 AS の各ノードへのデマンドが作成されます。

  • 内部 AS が制御する場合、外部 AS からトラフィックがルーティングされると、外部 AS を送信元として使用して内部 AS の各ノードへのデマンドが作成されます。デマンドは、接続先ノードに到達するためのトポロジとメトリックコストに応じて、外部 AS の 1 つ以上のノードから発信されます。たとえば、外部 AS から特定のノードへの単一のデマンドは、外部 AS に含まれる 2 つの異なるノードから送信されます(それぞれがデマンドトラフィックの 50% を伝送)。

Table 3. ルーティングポリシーとルーティング制御の影響

方向

ルーティングポリシー

ルーティングを制御する AS

リモート AS のデマンド送信元または接続先エンドポイント

デマンド数

外部 AS から内部 AS へ(入力)

[MEDを保持(Respect MEDs)]

内線

外部 AS 全体

1 つだけ

[最短出口(Shortest Exit)]

外部

ボーダーノード

ノードごとに 1 つ

内部 AS から外部 AS へ(出力)

[MEDを保持(Respect MEDs)]

外部

ボーダーノード

ノードごとに 1 つ

[最短出口(Shortest Exit)]

内線

外部 AS 全体

1 つだけ

外部メッシュの設定

外部メッシュは、[タイプ(Type)] プロパティが [外部(external)] である 2 つ以上の外部 AS で構成されます。内部 AS は通常、一部の外部 AS に対する BGP ルートのアドバタイズメントを他の外部 AS に制限します。たとえば、中継ネットワークを介して到達可能な接続先はピアにアドバタイズされず、その逆も同様です。Cisco Crosswork Planning では、これらの制限は、2 つの外部 AS 間にデマンドがないことによって表されます。

各 AS には [外部メッシュ(External mesh)] と呼ばれるプロパティがあり、Cisco Crosswork Planning は、デマンドメッシュをプランに挿入するときにこれを使用します。外部 AS のデマンドは、一方または両方の AS に [含める(include)] に設定された [外部メッシュ(External mesh)] がある場合にのみ作成されます。両方の AS が [除外(exclude)] に設定されている場合、外部 AS のデマンドは作成されません。たとえば、外部メッシュ制御 では、ピア AS と中継 AS の両方が [除外(Exclude)] に設定されるため、これらの AS 間でデマンドは作成されません。他のすべての外部 AS デマンドは、デマンドメッシュに含まれます。Table 1 は、一般的な AS 関係の外部メッシュ設定を示しています。

外部メッシュのプロパティは、[ASの編集(Edit AS)] ウィンドウで設定されます。

Table 4. 一般的な AS 関係の外部メッシュ設定

関係

外部メッシュ設定

結果

ピア

[除外(Exclude)]

顧客との間でのみ許可されるデマンド

顧客

[含める(Include)]

すべての外部 AS との間で許可されるデマンド

中継

[除外(Exclude)]

顧客との間でのみ許可されるデマンド

内部 AS の場合、[外部メッシュ(External mesh)] プロパティは無視されます。より複雑なルート アドバタイズメント ポリシーは、これらの単純な外部メッシュ設定では表すことができません。この場合、デマンドメッシュの作成は、複数の手順で(多くの場合、スクリプトを使用して)実行する必要があります。

Figure 2. 外部メッシュ制御

BGP ルーティングの詳細の把握

BGP マルチホップ

Cisco Crosswork Planning では、BGP マルチホップが検出されると、必要に応じて BGP 疑似ノードが自動的に構築されます。

Cisco Crosswork Planning は、たとえば eBGP を介して内部 AS のノードに直接接続されている外部 AS のノードをモデル化します。1 つの例外は、ノードの [タイプ(Type)] プロパティを [psn](疑似ノード)に設定(たとえば、ピアリング交換で発生する可能性がある)することで、BGP マルチホップをモデル化できることです。この疑似ノードで、複数の外部 AS ノードを同じ内部 AS ノードに接続するスイッチを表すことができます。この場合、複数の外部 AS ノードが回線によって BGP 擬似ノードに接続され、このノードは内部 AS のノードに接続されます。


Note


いずれの場合も、並列ボーダー回線をまたがる eBGP マルチパスが想定されます。

BGP ロード バランシング

外部 AS への BGP ロード バランシングは、eBGP マルチパスまたは eBGP マルチホップを使用します。Cisco Crosswork Planning は、これらの 2 つの eBGP ロードバランシング設計を同じ方法でモデル化しますが、UI ではマルチパスとしてのみ識別されます。BGP マルチパス オプションは、デフォルトでは無効になっています。

BGP マルチパス オプションをグローバルに設定するには、次の手順を実行します。

Procedure


Step 1

プランファイルを開きます(プランファイルを開くを参照)。[ネットワーク設計(Network Design)] ページに表示されます。

Step 2

ツールバーで、[] をクリックするか、[アクション(Actions)]、 > [編集(Edit)]、 > [ネットワークオプション(Network options)] の順に選択します。

[ネットワーク(Network)] オプションが開きます。

Step 3

[プロトコル(Protocols)] タブをクリックします。

Step 4

[BGP] セクションで、有効にする BGP マルチパスオプションごとに、ドロップダウンリストから [有効(Enabled)] を選択します。デフォルトでは、これらのオプションはすべて無効になっています。

  • EBGP マルチパス:内部 AS 内の eBGP マルチパスをオンにします。内部 AS を介した外部 AS へのデマンドルーティングは、等コスト BGP 出口ルートを持つ外部ルート間で分割されます。

  • [eBGPマルチパス着信(EBGP multipath incoming)]:すべての外部 AS の eBGP マルチパスをオンにします。外部 AS から内部 AS へのデマンドルーティングは、等コスト BGP 出口ルートを持つ外部ルート間で分割されます。

  • IBGP マルチパス:内部 AS 内の iBGP マルチパスをオンにします。内部 AS を介した外部 AS へのデマンドルーティングは、等コスト BGP 出口ルートへの内部パス間で分割されます。

Step 5

[保存(Save)] をクリックします。


BGP ネクストホップ

ネットワークには、パス選択で使用される BGP ネクストホップ IGP メトリックに関する 2 つの一般的な設定があります。一つは、iBGP ピアでネクストホップセルフを設定することです(ネクストホップセルフ = オン)。もう一つは、eBGP インターフェイスで IGP メトリックを設定するとともに、インターフェイスをパッシブ IGP インターフェイスに設定することでインターフェイス プレフィックスを IGP データベースに挿入することです(ネクストホップセルフ = オフ)。

Cisco Crosswork Planning には明示的なネクストホップセルフ設定がないため、ネクストホップセルフがオフであるかのようにパスをシミュレートします。つまり、出力ピアリングインターフェイスの IGP メトリックは、ピアリングルータまでの IGP 距離に含まれ、iBGP パス選択で使用されます。ただし、外部 AS へのネクストホップセルフは、その外部 AS へのすべての出力インターフェイスのメトリックを 0 に設定することで効果的にシミュレートできます。IGP メトリックは、[インターフェイスの編集(Edit Interface)] ウィンドウまたは [回線の編集(Edit Circuit)] ウィンドウで設定できます。

BGP ルーティング

Cisco Crosswork Planning のすべてのシミュレーションと同様に、AS ルーティングはデマンドを使用します。特定の障害シナリオおよびトラフィックレベルの IP シミュレーションでは、次の手順が実行されます。

Procedure


Step 1

デマンドが、確立された LSP(該当する場合)と、指定された障害シナリオを前提として指定された IGP プロトコルを使用してルーティングされます。

Step 2

インターフェイス使用率が、指定されたトラフィックレベルを使用してデマンドトラフィックから計算されます。

Cisco Crosswork Planning では、デマンドが存在しない場合でも、選択したノード間でルートを計算できます。この場合、最初の手順のみが適用されます。

BGP デマンドは、外部 AS 間でフェールオーバーしません。つまり、外部 AS との間で送受信されるすべてのトラフィックは、外部 AS へのピアリングが失敗した場合でも同じように動作します。外部エンドポイントを使用してこのデフォルトの動作を変更することにより、トラフィックがネットワークに出入りする特定の外部 AS ノードをシミュレートしたり、1 つのトラフィック送信元または接続先がダウンした場合でも別の外部 AS ノードからトラフィックが送信されたりトラフィックがそれらに配信されることを可能にするために優先順位を設定することができます。