IP : IP ルーティング

BGP ルータでの最適パスの選択のための Multi-Exit Discriminator 使用方法

2008 年 2 月 27 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2012 年 3 月 23 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      表記法
MED アトリビュート
     
bgp deterministic-med コマンド
     
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

このドキュメントでは、bgp deterministic-med コマンドの使用方法を紹介し、このコマンドが Multi-Exit Discriminator(MED)に基づくパスの選択にどのように作用するのかを説明しています。

前提条件

要件

このドキュメントに関する特別な要件はありません。

使用するコンポーネント

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

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

表記法

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

MED アトリビュート

MED はオプションの非推移的なアトリビュートです。 MED は、複数のエントリ ポイントがある Autonomous System(AS; 自律システム)への優先パスに関して、外部隣接ルータへの手掛りとなります。 MED は、ルートの外部メトリックとしても認識されています。 大きな MED 値よりも、小さい MED 値の方が優先されます。

このセクションでは、隣接する AS によるルーティングの決定に影響を与える MED の使用方法の例を説明しています。

トポロジ:
37_01.gif

トポロジ
※ 画像をクリックすると、大きく表示されます。

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

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 2.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 2.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 1.1.1.1 remote-as 65501
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 3.3.3.3 remote-as 65501
 neighbor 3.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:
  1.1.1.1 3.3.3.3 
  65502
    192.168.20.4 from 192.168.20.4 (4.4.4.4)
      Origin IGP, metric 0, localpref 100, valid, external, best
  65502
    192.168.30.4 (metric 74) from 3.3.3.3 (3.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:
  1.1.1.1 3.3.3.3 
  65502
    192.168.30.4 (metric 74) from 3.3.3.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal
  65502
    192.168.20.4 from 192.168.20.4 (4.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:
  1.1.1.1 2.2.2.2 
  65502
    192.168.20.4 (metric 74) from 2.2.2.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal
  65502
    192.168.30.4 from 192.168.30.4 (4.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:
  1.1.1.1 2.2.2.2 
  65502
    192.168.30.4 from 192.168.30.4 (4.4.4.4)
      Origin IGP, metric 0, localpref 100, valid, external, best
  65502
    192.168.20.4 (metric 74) from 2.2.2.2 (2.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 2.2.2.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal, best
  65502
    192.168.30.4 (metric 128) from 3.3.3.3 (3.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 3.3.3.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal
  65502
    192.168.20.4 (metric 128) from 2.2.2.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal, best

このように、R2 と R3 はどちらも、BGP で最適パスを選択するアルゴリズムに従って予想される、R4 からの最適パスとして外部ルートを選択します。 詳細については、『BGP で最適パスを選択するアルゴリズム』を参照してください。

同様に、R1 では 2 つのネットワークにアクセスするために R2 が選択されますが、これは BGP の最適なパスのルール(最小のルータ ID を持つパスの選択し、その他はすべて同等)に準拠しています。 R2 のルータ ID は 2.2.2.2 で、R3 のルータ ID は 3.3.3.3 なので、R2 が選択されます。 この基本的な設定では、AS 65502 の 2 つのネットワークへのすべてのトラフィックが、デフォルトでは R1 から R2 を通過して R4 に到達します。 次に、R4 では AS 65501 から受信するトラフィックにロード バランシングが行われるものとします。 R4 の ISP に修正を依頼せずにこれを実施するには、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

!--- ルートマップ MED-R3 によって 200 の MED が 10.4.0.0/16 の
!--- ネットワークに適用され、100 の MED が 10.5.0.0/16 のネットワークに適用されます。
!--- ルートマップが 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

!--- ルートマップ MED-R2 によって 100 の MED が 10.4.0.0/16 の
!--- ネットワークに適用され、200 の MED が 10.5.0.0/16 のネットワークに適用されます。
!--- ルートマップが R2 に向けて発信側に適用されています。

!
!
!
line con 0
 exec-timeout 0 0
line aux 0
line vty 0 4
 exec-timeout 0 0
 login
!
!
end

注:たとえば、これらの設定を有効にするには、clear ip bgp * soft out コマンドで BGP セッションをクリアする必要があります。

R2 から受信したアップデートに R3 がアドバタイズする 100 の MED と 200 の MED の対比が含まれているので、R2 を通過するルートがネットワーク 10.4.0.0/16 の最適なパスとして R1 で認識されるようになりました。 同様に、R1 では、10.5.0.0/16 へのアクセスに R3 および R3 - R4 のリンクが使用されます。

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 2.2.2.2 (2.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 3.3.3.3 (3.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:
  1.1.1.1 3.3.3.3 
  65502
    192.168.20.4 from 192.168.20.4 (4.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 3.3.3.3 (3.3.3.3)
      Origin IGP, metric 100, localpref 100, valid, internal, best
  65502
    192.168.20.4 from 192.168.20.4 (4.4.4.4)
      Origin IGP, metric 200, localpref 100, valid, external

R2 で 10.4.0.0/16 への 1 つのパスだけが表示される理由は、(すべての使用可能なパスで BGP の最適パスが適用された後に)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 2.2.2.2 (2.2.2.2)
      Origin IGP, metric 100, localpref 100, valid, internal, best
  65502
    192.168.30.4 from 192.168.30.4 (4.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 に基づく最適パス決定の一時的な依存関係が解消されます。 これにより、同じ Autonomous System(AS; 自律システム)からのすべてのルート全体での正確な MED の比較が行われます。

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 です(BGP テーブルでは entry3 が最も古いエントリで、entry1 が最も新しいエントリです)。

bgp deterministic-med が無効にされている BGP ルータ

bgp deterministic-med が無効にされている BGP ルータでは、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 の勝者)を比較すると、entry2 はネクストホップへのより優れた IGP メトリックを備えているため、entry2 が勝者となります。

bgp always-compare-med も有効な場合は、entry1(グループ 1 の勝者)と entry2(グループ 2 の勝者)を比較すると、MED が低いため entry 1 が勝者となります。

Cisco では、すべての新しいネットワークの展開で、bgp deterministic-med を有効にすることを推奨しています。 また、bgp always-compare-med が有効である場合は、BGP MED の判断が常に確定的です。

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


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

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


関連情報


Document ID: 13759