来自同一ISP路由器的入站BGP负载平衡


10

我有两个用于DIA的BGP路由器,与一个提供程序存在问题,因为到该提供程序的两个链接位于同一 SP路由器上。我的以太网通过两个单独的MetroE链接从另一个提供商代表我的主要提供商进行了切换,因为一个提供商已将光纤连接到建筑物。 如果有人在一个提供商为另一个提供商传输服务时也能清除ISP术语,我将不胜感激。 这两个电路使用相同的SP路由器终止L3,所以我的两个路由器都与同一提供者路由器对等。我从该SP中分配了PA空间。

我没有出站负载平衡(或负载分担的问题,因为我认为从技术上讲会更准确)。出站,我在防火墙处执行ECLB,该防火墙根据srcip / dstip哈希选择两个边缘路由器之一。

这个特定的运营商-忘了运营商只是提供传输-并不是负载均衡从它们的一个路由器通过两条链路到我的两个路由器的入站流量,这就是我们可以使用组合的5x50Mb BW的方向收缩。 对于相同的广告网络,SP看到的路径相等,实际上,他们学习的第一条路径就是最佳路径。

我在下面列出了我正在考虑的选项,以通过这两个电路获取流量,并且想知道这里的专家认为最好的是什么,特别是如果您熟悉典型的SP SOP的话由于我有合同,因此此时不能更改合同以其他方式重建合同。

允许maximum-paths 2在SP网络中解决此问题,但这适用于我认为他们不允许的同一路由器上的所有BGP客户。至少有一种可行的方法涉及静态路由,但这不是我想要的。

以下是我按偏好顺序考虑的选项。

  1. 允许maximum-paths 2在SP路由器上使用BGP(影响所有驻留在此处的BGP客户),因此在两个电路上发布时都使用/ 24

  2. 将我的/ 24分成两半,并在每个链接上分别宣传/ 25和/ 24。SP最近表示,可以使用非文档社区来接受> / 24前缀。这要求在我的防火墙上操作NAT才能在/ 25中使用全局地址,因为现在大多数流量只在/ 25较低的几个地址上发回给我们。

  3. SP到/ 24的静态路由强制使用BGP / 24的负载平衡(浮动路由)。

  4. SP静态路由到/ 25s,以强制ECLB w / BGP / 24前缀(在RIB中,但除非/ 25s失败,否则不使用)。

我认为在BGP中宣传/ 25s是最好的选择,我最近才发现SP无证社区可以这样做,但是我没有考虑过其他选择,还是担心其中一些选择会导致乱序数据包?

这是大多数人向BGP提出的反向负载平衡问题。


1
即使您多宿主到两个不同的路由器,最大路径也可以工作,如果运营商网络上的每个入口PE都需要启用最大路径,并且需要从iBGP接收两条路径。
ytti 2013年

当我写这篇文章时,我对此表示怀疑。Q修改了。
generalnetworkerror 2013年

Answers:


8

我会要求“最大路径”(在标准和文档中通常称为ECMP,而不是ECLB)。而且,如果ECMP不是入门者,则回退到/ 25计划。

我无法立即想到的其他首字母缩略词是DIA(专用互联网访问?)和SOP(标准操作程序?)。我不确定这些缩写词是否真的如此通用,是否应该在stackexchange中使用它们,而至少不用悬浮文本来解决它们。


谢谢,我知道ECLB听起来不正确,但是我不记得ECMP的含义了。您就在TLA上。;-) DIA是一个通用术语,在过去的十年中,我使用的每一个1级ISP都使用直接链路上的Internet服务合同。SOP也是通用的,但是我会告诉您,在像NE之类的首字母缩略的学科中使用SOP是一个延伸。
generalnetworkerror 2013年

6

在谈论术语时,您确实已经说过运输,我认为这是最常指的那种服务。有时人们也将其称为“系绳”。

您还可以选择将一侧的接口移到同一路由器,然后在您和提供者之间设置eBGP多跳***。是的,您失去了一侧的冗余,但是在另一侧,它却要通向同一路由器,因此这是一个有争议的问题。如果他们不愿意对您这样做,这也消除了提供商进行eBGP多路径的需要(但是我发现,通常大多数提供商都可以将其打开,如果尚未打开)。 。

如果这似乎不合理,那么最好宣布两个/ 25,除非您的提供者当然愿意打开maximum-paths(同样,假设他们尚未这样做)。

***在您的方案中使用eBGP多跳进行负载平衡将涉及以下内容:

  1. 将第二个ISP连接移到您身边的一个路由器上。
  2. 您和提供商都update-source Loopback0在每个会话上进行配置-如果您不需要,则不必使用Lo0,只要您同意静态路由到哪个地址即可。
  3. 通过连接的接口(或下一跳IP)配置到对方环回的2x / 32静态路由-这就是负载均衡的工作原理,因为它实际上只是ECMP。
  4. ebgp-multihop 2在彼此的会话上进行配置(您希望将此数字保持尽可能小以避免TCP会话劫持)。

瞧,负载均衡。这也会按接口扩展,因为添加新端口将涉及添加另一个接口和静态路由。


您能否详细说明运营商将如何通过在客户端的同一路由器上移动eBGP(如果未启用多路径)来开始通过两个链路发送流量。
ytti 2013年

当然,我将修改答案。
约翰·詹森

严格来说,这不需要多跳或迁移到同一路由器。它只需要您将BGP协议的下一跳更改为在eBGP对等方和接受“远程下一跳”和到它们的静态路由的提供者中都相同。
ytti 2013年

我不确定你是什么意思。以这种方式使用ebgp multihop进行负载平衡确实需要在同一2个路由器之间进行并行连接。
John Jensen

您不需要移动现有的eBGP会话。您可以将路由映射中的下一跳重置为某个地址,两个eBGP都相同(您甚至不必在任何地方配置IP)。只要提供商接受此修改的下一跳(需要在IOS和JunOS中进行切换)并按照您的说明配置静态路由,它就可以在没有多跳或在客户端移动eBGP的情况下正常工作。
ytti 2013年

3

此处的最佳解决方案是通过BGP ECMP- maximum-paths 2但是,我要说的是,需要社区标签的“接受路由> / 24”听起来像是史诗般的愚蠢-假设您是他们的客户,那么他们应该接受您付出的最大努力。最大数量的前缀,并根据他们与其他对等方达成的任何协议简单地过滤出站。在不进行ECMP方面,我把我放在类似的上游,我一直希望我可以向运输服务提供商宣布我想要的任何前缀大小,并让他们使用它。

因此,鉴于它们听起来并不十分称职,为了平衡流量,请不要撤回您的/ 24前缀-而是保留它,确保您的/ 25路由除了提供者所称的内容之外,还标有NO_EXPORT标记要求,这样您的/ 25s不会意外地从其AS中泄漏出来(不是,如果这样的话,它可能会走得很远)。

最后一点-确保这个“无证社区”实际上不是黑洞社区,因为那将……您知道,不好


这来自著名的1层,而我完成BGP的所有ISP都不允许gt 24作为一般策略。我曾计划在/ 25s上设置NO_EXPORT。
generalnetworkerror 2013年

我所有的上游都会接受我的> / 24,他们只是不会将其导出。我实际上利用这种效果来分流流量,因为它们不执行ECMP。
Olipro

此外,如果发生攻击,这样的事情将是可怕的-如果您无法通过黑洞社区向上游发布/ 32,则您会遇到麻烦。
Olipro

他们的确允许与适当的社区进行任何规模的黑洞公告。
generalnetworkerror 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.