我没有出站负载平衡(或负载分担的问题,因为我认为从技术上讲会更准确)。出站时,我在防火墙处执行ECLB,该防火墙根据srcip / dstip哈希选择两个边缘路由器之一。
这个特殊的运营商-忘了运营商只是提供传输-并不是负载均衡从他们的一个路由器穿过两条链路到我的两个路由器的入站流量,这就是我们可以做到的方向使用我们已签约的5x50Mb带宽组合。对于相同的广告网络,SP看到的路径相等,实际上,他们学习的第一个路径就是成为最佳路径。
我在下面列出了我正在考虑的获取流量的选项在这两个电路上,并且想知道这里的专家认为最好的是什么,特别是如果您熟悉典型的SP SOP。由于我有合同,因此此时不能更改合同以其他方式重新构建。
在SP网络中允许
maximum-paths 2
可以解决此问题,但这适用于我认为他们不允许的同一路由器上的所有BGP客户。至少有一个可行的选项涉及静态路由,但这不是我想要的。以下是我按照偏好顺序考虑的选项。
允许在SP路由器上使用BGP
maximum-paths 2
(影响所有驻留在此处的BGP客户),因此在两个电路上发布广告时都使用/ 24 将我的/ 24分成两半,并在每个链接上分别发布/ 25和/ 24。 SP最近表示,可以使用非文档社区来接受> / 24前缀。这要求在我的防火墙上操作NAT,以同时使用/ 25中的全局地址,因为现在大多数流量仅在/ 25较低的几个地址上发回给我们。 w / BGP / 24(浮动路由)。
到/ 25s的SP静态路由强制ECBGP w / BGP / 24前缀(在RIB中,但除非/ 25s失败,否则不使用)。
我认为在BGP中宣传/ 25s是最好的选择,我最近才发现SP无证社区可以这样做,但是我没有考虑过其他选择,还是担心其中一些混乱的数据包选择吗?
这是大多数人对BGP提出的反向负载平衡问题。
#1 楼
我会要求“最大路径”(在标准和文档中通常称为ECMP,而不是ECLB)。而且,如果ECMP并非入门者,则回退到您的/ 25计划。 。我不确定这些缩写词是否真的如此通用,是否应该在stackexchange中使用它们,而至少不用悬浮文本来解决它们。评论
谢谢,我知道ECLB听起来不正确,但是我不记得ECMP的含义了。您就在TLA上。 ;-) DIA是一个通用术语,在过去的十年中,我使用的每一个1级ISP都使用直接链路上的Internet服务合同。 SOP也是通用的,但我会告诉您,在像NE之类的首字母缩略词表中使用SOP是一个延伸。
–generalnetworkerror
2013年6月9日8:50
#2 楼
在谈论术语时,您确实已经说过运输,我认为这是最常指的那种服务。有时人们也将其称为“系绳”。您还可以选择将一侧的接口移至同一路由器,然后在您与提供商之间建立eBGP多跳*** 。是的,您失去了冗余,但另一方面,它却要连接到同一路由器,因此这是一个有争议的问题。如果他们不愿意对您这样做,这也消除了提供商进行eBGP多路径的需要(但是我发现,通常大多数提供商都可以将其打开,如果尚未打开)。 。
如果这似乎不合理,那么宣布两个/ 25可能是您最好的选择,除非您的提供商当然愿意打开
maximum-paths
(同样,假设他们尚未这样做) 。***在您的方案中使用eBGP multihop进行负载平衡将涉及以下内容:
您和提供商都在每个会话中配置
update-source Loopback0
-如果您不需要,则不必使用Lo0,只要您同意静态路由到哪个地址即可。通过连接的接口(或下一跳IP)配置2x / 32到对方环回的静态路由-这就是负载均衡的工作原理,因为它实际上只是ECMP。
配置q4312079 q在彼此的会话上(您希望将此数字保持尽可能小以避免TCP会话被劫持)。
Voila,负载平衡。这也会按接口扩展,因为添加新端口将涉及添加另一个接口和静态路由。
评论
您能否详细说明如果未启用多路径,运营商将如何通过在客户端的同一路由器上移动eBGP,开始通过两个链路发送流量。
–ytti
13年6月9日在8:26
当然,我将修改答案。
–约翰·詹森(John Jensen)
2013年6月9日17:19
严格来说,不需要多跳或迁移到同一路由器。它只需要您将BGP协议的下一跳更改为在eBGP对等方和接受“远程下一跳”和到它们的静态路由的提供者中都相同。
–ytti
2013年6月9日17:36
我不确定你是什么意思。以这种方式使用ebgp multihop进行负载平衡确实需要在同一2个路由器之间进行并行连接。
–约翰·詹森(John Jensen)
2013年6月9日17:39
您不需要移动现有的eBGP会话。您可以将路由映射中的下一跳重置为某个地址,两个eBGP都相同(您甚至不必在任何地方配置IP)。只要提供商接受此修改的下一跳(需要在IOS和JunOS中进行切换)并按照您的说明配置静态路由,它就可以在没有多跳或在客户端移动eBGP的情况下正常工作。
–ytti
2013年6月9日17:42
#3 楼
此处的最佳解决方案是通过maximum-paths 2
的BGP ECMP-但是,我要说的是,需要社区标记的“接受路由> / 24”听起来像是史诗般的愚蠢-假设您是他们的客户,他们应该接受您给予他们的最大回报最大数量的前缀,并根据与其他对等方达成的任何协议简单地过滤出站。在不进行ECMP方面,我把我放在类似的上游,我一直希望我可以向运输服务提供商宣布我想要的任何前缀大小,并让他们使用。因此,鉴于它们听起来并不十分称职,为了平衡流量,请不要撤回您的/ 24前缀-而是保留它,并确保您的/ 25路由除了提供者所称的内容之外,还标有NO_EXPORT标记要求,这样您的/ 25s不会意外地从其AS中泄漏出去(不是,如果这样的话,它很可能会走得很远)。
最后一点-确保此“无证件社区”实际上不是一个黑洞社区,因为那是...您知道,不好。
评论
这来自著名的1层,而我完成BGP的所有ISP都不允许gt 24作为一般策略。我曾计划在/ 25s上设置NO_EXPORT。
–generalnetworkerror
2013年6月10日下午6:49
我所有的上游都会接受我的> / 24,他们只是不会将其导出。我实际上利用这种效果来分流流量,因为它们不执行ECMP。
–奥利普
13年6月12日,0:53
此外,如果发生攻击,这样的事情将是可怕的-如果您无法通过黑洞社区向上游发布/ 32,则您会遇到麻烦。
–奥利普
13年6月16日在11:50
他们的确允许与合适的社区进行任何规模的黑洞公告。
–generalnetworkerror
2013年6月16日15:51
评论
即使您多宿主到两个不同的路由器,最大路径也可以工作,如果运营商网络上的每个入口PE都需要启用最大路径,并且需要从iBGP接收两条路径。当我写这篇文章时,我对此感到怀疑... Q修改了。