内容

概要

前提条件

要件

使用するコンポーネント

表記法

MED 属性

例

bgp deterministic-med コマンド

例

bgp deterministic-med コマンドが無効の状態の BGP ルータ

bgp deterministic-med コマンドが有効の状態の BGP ルータ

関連情報

概要

このドキュメントでは、 bgp deterministic-med コマンドを使用して、Multi-Exit Discriminator(MED)に基づくパス選択に対する影響を説明します。

前提条件

要件

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

使用するコンポーネント

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

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

表記法

ドキュメントの表記法の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。

MED 属性

MED は、任意で非過渡的な属性です。MED は、複数のエントリ ポイントを持つ自律システム（AS）への優先パスに関する外部ネイバーのヒントです。MED は、ルートの外部メトリックとしても知られています。低い MED 値が高い値に優先します。

このセクションでは、隣接する AS がとるルーティングの判断に影響を及ぼすために MED を使用する方法の例について説明します。

Network Topology

Network Topology

例

このシナリオでは、AS 65502はAS 65501を持つISPのユーザです。R4は、冗長性を確保するためにISP側の2つの異なるルータに接続され、2つのネットワーク(10.4.0.0/16と10.5.0.0/16)をISPにアドバタイズします。このセクションでは、一部の関連する設定だけが示されています。

R4

!

version 12.3

!

hostname r4

!

ip cef

!

!

interface Loopback10

ip address 10.4.0.1 255.255.0.0

!

interface Loopback11

ip address 10.5.0.1 255.255.0.0

!

interface Serial0/0

ip address 192.168.20.4 255.255.255.0

!

interface Serial1/0

ip address 192.168.30.4 255.255.255.0

!

router bgp 65502

no synchronization

bgp log-neighbor-changes

network 10.4.0.0 mask 255.255.0.0

network 10.5.0.0 mask 255.255.0.0

neighbor 192.168.20.2 remote-as 65501

neighbor 192.168.30.3 remote-as 65501

no auto-summary

!

ip classless

!

!

line con 0

exec-timeout 0 0

line aux 0

line vty 0 4

exec-timeout 0 0

login

!

!

end

R2

!

version 12.3

!

hostname r2

!

ip cef

!

!

interface Loopback0

ip address 10.2.2.2 255.255.255.255

!

interface Ethernet0/0

ip address 172.16.0.2 255.255.255.0

!

interface Serial1/0

ip address 192.168.1.2 255.255.255.0

serial restart-delay 0

!

interface Serial2/0

ip address 192.168.20.2 255.255.255.0

serial restart-delay 0

!

router ospf 1

log-adjacency-changes

redistribute connected

passive-interface Serial2/0

network 10.2.2.2 0.0.0.0 area 0

network 172.16.0.2 0.0.0.0 area 0

network 192.168.1.2 0.0.0.0 area 0

network 192.168.20.2 0.0.0.0 area 0

!

router bgp 65501

no synchronization

bgp log-neighbor-changes

neighbor 10.1.1.1 remote-as 65501

neighbor 10.1.1.1 update-source Loopback0

neighbor 10.3.3.3 remote-as 65501

neighbor 10.3.3.3 update-source Loopback0

neighbor 192.168.20.4 remote-as 65502

no auto-summary

!

ip classless

!

!

line con 0

exec-timeout 0 0

transport preferred all

transport output all

line aux 0

transport preferred all

transport output all

line vty 0 4

exec-timeout 0 0

login

transport preferred all

transport input all

transport output all

!

end

R1 と R3 の設定は、R2 に類似します。R3 は R4 とピア接続する eBGP と、R1 とピア接続する iBGP を持ちます。

R1 は R2 とピア接続する iBGP と、R3 とピア接続する iBGP を持ちます。R4によってアドバタイズされた2つのネットワークについて、R1、R2、およびR3 BGPテーブルの表示内容を確認します。

r2# show ip bgp 10.4.0.1

BGP routing table entry for 10.4.0.0/16, version 7

