はじめに
このドキュメントでは、 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はBGPの最適パスルールに従って2つのネットワークにアクセスするためにR2を選択し、最も低いルータ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を使用して一方のネットワークのトラフィックを強制的に一方のパスでダウンさせ、他方のネットワークのトラフィックをもう一方のパスでダウンさせるように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がR2を使用して10.4.0.0/16にアクセスしたことを検出すると(使用可能なすべてのパスでBGP bestpathを実行した後)、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コマンドの相違点』を参照してください。
関連情報