我如何检查我是否收到了 MED?

网络工程 bgp 锦缎
2021-07-30 17:57:31

我与两个不同城市的中转提供商有一个 BGP 会话。我们在两个位置都使用相同的 AS。我期待他们向我发送MED,供我用于出站流量的路由决策。(即。所以我可以将流量发送到离我目的地最近的路由器,同城的其他客户)

我如何确认我真的收到了那些 MED?

我有 Brocade XMR。

如果我执行 a show ip bgp routes,我会看到以下内容:

Total number of BGP Routes: 445744
Status A:AGGREGATE B:BEST b:NOT-INSTALLED-BEST C:CONFED_EBGP D:DAMPED
       E:EBGP H:HISTORY I:IBGP L:LOCAL M:MULTIPATH m:NOT-INSTALLED-MULTIPATH
       S:SUPPRESSED F:FILTERED s:STALE
       Prefix             Next Hop        MED        LocPrf     Weight Status
2      1.0.0.0/24         4.53.x.x     0          100        0      BE
         AS_PATH: 3356 15169
3      1.0.4.0/22         4.53.x.x     0          100        0      BE
         AS_PATH: 3356 3549 6939 6939 7545 56203

浏览输出的几页,MED 总是显示 0。我不想手动检查所有 1/2 百万条路线。

1个回答

因为我误解了这个问题,所以删除了以前的答案,而我以前的答案实际上是不正确的 - MED 在对等 ASN 之间交换,但不会传播到其他地方(意味着它不会通过 AS 传播到另一个 AS)。然而,它仍然是一个可选属性,因此不需要实现在 eBGP/iBGP 扬声器之间传递 MED。如果有多条路径来自同一 AS(与您的方案相关),则通常仅在最佳路径选择过程中评估 MED。

如果您在两个位置都有相同的提供者,他们很可能会在所有前缀而不是子集上设置 MED,如果您在输出中没有看到,很可能他们没有发送你们这些医学博士。然而,也有可能他们只在提供者实际拥有的聚合上设置 MED,而不是对等/客户前缀。然而,这并不意味着您不能将 MED 自己设置为您的 iBGP 路由器的入站策略的一部分。还可以考虑您的提供商发送MED,以迫使他们对您进行冷土豆路由。

编辑:还包括@MikePennington 的良好和相关信息,根据您的设计,您的 IGP 还将为您解决此问题,而无需担心设置 MED 或 LP 值。

要回答您的问题,您可以创建一个带有匹配给定 MED 值的 match 子句的路由映射,然后执行show ip bgp routes route-map [route-map-name]. 为此,我建议如下:

route-map ONLY-MED deny 10
    match metric 0
route-map ONLY-MED permit 20

# show ip bgp routes route-map ONLY-MED

应该会显示所有没有设置为 0 的 MED 的前缀。