Paths: (2 available, best #1, table Default-IP-Routing-Table)

Advertised to non peer-group peers:

10.1.1.1 10.3.3.3

65502

192.168.20.4 from 192.168.20.4 (10.4.4.4)

Origin IGP, metric 0, localpref 100, valid, external, best

65502

192.168.30.4 (metric 74) from 10.3.3.3 (10.3.3.3)

Origin IGP, metric 0, localpref 100, valid, internal

r2# show ip bgp 10.5.0.1

BGP routing table entry for 10.5.0.0/16, version 6

Paths: (2 available, best #2, table Default-IP-Routing-Table)

Advertised to non peer-group peers:

10.1.1.1 10.3.3.3

65502

192.168.30.4 (metric 74) from 10.3.3.3 (10.3.3.3)

Origin IGP, metric 0, localpref 100, valid, internal

65502

192.168.20.4 from 192.168.20.4 (10.4.4.4)

Origin IGP, metric 0, localpref 100, valid, external, best

r3# show ip bgp 10.4.0.1

BGP routing table entry for 10.4.0.0/16, version 8

Paths: (2 available, best #2, table Default-IP-Routing-Table)

Advertised to non peer-group peers:

10.1.1.1 10.2.2.2

65502

192.168.20.4 (metric 74) from 10.2.2.2 (10.2.2.2)

Origin IGP, metric 0, localpref 100, valid, internal

65502

192.168.30.4 from 192.168.30.4 (10.4.4.4)

Origin IGP, metric 0, localpref 100, valid, external, best

r3# show ip bgp 10.5.0.1

BGP routing table entry for 10.5.0.0/16, version 10

Paths: (2 available, best #1, table Default-IP-Routing-Table)

Advertised to non peer-group peers:

10.1.1.1 10.2.2.2

65502

192.168.30.4 from 192.168.30.4 (10.4.4.4)

Origin IGP, metric 0, localpref 100, valid, external, best

65502

192.168.20.4 (metric 74) from 10.2.2.2 (10.2.2.2)

Origin IGP, metric 0, localpref 100, valid, internal

r1# show ip bgp 10.4.0.1

BGP routing table entry for 10.4.0.0/16, version 11

Paths: (2 available, best #1, table Default-IP-Routing-Table)

Not advertised to any peer

65502

192.168.20.4 (metric 128) from 10.2.2.2 (10.2.2.2)

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

65502

192.168.30.4 (metric 128) from 10.3.3.3 (10.3.3.3)

Origin IGP, metric 0, localpref 100, valid, internal

r1# show ip bgp 10.5.0.1

BGP routing table entry for 10.5.0.0/16, version 10

Paths: (2 available, best #2, table Default-IP-Routing-Table)

Not advertised to any peer

65502

192.168.30.4 (metric 128) from 10.3.3.3 (10.3.3.3)

Origin IGP, metric 0, localpref 100, valid, internal

65502

192.168.20.4 (metric 128) from 10.2.2.2 (10.2.2.2)

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

R2とR3はどちらも、BGPの最適パス選択アルゴリズムに基づいて予測されるR4からの外部ルートを最適パスとして選択します。詳細については、BGP ベスト パス選択アルゴリズムを参照してください。

同様に、R1はR2を選択して2つのネットワークにアクセスします。これは、BGPの最適パスルールに従い、ルータIDが最も小さいパスを選択します。R2のルータIDは10.2.2.2で、R3のルータIDは10.3.3.3であるため、R2が選択されます。この基本設定では、AS 65502 内の 2 つのネットワークへのすべてのトラフィックはデフォルトで R1 から R2 を経由して R4 へ向かいます。ここで、R4 が AS 65501 から受信するトラフィックをロード バランスすると想定します。 R4 ISPを変更せずにMEDを使用してMEDを使用するようにR4を設定し、一方のネットワークのトラフィックは一方のパスを下り、もう一方のネットワークのトラフィックはもう一方のパスを下ります。

必要な設定を適用した後のR4の設定を次に示します。

R4

!

version 12.3

!

hostname r4

!

ip cef

!

!

!

interface Loopback10

ip address 10.4.0.1 255.255.0.0

!

interface Loopback11

ip address 10.5.0.1 255.255.0.0

!

interface Serial0/0

ip address 192.168.20.4 255.255.255.0

!

interface Serial1/0

ip address 192.168.30.4 255.255.255.0

!

router bgp 65502

no synchronization

bgp log-neighbor-changes

network 10.4.0.0 mask 255.255.0.0

network 10.5.0.0 mask 255.255.0.0

neighbor 192.168.20.2 remote-as 65501

neighbor 192.168.20.2 route-map setMED-R2 out

neighbor 192.168.30.3 remote-as 65501

neighbor 192.168.30.3 route-map setMED-R3 out

no auto-summary

!

ip classless

no ip http server

!

!

access-list 1 permit 10.4.0.0 0.0.255.255

access-list 2 permit 10.5.0.0 0.0.255.255

!

route-map setMED-R3 permit 10

match ip address 1

set metric 200

!

route-map setMED-R3 permit 20

match ip address 2

set metric 100

!--- The route-map MED-R3 is applying a MED of 200 to the 10.4.0.0/16

!--- network and a MED of 100 to the 10.5.0.0/16 network.

!--- The route-map is being applied outbound towards R3. ! route-map setMED-R2 permit 10 match ip address 1 set metric 100 ! route-map setMED-R2 permit 20 match ip address 2 set metric 200 !--- The route-map MED-R2 is applying a MED of 100 to the 10.4.0.0/16

!--- network and a MED of 200 to the 10.5.0.0/16 network.

!--- The route-map is being applied outbound towards R2.  ! ! ! line con 0 exec-timeout 0 0 line aux 0 line vty 0 4 exec-timeout 0 0 login ! ! end

注:BGPセッションをクリアする必要があります。  clear ip bgp * soft out  コマンドを発行して、これらの設定にアクションを実行します。

R1 は、ネットワーク 10.4.0.0/16 のベスト パスとして R2 を経由するルートを認識します。これは、R2 から受信した更新が、R3 がアドバタイズする 200 の MED に対して 100 の MED を持つからです。同様に、R1 は R3 と R3 - R4 リンクを使用して 10.5.0.0/16 にアクセスします。

r1# show ip bgp 10.4.0.1

BGP routing table entry for 10.4.0.0/16, version 14

Paths: (1 available, best #1, table Default-IP-Routing-Table)

Flag: 0x800

Not advertised to any peer

65502

192.168.20.4 (metric 128) from 10.2.2.2 (10.2.2.2)

Origin IGP, metric 100, localpref 100, valid, internal, best

r1#sh ip bgp 10.5.0.1

BGP routing table entry for 10.5.0.0/16, version 13

Paths: (1 available, best #1, table Default-IP-Routing-Table)

Flag: 0x800

Not advertised to any peer

65502

192.168.30.4 (metric 128) from 10.3.3.3 (10.3.3.3)

Origin IGP, metric 100, localpref 100, valid, internal, best

R2の表示を確認します。

r2# show ip bgp 10.4.0.1

BGP routing table entry for 10.4.0.0/16, version 10

Paths: (1 available, best #1, table Default-IP-Routing-Table)

Advertised to non peer-group peers:

10.1.1.1 10.3.3.3

65502

192.168.20.4 from 192.168.20.4 (10.4.4.4)

Origin IGP, metric 100, localpref 100, valid, external, best

r2# show ip bgp 10.5.0.1

BGP routing table entry for 10.5.0.0/16, version 11

Paths: (2 available, best #1, table Default-IP-Routing-Table)

Advertised to non peer-group peers:

192.168.20.4

65502

192.168.30.4 (metric 74) from 10.3.3.3 (10.3.3.3)

Origin IGP, metric 100, localpref 100, valid, internal, best

65502

192.168.20.4 from 192.168.20.4 (10.4.4.4)

Origin IGP, metric 200, localpref 100, valid, external

R2が10.4.0.0/16のパスを1つしか表示しない理由は、R3が（使用可能なすべてのパスでBGP bestpathを実行した後で）R3がR2を使用して10.4.0.0/16にアクセスしたことを検出すると、R3が10.4.0.0/16のアップデートを取り消す（到達不能メトリックでアップデートを送信する）ためです。

r3# show ip bgp 10.4.0.0

BGP routing table entry for 10.4.0.0/16, version 20

Paths: (2 available, best #1, table Default-IP-Routing-Table)

Advertised to non peer-group peers:

192.168.30.4

65502

192.168.20.4 (metric 74) from 10.2.2.2 (10.2.2.2)

Origin IGP, metric 100, localpref 100, valid, internal, best

65502

192.168.30.4 from 192.168.30.4 (10.4.4.4)

Origin IGP, metric 200, localpref 100, valid, external

これにより、無用な情報を保存する必要がないため、R2 はメモリの一部を保存できます。R2とR4の間のBGPセッションが失敗した場合、R2は10.4.0.0/16に対する到達不能なアップデートをR3に送信します。この更新によって、10.4.0.0/16 に関する R3 ルートでの更新が R4 を経由して R3 から R2 へ送信されます。R2 は R3 経由でルーティングを開始できます。

bgp deterministic-med コマンド

この機能を有効にすると、  bgp deterministic-med    コマンドを使用すると、MEDベースのベストパス決定の時間的依存性が削除されます。これにより、正確な MED の比較が同じ自律システム（AS ）から受信するすべてのルート全域で行われることを保証します。

無効にした場合  bgp deterministic-med ルートが受信される順序は、MEDベースのベストパスの決定に影響する可能性があります。これは、パスの長さが全く同じでありながら、MED が異なる複数の AS またはコンフェデレーション サブ AS から同じルートを受信するときに発生する可能性があります。

例

たとえば、次のルートについて考えてみます。

entry1: ASPATH 1, MED 100, internal, IGP metric to NEXT_HOP 10

entry2: ASPATH 2, MED 150, internal, IGP metric to NEXT_HOP 5

entry3: ASPATH 1, MED 200, external

BGP ルートを受信した順番は、entry3、entry2、entry1 です（entry3 が BGP テーブル エントリの中で最も古いものであり、entry1 が最も新しいものです）。

bgp deterministic-med コマンドが無効の状態の BGP ルータ

BGPルータと bgp deterministic-med disabledは、NEXT_HOPに到達するための低いIGPメトリックのために、entry1よりもentry2を選択します（entry1とentry2は2つの異なるASからのものであるため、この決定ではMEDは使用されませんでした）。その後、外部であるため、entry2よりもentry3が優先されます。ただし、entry3 は entry1 よりも高い MED 値を持ちます。BGP パス選択基準に関する詳細については、BGP ベスト パス選択アルゴリズムを参照してください。

bgp deterministic-med コマンドが有効の状態の BGP ルータ

この場合は、同じ AS のルートがグループ化され、各グループのベスト エントリが比較されます。この特定の例では、AS 1 と AS 2 の 2 つの AS があります。

Group 1:  entry1: ASPATH 1, MED 100, internal, IGP metric to NEXT_HOP 10

entry3: ASPATH 1, MED 200, external

Group 2:  entry2: ASPATH 2, MED 150, internal, IGP metric to NEXT_HOP 5

グループ 1 では、MED が低いためベスト パスは entry1 です（パスが同じ AS からのものであるため、MED はこの判断に使用されます）。グループ 2 では、エントリは 1 つのみ（entry2）です。その後、各グループの勝者の比較によって最適なパスが決定されます(各グループの勝者は異なるASからのものであるため、デフォルトではこの比較にはMEDは使用されません。有効にすると、  bgp always-compare-med   デフォルトの動作を変更します)。entry1（グループ1の勝者）とentry2（グループ2の勝者）を比較すると、ネクストホップに対するIGPメトリックが優れているため、entry2が勝者になる可能性があります。

もし bgp always-compare-med   entry1（グループ1の勝者）とentry2（グループ2の勝者）を比較したときにも有効になっていましたが、MEDが低いため、entry1が勝者になる可能性があります。

Ciscoでは、次のものを有効にすることを推奨しています。 bgp always-compare-med  すべての新しいネットワーク導入に適用できますさらに、  bgp always-compare-med  が有効な場合、BGP MEDの決定は常に確定的です。

詳細については、 bgp deterministic-med および bgp always-compare-med  『bgp deterministic-medコマンドとbgp always-compare-med コマンドの相違点』を参照してください。

関連情報

- 2 つの異なるサービス プロバイダー（マルチホーミング）を使用した BGP の設定例

- IP/BGPサポート

- BGP ケース スタディ

- シスコテクニカルサポートおよびダウンロード