内容

概要

前提条件

要件

使用するコンポーネント

背景説明

AIGP メトリック属性の概要

BGP ベスト パス選択アルゴリズムの変更

重要な考慮事項

レガシー ルータ向けの解決策

設定

AIGP 属性の伝送の有効化

AIGP の発信

AIGP タイブレークを無効化するノブ

レガシー ルータ向けの解決策

コスト コミュニティへの AIGP の変換

MED への AIGP の変換

確認

トラブルシュート

概要

このドキュメントでは、Cisco IOS® で Border Gateway Protocol（BGP）によって伝送される累積内部ゲートウェイプロトコル（AIGP）メトリック属性の設定方法について説明します。

前提条件

要件

このドキュメントに特有の要件はありません。

使用するコンポーネント

このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

背景説明

このセクションでは、AIGP メトリック属性の概要と、その使用に関する重要な考慮事項について説明します。

AIGP メトリック属性の概要

企業は、ネットワークが複数の内部ゲートウェイ プロトコル（IGP）で分割され、それぞれに 1 つの BGP 自律システムが存在するネットワーク設計の実装を希望する場合があります。これは、ネットワークの規模が大きくなりすぎて 1 つの IGP では対応できない場合に、優れた拡張性を求めて使用されます。BGP は、さもなければ IGP が伝送していたルートの一部を伝送するため、拡張に役立ちます。AIGP を使用する解決策は、さまざまな BGP 自律システムを一元的に管理制御するネットワークを対象にしています。

以下が一例です。

エンドツーエンド サービスはマルチプロトコル ラベル スイッチング（MPLS）VPN です。ネットワークに多数のプロバイダー エッジ（PE）ルータが存在する場合、IGP は非常に多くのルートを伝送する必要があります。これに対する解決策は、PE ルータのループバック インターフェイスを BGP に伝送させることです。MPLS ラベル スイッチド パス（LSP）での割り込みがエンドツーエンドで発生しないことを保証するために使用される解決策は、BGP IPv4 + ラベルを使用することです。つまり、PE ルータと境界ルータの間で RFC 3107 を使用して、異なる IGP ドメインを接続します。

この解決策に関する問題は、ネットワーク全体を通じて実行される IGP が 1 つも存在しないため、境界ルータまたは PE ルータがエンドツーエンドの最短メトリックに基づいてベストパスを決定することができないということです。この問題に対する解決策は、累積 IGP メトリック属性または AIGP メトリック属性と呼ばれる新しい BGP 属性です。この BGP の非推移的な属性はパスに関する累積メトリックを伝送するため、BGP スピーカーはそのパスのエンドツーエンド メトリックに関する情報を受け取ることができます。

BGP スピーカーは、ルートが転送される前に、ネクストホップ メトリックへのルートを AIGP メトリック属性の現在の値に追加する必要があります。

注：1 つのルートのパス比較は、経路選択の比較が行われた直後に実行されます。BGP ベスト パス選択アルゴリズムの詳細については、Cisco ドキュメントの『BGP で最適パスを選択するアルゴリズム』を参照してください。

この解決策は、Multi Exit Discriminator（MED）が IGP メトリックに設定される解決策に似ています。ただし、このケースでは、手順 6 （最も低い MED）でベスト パスが決定されます。この手順は、最短パスによってベスト パスが決まる手順 4 の後に行われます。手順 6 に到達する前に、ベスト パスがすでに見つかることが多くあります。AIGP の解決策では通常の BGP 決定が変更され、ルートがローカルでアドバタイズされたかどうかを判断するために、AIGP のチェックは手順 3 の後に実行されます。隣接する別の自律システム（AS）が BGP スピーカーとピア関係を構築した場合は、always-compare-med の値を有効にする必要があります。

AIGP メトリック属性は、BGP の累積 IGP メトリック属性である RFC 7311 で指定されています。コスト コミュニティの AIGP メトリック値を伝送するために、draft-retana-idr-aigp-cost-community（累積 IGP メトリックを伝送するためのコスト コミュニティの使用）で指定された手順が使用されます。

注：BGP AIGP メトリック属性は、異なるルーティング ドメインが BGP を通じて相互接続されているネットワークにおいて、最適なルーティングを実現します。

BGP ベスト パス選択アルゴリズムの変更

AIGP が使用される場合、BGP ベスト パス選択アルゴリズムに対する次のような変更が行われます。

