0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

bgp always-compare-medとbgp bestpath as-path ignore

Last updated at Posted at 2024-09-14

最適経路の際に参照するBGPパスアトリビュートの優先順位はベンダにより多少差がありますが、自分の知る限り全てのベンダがMEDより先にAS-Pathにより評価しています。

AS_PATHとMED

AS_PATH

同一経路を複数ネイバーから学習した場合、最短のAS_PATHを持つパスが優先されます。あくまで経由したAS_PATHが最短なので必ずしもホップ数が最短というわけではないです。
AS_PATHはeBGPネイバーにルートを公告する際に付与されるので、例えば自AS内で生成された経路のAS_PATHは空になります。

image.png

例えば上記のようなネットワークの場合、AS100のR1から広告された100.0.0.0/24の経路情報はAS100内の他ルータはAS_の経由数を0で学習し、AS300は100.0.0.0/24宛てのルートをホップ数が多い直接AS100に向かうルートを最適経路としてルーティングテーブルに登録します。

MED

同じASから同一経路を複数ネイバーから学習した場合、最小のMED値が付与された経路情報を最適経路としてルーティングテーブルに載せます。MED値が付与されていない経路の取り扱いはベンダにより差があるみたいですが、cisco機器(IOS)では0として扱います。
異なるASから同一経路を学習した場合はMEDでの評価をスキップします。

image.png
上記ではAS30は100.0.0.0/24をMED50とMED100で学習していますが、異なるASから学習しているのでMEDでの評価をスキップします。

今回検証で使用したネットワーク

image.png

bgp always-compare-med

通常異なるASから同一経路を学習した場合はMEDでの評価をスキップしますが、上記コマンドを入力することで
異なるAS間からの学習であってもMEDでの評価を行います。

↓コマンド入力前 MEDの評価を行わないため、先に学習した方の経路情報(MEDが高い方のルート)をベストパスに選出している

R4#sh ip bgp 1.1.1.1
BGP routing table entry for 1.1.1.1/32, version 44
Paths: (2 available, best #2, table default)
  Advertised to update-groups:
     1
  Refresh Epoch 3
  65003 65001
    172.16.4.3 from 172.16.4.3 (33.33.33.33)
      Origin incomplete, metric 50, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 9
  65002 65001
    172.16.3.2 from 172.16.3.2 (22.22.22.22)
      Origin incomplete, metric 100, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0

↓コマンド入力後 MEDが低い方の経路がベストパスに選出されている

R4#sh ip bgp 1.1.1.1
BGP routing table entry for 1.1.1.1/32, version 48
Paths: (2 available, best #1, table default)
  Advertised to update-groups:
     1
  Refresh Epoch 4
  65003 65001
    172.16.4.3 from 172.16.4.3 (33.33.33.33)
      Origin incomplete, metric 50, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0
  Refresh Epoch 10
  65002 65001
    172.16.3.2 from 172.16.3.2 (22.22.22.22)
      Origin incomplete, metric 100, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0
R4#

bgp as-path ignore

上記コマンドによりAS_PATHによる評価をスキップできます。
まずはR3(AS65003)でAS-Path prependを付与します。

↓AS-Pathの経由数が少ないR2(AS65002)から学習したルートをベストパスに選出している

R4#sh ip bgp 1.1.1.1
BGP routing table entry for 1.1.1.1/32, version 60
Paths: (2 available, best #2, table default)
  Advertised to update-groups:
     1
  Refresh Epoch 5
  65003 65003 65001
    172.16.4.3 from 172.16.4.3 (33.33.33.33)
      Origin incomplete, metric 50, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 11
  65002 65001
    172.16.3.2 from 172.16.3.2 (22.22.22.22)
      Origin incomplete, metric 100, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0
R4#

bgp as-path ignoreを設定し、AS_PATHによる評価をスキップします。
↓AS_PATHによる評価をスキップしMEDによる評価を行い、R3から学習したルートをベストパスに選出している
(bgp always-compare-medが有効なため、異なるASから学習した経路情報をMEDで評価している)

R4#sh ip bgp 1.1.1.1
BGP routing table entry for 1.1.1.1/32, version 19
Paths: (2 available, best #1, table default)
  Advertised to update-groups:
     1
  Refresh Epoch 8
  65003 65003 65001
    172.16.4.3 from 172.16.4.3 (172.16.4.3)
      Origin incomplete, metric 50, localpref 100, valid, external, best
      rx pathid: 0, tx pathid: 0x0
      Updated on Sep 13 2024 08:30:46 UTC
  Refresh Epoch 6
  65002 65001
    172.16.3.2 from 172.16.3.2 (172.16.3.2)
      Origin incomplete, metric 100, localpref 100, valid, external
      rx pathid: 0, tx pathid: 0
      Updated on Sep 13 2024 08:30:46 UTC
R4#
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?