bgp deterministic-medとbgp always-compare-med

なんかよく解説サイトで「同一ASから受け取ったMEDを比較」「異なるASから受け取ったMEDを比較」とか書いてあるけどさっぱり理解できなかった。で、Cisco公式で以下を確認。

BGP Best Path Selection Algorithm - Cisco
How the bgp deterministic-med Command Differs from the bgp always-compare-med Command - Cisco

結局は

  • デフォルトではベストパス選択時のエントリ間比較は順に行われる(1-2比較、勝った方と3を比較、勝った方を4と…)ので、その都度ベストパス選択の要素比較を行う。エントリの順番は新しく受信したものが若番、過去に受信済みのものが老番となる。
  • MED比較対象は、
This comparison only occurs if the first (the neighboring) AS is the same in the two paths.
(同じASから受け取ったパス間のみで比較される)

なので、比較エントリ間の送信元ASが異なればMEDはチェックされない。

  • deterministic-med:

同一ASから受け取ったエントリをグループ化しMEDを事前に比較する。そのエントリグループのWinner同士でエントリ間比較を行い最終的なベストパスを決定する(=ベストパス選択の比較順序が変わる)

  • always-compare-med:

異なるASから受信したエントリであっても必ずMEDをベストパス選択の比較に使用する(=エントリ間比較時の勝敗が変わる)

全然意味が違いますねー