- BGP ベスト パス選択アルゴリズムが変更され、手順 3（ルートをローカルでアドバタイズ）の直後と、ネクスト ホップの検証結果が有効であった直後に AIGP が比較されます。

- ルータが AIGP パスに対して AIGP パスを考慮する場合、AIGP メトリックの値がネクスト ホップへのメトリックに追加されます。

- ルータが非 AIGP パスに対して AIGP パスを考慮する場合、BGP は AIGP 属性をもつパスをデフォルトで選択します。

- 最も低い IGP メトリックを BGP のネクスト ホップと比較する場合、AIGP コストが考慮されます。

- ネクスト ホップへのルートに AIGP メトリックがある場合、そのメトリックはネクスト ホップ向けの IGP メトリックに追加されます。この合計がルートに関する新しい IGP メトリック（内部コスト）になります。これは、BGPルートが別の BGP ルートに対して再帰的である場合に発生します。

重要な考慮事項

ネットワーク内のIGPのタイプが異なる場合(Open Shortest Path First(OSPF)、Intermediate System-to-Intermediate System(IS-IS)、Enhanced Interior Gateway Routing Protocol(EIGRP))、AIGP属性を使用したメトリックが一貫性または良識になる可能性はほとんどありません。同じ IGP を異なるドメインで使用する場合、一貫性のある結果を保証するには、同じメトリック設定を使用する必要があります。

境界ルータまたは PE ルータが（AIGP から派生したメトリックに基づいて）複数のパスの中から決定できるようにするには、最初に複数のパスを受け取る必要があります。こうした理由から、Additional Path（ADD-Path）または Advertise Best External BGP 機能を有効にする必要がある場合があります。

AIGP 用に有効化された BGP ピアと、そうでない BGP ピアは、別々のアップデート グループに配置されます。さらに、コスト コミュニティで AIGP 用に有効化された BGP ピアは、別々のアップデート グループに配置されます。

レガシー ルータ向けの解決策

AIGP に対応できないルータ （レガシー ルータ）がネットワークに存在する場合は、可能性のある解決策は 2 つあります。

- ルータは AIGP をコスト コミュニティに変換し、それをルートに添付し、レガシー ルータにルートをアドバタイズできます。

- ルータは AIGP を MED に変換し、それをルートに添付し、レガシー ルータにルートをアドバタイズできます。

設定

このセクションでは、AIGP メトリック属性を設定する方法について説明します。

AIGP 属性の伝送の有効化

内部BGP(iBGP)セッションと外部BGP(eBGP)セッションに対して、AIGPを明示的に有効にする必要があります。 neighbor ip-address aigp コマンドが表示されない場合もあります。

次に、AIGP が BGP ピアに対して有効になっているかどうかを確認する方法を示します。

P3#show bgp ipv4 unicast neighbors 10.1.9.2 | in AIGP

For address family: IPv4 Unicast

AIGP is enabled

AIGP の発信

AIGP は IGP メトリックまたは値に設定できます。また、AIGPは、IPアドレスを使用してIGPの特定のルートに対してのみ route-map.AIGP の発信元が IGP メトリックの変更を見つけた場合、影響を受けるルートに対する新しい AIGP 値を備えた新しい BGP アップデートを送信する必要があります。

AIGP メトリックは、IGP メトリックまたは任意の 32 ビット値に自動的に設定できます。

P1(config-route-map)#set aigp-metric ?

<0-4294967295>  manual value

igp-metric      metric value from rib

次の例は、AIGP メトリックを IGP ルートのメトリックに設定する方法を示しています。

ip prefix-list loopback seq 5 permit 10.100.1.1/32

!

route-map redistribute-loopback permit 10

match ip address prefix-list loopback

set aigp-metric igp-metric

AIGP タイブレークを無効化するノブ

このノブを有効にすると、両方のパスで AIGP メトリック属性が使用されていない限り、BGP は AIGP タイブレークを使用しません。つまり、一方のパスで AIGP 属性が使用されていない場合は、2 つのパス間でのベスト パスの選択プロセス中に AIGP 属性が評価されることはありません。

以下が一例です。

router bgp 65000

bgp bestpath aigp ignore

レガシー ルータ向けの解決策

