IP : ボーダー ゲートウェイ プロトコル(BGP)

BGPルータは最適パス選択のためにマルチエグジット識別子をどのように使うか

2016 年 10 月 28 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2008 年 2 月 27 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

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

前提条件

要件

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

使用するコンポーネント

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

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

表記法

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

MED アトリビュート

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

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

トポロジ:

/image/gif/paws/13759/37_02.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 で最適パスを選択するアルゴリズム』を参照してください。

同様に、2 つのネットワークにアクセスする R1 choses R2 は BGP ベストパスに従って rule —ある最も低い Router 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

!--- 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

たとえば、これらの設定を有効にするには、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