具有不同ASN的BGP多路径可用于生产网络吗?


15

在Cisco上(此命令由于某种原因被隐藏)

#bgp bestpath as-path multipath-relax

默认的BGP行为仅将具有完全相同的AS_PATH的路由安装到RIB中。使用multipath-relax,AS_PATH仅需要具有相同的长度。

它可能引起什么问题?为什么不经常使用?

作为运输提供商,此功能会使故障排除复杂化吗(我在考虑最终用户对网络性能的抱怨)?是否会更难于了解在给定时间经过的特定路径的流量?还有其他可以帮助排除故障的内容。我不确定SP网络中NetFlow的可伸缩性和成本。


1
我已经指示一些客户使用它,但我还没有听说过任何问题。draft-lapukhov-bgp-routing-large-dc-05非常依赖此功能
ytti 2013年

我正在Juniper JunOS中寻找类似的功能...有吗?networkengineering.stackexchange.com/questions/6735/…–
埃弗顿

有什么答案对您有帮助吗?如果是这样,您应该接受答案,这样问题就不会永远弹出来寻找答案。或者,您可以提供自己的答案并接受。
罗恩·莫平

Answers:


15

bgp bestpath as-path multipath-relax由CSCea19918引入。通常,eBGP负载平衡要求候选路由为等价路径。即相同的BGP属性:

  • 相同重量
  • 相同的本地首选项
  • 相同的AS路径(AS号和AS路径长度)
  • 同一起源
  • 相同的MED
  • 不同的下一跳

如您所述,此命令放宽了相同的AS-Path要求,因此具有相同AS-路径长度的任何候选eBGP AS-Path都可以用于eBGP负载平衡(这不会在eBGP和iBGP路径之间实现负载平衡)。如果您在多个ISP之间运行BGP,并且正在寻找上游连接之间更好的出口负载平衡,则可能会有所帮助。

它可能引起什么问题?

只要您是不向另一个ASN提供中转服务的企业客户,就没有太大的危险。对于运输提供商来说,这可能是绝对安全的,但是我不确定如果运输ASN使用此功能,则不会存在路由循环。起初,我认为在传输ASN案例中很容易出现一个循环,从更多的角度来看,我找不到真正的问题。

为什么很少使用?

很好的问题,至少从2005年开始就存在。


1
您能解释一下它如何导致#bgp bestpath as-path multipath-relax(不是#bgp bestpath as-path忽略)循环吗?
sdaffa23fdsf

0
The   basic  issue   is   that  the   BGP   speaker  configured   with
"multipath-relax"   gets  into   a  control   plane  <->   data  plane
inconsistency; i.e.  it advertises  only the  best path,  but installs
multiple paths in the forwarding  that have different ASPATHs than the
best. This breaks the basic tool BGP has to detect loops - ASPATH loop
check.

A (distorted) scenario below. I am sure you can come up with
a better example with a bit more time at hand.

            ...............
            : R4  AS1 (10/8)
           /:..............
     ..../......
     :  R5 AS2
     :....\.....
       /   \  ...............
     /      --:--R1
  R6 AS4      :    \    AS3
     \--------:--- R2
              :    /
              : R3 (10/8)
              :..............

In this example,
- R3 in AS3 and R4 in AS1 announce a prefix 10/8. R5 in AS2 receives
  the prefix from R1(AS3) and R4(AS1).
- AS2 is configured with 'multipath-relax' and chooses both paths
  for multipath forwarding, though it selects AS1's path as best.
- R5 advertises the prefix with AS_PATH "2 1" to R6, and R6 in turn
   to R2.
- Because of some specific policy, it is possible that R2(AS3)
  chooses R6's path as best. If it happens, there is a loop.
  Note that R1-R2-R3 represents the physical connectivity of
  the routers in AS3.

谢谢你的例子。您是说R3选择R4作为10/8的最佳路径,R5将部分流量转发到10/8并返回到R1的AS3吗?为什么这是由多路径松弛引起的?如果没有适当的出站过滤(或者在原始AS处简单的10/8到null0),则没有多路径放松,R2-R6-R5-R1循环仍然可以存在。在我看来,这里的问题是BGP劫持。我理解不对吗?
sdaffa23fdsf

否。我的意思是:(a)R3拥有自己的外部最佳路径,(b)R1选择R3作为最佳路径,但是由于物理连接性,必须向R2发送流量才能到达R3,(c)R2选择外部路径(从R6接收)最好。这与多路径放松有关,因为R5从AS3中选择了一条未公开的路径用于多路径转发。因此,AS3中的ASPATH循环预防技术失败。
Pradosh Mohapatra'13年

我仍然不知道如何在没有多路径放松的情况下避免这种情况。R1通过R2将流量发送到10/8,R2选择R6作为出口(权重),即使没有多路径松弛,R5也会将R1选择为10/8的最佳选择,并引起环路。ASPATH循环阻止无法阻止由内部网络首选外部出口点引起的循环。如果R1选择R5,R2选择R6最适合10/8,则不管是否形成回路?
sdaffa23fdsf

不知道那将是一个循环。R1最好选择R5 =>意味着R5选择R4作为流量的出口(否则,将检测到AS_PATH循环)。因此,业务流路径将为:R1-> R5-> R4或R2-> R6-> R5-> R4或R5-> R4或R3。
Pradosh Mohapatra 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.