有时,会将两个边界网关协议 (BGP) 配置命令 bgp deterministic-med 和 bgp always-compare-med 混淆。本文档说明了 bgp deterministic-med 和 bgp always-compare-med 命令在影响基于多出口标识符 (MED) 的路径选择的方式和在选择最佳路由时更改 BGP 行为的方式上存在的差异。
本文档没有任何特定的要求。
本文档中的信息基于 Cisco IOS® 软件版本 12.2(10b)。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
有两个 BGP 配置命令可影响基于 MED 的路径选择:bgp deterministic-med 和 bgp always-compare-med 命令。
启用 bgp deterministic-med 命令,可确保在选择路由时,MED 变量的比较可由相同自治系统中的不同对等体通告。启用 bgp always-compare-med 命令确保对 MED 进行比较,供来自不同自治系统的邻居使用。当多个服务提供商或企业同意就设置 MED 达成统一策略时,bgp always-compare-med 命令很有用。因此对于网络 X,如果 Internet 服务提供商 A (ISP A) 将 MED 设置为 10,且 ISP B 将 MED 设置为 20,则两个 ISP 都同意 ISP A 拥有通往 X 的更好执行路径。
注意:默认情况下不启用bgp deterministic-med和bgp always-compare-med命令。而且,两个命令是相互独立的;启用一个命令不会自动启用另一个。
本部分中的示例演示了 bgp deterministic-med 和 bgp always-compare-med 命令如何影响基于 MED 的路径选择。
注意:思科系统建议在所有新网络部署中启用bgp deterministic-med命令。对于现有的网络,必须同时在所有路由器上部署此命令,或者逐步部署此命令,但要注意避免可能出现的内部 BGP (iBGP) 路由环路。
例如,请考虑网络 10.0.0.0/8 的以下路由:
entry1: AS(PATH) 500, med 150, external, rid 172.16.13.1 entry2: AS(PATH) 100, med 200, external, rid 1.1.1.1 entry3: AS(PATH) 500, med 100, internal, rid 172.16.8.4
BGP 路由收到的顺序是 entry3、entry2 和 entry1。(entry3 是 BGP 表中最旧的条目,entry1 是最新的条目。)
注意:当BGP接收到多条通往特定目的地的路由时,它会以从最新到最旧的相反顺序列出这些路由。然后,BGP 按以下顺序成对比较路由:从最新的条目开始,并向最旧的条目移动(从列表顶部开始,向下移动)。 例如,将 entry1 与 entry2 进行比较。随后,将这两个中的较好者与 entry3 进行比较,依此类推。
首先将 entry1 与 entry2 进行比较。因为 entry2 的路由器 ID 较小,所以它被选为这两个中的较好者。由于路径是来自不同的邻居自治系统,因此不检查 MED。接下来,将entry2与entry3进行比较。因为Entry2是外部路径,所以选择它作为最佳路径。
将Entry1与entry2进行比较。这些条目来自不同的邻居自治系统,但是由于启用了bgp always-compare-med命令,因此在比较中使用MED。在这两个条目中,entry1 的 MED 较小,因此它是较好者。然后,将entry1与entry3进行比较。由于条目现在来自同一自治系统,因此再次检查MED。entry3 被选为最佳路径。
当启用 bgp deterministic-med 命令时,来自同一个自治系统的路由将被分组到一起,然后比较每一组的最佳条目。BGP 表如下所示:
entry1: AS(PATH) 100, med 200, external, rid 1.1.1.1 entry2: AS(PATH) 500, med 100, internal, rid 172.16.8.4 entry3: AS(PATH) 500, med 150, external, rid 172.16.13.1
有一个AS 100组和一个AS 500组。比较每个组的最佳条目。Entry1是其组中最佳的,因为它是来自AS 100的唯一路由。Entry2是AS 500的最佳路由,因为它具有最低的MED。接下来,将entry1与entry2进行比较。由于两个条目不来自同一邻居自治系统,因此在比较中不考虑MED。外部 BGP 路由要优于内部 BGP 路由,这使 entry1 成为最佳路由。
本示例中的比较与示例3中的比较相同,但entry2和entry1之间的上次比较除外。由于启用了bgp always-compare-med命令,MED将考虑到上次比较。entry2 被选为最佳路径。