AIGP メトリック属性をサポートするソフトウェアがルータ PE2 に存在しない場合（レガシー ルータ）、利用可能な解決策が 2 つあります。

コスト コミュニティへの AIGP の変換

IGP コストをコスト コミュニティに変換し、ルータがレガシー ルータにアドバタイズできるように、ルータ P3 と P4 を設定します。

P3#show run | beg router bgp

router bgp 65000

address-family ipv4

neighbor 10.1.9.2 activate

neighbor 10.1.9.2 send-community both

neighbor 10.1.9.2 aigp send cost-community 100 poi igp-cost transitive

P4#show run | beg router bgp

router bgp 65000

address-family ipv4

neighbor 10.1.10.2 activate

neighbor 10.1.10.2 send-community both

neighbor 10.1.10.2 aigp send cost-community 100 poi igp-cost transitive

送信を行うルータが拡張コミュニティを送信できるようにする必要があります。これは、IPアドレスを指定する必要があることを意味します。 send-community extended または send-community both 属性(neighbor x.x.x.x send-communityBGPピア用)。

以下が一例です。

PE2#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 6

Paths: (2 available, best #1, table default)

Advertised to update-groups:

6

Refresh Epoch 2

65000 65001

10.1.9.4 from 10.1.9.4 (10.100.1.4)

Origin incomplete, localpref 100, valid, external, best

Extended Community: Cost(transitive):igp:100:6

mpls labels in/out 17/16

rx pathid: 0, tx pathid: 0x0

Refresh Epoch 15

65000 65001

10.1.10.6 from 10.1.10.6 (10.100.1.6)

Origin incomplete, localpref 100, valid, external

Extended Community: Cost(transitive):igp:100:11

mpls labels in/out 17/30

rx pathid: 0, tx pathid: 0

例で示しているように、ルータ PE2 は最もコストが低い（100:6 対 100:11）パスをベスト パスとして選択しました。

MED への AIGP の変換

IGP コストを MED に変換し、ルータがレガシー ルータにアドバタイズできるように、ルータ P3 と P4 を設定します。

ルータ P3 での設定を次に示します。

router bgp 65000

address-family ipv4

neighbor 10.1.9.2 activate

neighbor 10.1.9.2 send-community both

neighbor 10.1.9.2 aigp send med

ルータ P4 での設定を次に示します。

router bgp 65000

address-family ipv4

neighbor 10.1.10.2 activate

neighbor 10.1.10.2 send-community both

neighbor 10.1.10.2 aigp send med

確認

debug bgp ipv4 unicast updates in コマンドは、AIGPメトリック属性の使用状況を表示します。

PE2#

BGP(0): 10.1.9.4 rcvd UPDATE w/ attr: nexthop 10.1.9.4, origin ?, aigp-metric 22,

merged path 65000 65001, AS_PATH

このドキュメントのセクションに示す図を見ると、ネットワークAS 6500のすべてのリンクのOSPFコストが10で、ルータP1とP4の間およびP2とP3の間のリンクのOSPFコストが110000000000000000000000000000000000 P1のコストは5です。

ルータ P3 で見た場合の10.100.1.1/32 のルートを次に示します。

P3#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 9

Paths: (2 available, best #1, table default)

Additional-path-install

Path advertised to update-groups:

5

Refresh Epoch 5

65001

10.100.1.3 (metric 6) from 10.100.1.7 (10.100.1.7)

Origin incomplete, metric 0, localpref 100, valid, internal, best

Originator: 10.100.1.3, Cluster list: 10.100.1.7

mpls labels in/out 29/16

rx pathid: 0x0, tx pathid: 0x0

Path not advertised to any peer

Refresh Epoch 5

65001

10.100.1.5 (metric 21) from 10.100.1.7 (10.100.1.7)

Origin incomplete, metric 0, localpref 100, valid, internal, backup/repair, all

Originator: 10.100.1.5, Cluster list: 10.100.1.7

mpls labels in/out 29/16

rx pathid: 0x1, tx pathid: 0x1

ルータ P4 で見た場合の10.100.1.1/32 のルートを次に示します。

P4#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 9

Paths: (2 available, best #2, table default)

Additional-path-install

Path not advertised to any peer

Refresh Epoch 5

65001

10.100.1.3 (metric 16) from 10.100.1.7 (10.100.1.7)

Origin incomplete, metric 0, localpref 100, valid, internal, backup/repair, all

Originator: 10.100.1.3, Cluster list: 10.100.1.7

mpls labels in/out 29/16

rx pathid: 0x0, tx pathid: 0x1

Path advertised to update-groups:

35

Refresh Epoch 5

65001

10.100.1.5 (metric 11) from 10.100.1.7 (10.100.1.7)

Origin incomplete, metric 0, localpref 100, valid, internal, best

Originator: 10.100.1.5, Cluster list: 10.100.1.7

mpls labels in/out 29/16

rx pathid: 0x1, tx pathid: 0x0

ルータ PE2 で見た場合の10.100.1.1/32 のルートを次に示します。

PE2#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 4

Paths: (2 available, best #2, table default)

Advertised to update-groups:

5

Refresh Epoch 1

65000 65001

10.1.9.4 from 10.1.9.4 (10.100.1.4)

Origin incomplete, localpref 100, valid, external

mpls labels in/out 18/17

rx pathid: 0, tx pathid: 0

Refresh Epoch 1

65000 65001

10.1.10.6 from 10.1.10.6 (10.100.1.6)

Origin incomplete, localpref 100, valid, external, best

mpls labels in/out 18/30

rx pathid: 0, tx pathid: 0x0

ルータ P3 でのベスト パスは、ルータ P1 をネクスト ホップにした、IGP メトリック 6 のパスです。ルータ P4 でのベスト パスは、ルータ P2 をネクスト ホップにした、IGP メトリック 11 のパスです。ルータP3とP4はルータPE2へのベストパスを送信します。ルータPE2はルータP4からのパスをベストパスとして選択します。これは、ルータPE2の両方のBGPパスが非常に類似しており、ステップ10がタイブレーカーであったためです。つまり、最も古い外部 パスが選ばれました。これは、ルータPE2からルータPE1へのトラフィックがパスPE2-P4-P2-PE1を使用することを意味します。ただし、IGPコストを考慮すると、最短の全体パスはPE2-P3-P1-PE1です。

ルータ PE2（10.100.1.7）に向けたルータ P3 と P4 の AIGP メトリック属性を確認するには、次の情報を使用してください。

ルータ P3 の出力を次に示します。

router bgp 65000

address-family ipv4

bgp additional-paths select all

bgp additional-paths receive

bgp additional-paths install

neighbor 10.1.9.2 activate

neighbor 10.1.9.2 aigp

neighbor 10.1.9.2 send-label

neighbor 10.100.1.7 activate

neighbor 10.100.1.7 aigp

neighbor 10.100.1.7 next-hop-self

neighbor 10.100.1.7 send-label

ルータ P4 の出力を次に示します。

router bgp 65000

address-family ipv4

bgp additional-paths select all

bgp additional-paths receive

bgp additional-paths install

neighbor 10.1.10.2 activate

neighbor 10.1.10.2 aigp

neighbor 10.1.10.2 send-label

neighbor 10.100.1.7 activate

neighbor 10.100.1.7 aigp

neighbor 10.100.1.7 next-hop-self

neighbor 10.100.1.7 send-label

ルータ P3 の現在の状況は次のとおりです。

P3#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 30

Paths: (2 available, best #2, table default)

Additional-path-install

Path not advertised to any peer

Refresh Epoch 11

65001

10.100.1.5 (metric 21) from 10.100.1.7 (10.100.1.7)

Origin incomplete, aigp-metric 0, metric 0, localpref 100, valid, internal,

backup/repair, all

Originator: 10.100.1.5, Cluster list: 10.100.1.7

mpls labels in/out 28/31

rx pathid: 0x1, tx pathid: 0x1

Path advertised to update-groups:

5

Refresh Epoch 11

65001

10.100.1.3 (metric 6) from 10.100.1.7 (10.100.1.7)

Origin incomplete, aigp-metric 0, metric 0, localpref 100, valid, internal, best

Originator: 10.100.1.3, Cluster list: 10.100.1.7

mpls labels in/out 28/30

rx pathid: 0x0, tx pathid: 0x0

ルータ P4 の現在の状況は次のとおりです。

P4#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 30

Paths: (2 available, best #1, table default)

Additional-path-install

Path advertised to update-groups:

35

Refresh Epoch 11

65001

10.100.1.5 (metric 11) from 10.100.1.7 (10.100.1.7)

Origin incomplete, aigp-metric 0, metric 0, localpref 100, valid, internal, best

Originator: 10.100.1.5, Cluster list: 10.100.1.7

mpls labels in/out 16/31

rx pathid: 0x1, tx pathid: 0x0

Path not advertised to any peer

Refresh Epoch 11

65001

10.100.1.3 (metric 16) from 10.100.1.7 (10.100.1.7)

Origin incomplete, aigp-metric 0, metric 0, localpref 100, valid, internal,

backup/repair, all

Originator: 10.100.1.3, Cluster list: 10.100.1.7

mpls labels in/out 16/30

rx pathid: 0x0, tx pathid: 0x1

ルータ P3 と P4 のパスの IGP メトリックは変更されていませんが、ルータ PE2 はルータ P3 と P4 からの AIGP 属性をもつルートを受信するようになっています。

ルータ PE2 には 2 つのパスがあります。それぞれのパスに AIGP 属性があり、AIGP メトリック属性が最も低いパスが選択されるようになっています。

PE2#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 6

Paths: (2 available, best #1, table default)

Advertised to update-groups:

5

Refresh Epoch 1

65000 65001

10.1.9.4 from 10.1.9.4 (10.100.1.4)

Origin incomplete, aigp-metric 6, localpref 100, valid, external, best

mpls labels in/out 18/17

rx pathid: 0, tx pathid: 0x0

Refresh Epoch 1

65000 65001

10.1.10.6 from 10.1.10.6 (10.100.1.6)

Origin incomplete, aigp-metric 11, localpref 100, valid, external

mpls labels in/out 18/30

rx pathid: 0, tx pathid: 0

ルータ PE2 において、ルータ P3 から受信するパスがルータ P4 から受信するパスより長い場合でも、ルータ PE2 はルータ P3 からのパスをベスト パスとして選択します。ルータP3がアドバタイズするパスは、 route-map と as-prepending.

router bgp 65000

address-family ipv4

neighbor 10.1.9.2 route-map as_path out

route-map as_path permit 10

set as-path prepend last-as 1

現在ルータ PE2 がもつルータ P3 からのルートには、AS パス内に 1 つ余分の AS が存在しています。

PE2#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 7

Paths: (2 available, best #1, table default)

Advertised to update-groups:

5

Refresh Epoch 1

65000 65001 65001

10.1.9.4 from 10.1.9.4 (10.100.1.4)

Origin incomplete, aigp-metric 6, localpref 100, valid, external, best

mpls labels in/out 18/nolabel

rx pathid: 0, tx pathid: 0x0

Refresh Epoch 1

65000 65001

10.1.10.6 from 10.1.10.6 (10.100.1.6)

Origin incomplete, aigp-metric 11, localpref 100, valid, external

mpls labels in/out 18/30

rx pathid: 0, tx pathid: 0

AIGP メトリック属性によって、ルータ PE2 は依然としてルータ P3 からのパスをベスト パスとして選択します。AIGP チェックは、AS パスの長さがチェックされる前に実行されます。

ルータP4上のAIGPをルータPE2に送信する機能を削除すると、ルータPE2はAIGPメトリック属性のないパスをルータP4から受信します。ただし、ルータPE2は引き続きAIGPを使用します。ルータ PE2 は AIGP のないパスよりも AIGP のあるパスを優先するため、ルータ P3 からのパスをベスト パスとして選択します。

PE2#show bgp ipv4 unicast 10.100.1.1

BGP routing table entry for 10.100.1.1/32, version 2

Paths: (2 available, best #2, table default)

Advertised to update-groups:

6

Refresh Epoch 1

65000 65001

10.1.10.6 from 10.1.10.6 (10.100.1.6)

Origin incomplete, localpref 100, valid, external

mpls labels in/out 17/30

rx pathid: 0, tx pathid: 0

Refresh Epoch 1

65000 65001 65001

10.1.9.4 from 10.1.9.4 (10.100.1.4)

Origin incomplete, aigp-metric 6, localpref 100, valid, external, best

mpls labels in/out 17/nolabel

rx pathid: 0, tx pathid: 0x0

注：BGPベストパス選択プロセス中にルータPE2がAIGPを無視する場合は、 bgp bestpath aigp ignore コマンドが表示されない場合もあります。

トラブルシュート

現在、この設定に関する特定のトラブルシューティング情報はありません。