BGP负载均衡问题

上传人:夏** 文档编号:473716088 上传时间:2023-06-02 格式:DOCX 页数:11 大小:368.64KB
返回 下载 相关 举报
BGP负载均衡问题_第1页
第1页 / 共11页
BGP负载均衡问题_第2页
第2页 / 共11页
BGP负载均衡问题_第3页
第3页 / 共11页
BGP负载均衡问题_第4页
第4页 / 共11页
BGP负载均衡问题_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《BGP负载均衡问题》由会员分享,可在线阅读,更多相关《BGP负载均衡问题(11页珍藏版)》请在金锄头文库上搜索。

1、呵护尊贵文/张宇弟BGP 流量负载分担规划1 BGP 流量负载分担概述如何优化的利用网络带宽资源,是流量负载分担的关注重点。BGP (BorderGateway Protocol, 边界网关协议)选择单条最优路径的这一特征往往会出现流 量负载不均衡的流量模型,BGP流量负载均衡从两个角度出发解决这个问题: 通过BGP强大的策略控制流量的负载均衡;通过多路径选路实现负载分担。本文 就要从这两个角度来展开分析BGP在流量负载分担方面的技术应用。2 负载均衡在实际网络中进行负载均衡需要综合考虑链路和设备节点的负载情况,在满足业 务的实际需求前提下,可以通过BGP的策略工具对流量进行均衡的规划和调整。

2、 对于一个 AS 来说,流量的方向分为入境和出境两个方向,这种区分对应到实际 的网络有不同的规划,所以我们在此通过不同的场景进行介绍。2.1 入方向流量负载均衡图 1 多宿主到不同的上游的 负载均衡我们先分析一下图1的场景,AS100希望流量能够在AS200和AS300间进行负载 均衡,也就是说根据业务分别映射到Linkl和Link2上。在规划中我们有如下思路:1 AS100可以在RA和RB上通过策略只向各自的对等体通告部分路由前缀,这样 可以起到不同的业务对应由不同的AS承载。如172.168.1.0/25通过RA通告给 RC, 172.168.1.128/25通过RB通告给RD。这种规划能

3、够满足流量分担的效果, 但是一旦出现链路或节点的失效,就会导致部分流量无法切换,业务中断。2 通过步骤1我们可以看到简单的通过路由过滤无法很好的实现需求。我们可以 通过对不同的前缀进行策略区分。接着步骤1的思路,AS100希望172.168.1.0/25 优先通过AS200进入,希望172.168.128.0/25优选通过AS300进入。可以在RA 上通过策略将 172.168.128.0/128 通告的 AS-PATH 加一个 AS-Number,如:1000 100。上通过策略将 172.168.1.0/25 通告给 RD 的 AS-PATH 加一个 AS-Number, 如: 2000

4、100。RE上关于172.168.1.0/25的前缀从RC通告过来的AS-PATH是:200 100,通 过RD通告过来的AS-PATH是:300 2000 100,因此优选走AS200。关于172.168.128.0/25同理会优选AS300。该规划可以在满足需求的同时解决路由备 份的问题。但是我们考虑下面一个场景,当RC和RD建立BGP连接,RD上关于 172.168.1.0/25的前缀从RC通告过来的AS-PATH是100 200,从RB上通告过来 的AS-PATH是2000 100,也就是说RD上关于172.168.1.0/25无法很好的进行 路由选路控制。3团体属性是进行本地进行路由

5、控制的重要属性,但是团体属性需要BGP对等双 方有属性处理的共识。在步骤2的基础上,RB在通告172.168.1.0/25时,可以 将团体属性值修改为100: 120,在RD上将团体属性的前缀预定义 Local-preference为120,这样对于RD来说在收到RC和RB的前缀AS-PATH相 同长度的情况下, RB 通告的前缀 Local-preference 高,优选 RB。分析完图1 所示的场景,我们可以继续看看多宿主相同上游的场景,如图 2:AS200RBRAAS100图 2 多宿主相同 AS 的负载均衡对于相同的上游AS,我们更多的需要考虑上游AS内部的选路,对于跨过上游AS 的远

6、端 AS 的选路我们很难控制,因此本文讨论的重点就在本地和上游 AS 的选路 策略部署。先分析需求,本地AS希望172.168.1.0/25通过RB进入, 172.168.128.0/25通过RC进入。存在下述三种方式:1 借鉴上文中多宿主不同 AS 的做法,将 172.168.128.0/25 通告给 RB 时,将 AS-PATH 设置为 1000 100,将 172.168.1.0/25 通告给 RC 时,将 AS-PATH 设置为 2000 100。由于RB和RC之间是IBGP邻居,因此对于RB来说,172.168.1.0/25 从RA学习到的AS-PATH是100,从RC上学习到的AS

7、-PATH是2000 100,优选 RA的路由。对于172.168.128.0/24来说,从RA学习的路由AS-PATH为1000 100, 从RC学习的路由AS-PATH为100,优选RC。这满足了需求。2同样,在AS间协商进行策略部署的前提下,可以在RA上对不同的业务前缀进 行属性赋值的区分,在RB/RC对不同的属性设置不同的本地优先级进行业务的分 担均衡。3还是针对图2,对于AS200进行入方向的流量负载分担部署,最直接的方法就 是通过修改MED值的方法,使得RA通过MED值直接进行路由的优选。2.2 出方向负载均衡我们还是先分析图1的场景,AS100希望出方向的业务流量能够在RA和RB

8、间进 行合理的负载均衡:1可以通过在RA和RB上进行入境路由前缀过滤,通过前缀在不同的出口路由器 的通告分担来实现业务流量出方向的负载均衡。2入境的过滤适用于对端AS的业务负载分担,但是对于远端Internet的业务, 无法通过入境路由前缀过滤的方法实现,否则会出现单点故障导致业务中断的情 况。对于Internet业务就需要进行入境路由前缀策略控制,例如通过添加 AS-PATH或者对特定前缀设置不同的本地优先级等。3 对于单点故障导致业务中断的考虑还可以通过出口路由器发布缺省路由的方 式作为路径的备份,一旦出现某个出口路由器故障,路径可以通过缺省路由切换 至其他出口路由器,起到备份的效果。4同

9、样可以和上游AS协商,通过通告来的前缀携带不同的团体属性进行相应的 策略控制。对于图2的场景,单出口路由器上进行负载分担可以借助路由策略的方法更为灵 活:1 针对不同对等体进行入境路由前缀过滤,使业务自然分担到不同的出口链路上 同时配置缺省路由指向对等体,防止单点故障业务中断;2 通过针对特定前缀设置多种属性,如 Local-preference、Origin、MED 等,在 本地进行路由优选。2.3 AS 内部负载均衡AS 内部的负载均衡相对容易部署,通过策略对业务进行区分,对不同的业务使 用不同的BGP属性进行控制。如图3, RB和RC同时向RA通告172.168.1.0/25 和 172

10、.168.128.0/25,RA 希望 172.168.1.0/25 业务从 RB 走,172.168.128.0/128 从RC走。满足这种需求,可以直接在RA上对业务进行区分,对RB通告的 172.168.1.0/25 的 Local preference 设置为 120,将 RC 通告的 172.168.128.0/25 的 Local preference 设置为 120,本地优选结果能够满足需 求。图3 AS内部负载均衡3 等价负载分担上文介绍的是多宿主情况下的负载均衡规划思路,本章节需要关注的是通过等价 路由在路由器之间进行负载分担的部署方式。3.1 EBGP 多跳负载分担图4的场

11、景是两台出口路由器之间通过环回口建立EBGP邻接,我们知道对于EBGP邻接超过1跳建立邻接需要通过命令peer x.x.x.x ebgp-max-hopMaximum hop,其中Maximum hop设置大于1。对每一个链路接口对应配置静态路由,指向对端环回口地址,路由下一跳为链路对端接口地址。这种方法通过路由下一跳 地址的迭代,将流量负载分担到不同的链路上,实现多跳的 EBGP 对等体间的多 链路负载分担。图 4 多链路多跳 EBGP 对等体负载 分担3.2 EBGP 多路径负载分担图5 的场景和图 4 类似,区别在于两个出口路由器通过链路接口地址建立 了多个EBGP会话,每一个会话对应于

12、特定的链路。RBRAAS10010.1 1-.211.1.1.2AS20011 1 1.110 1 1.1图 5 多链路多 EBGP 对等体负载分RA和RB通过两条链路的物理接口地址建立两个单跳EBGP邻接关系,以 RA举例,从两个EBGP会话均收到关于172.16.1.0/24的路由信息,在其他属性 都相同的前提下,两个 EBGP 对等体通告的路由形成等价。比较上述两种负载分担方式,第一种方式,建立了一个 EBGP 会话,会话 直接绑定在两个出口路由器的环回地址,通过直连路由迭代下一跳的方式在链路 间实现负载分担。这种方式 EBGP 会话属于多跳会话,需要两个 AS 间进行环回地 址的路由部

13、署,适用性有一定的限制。第二种方式,需要建立多个会话,对资源 有一定的消耗,同时对于EBGP等价路由的配置,是针对本设备所有BGP对等体 适用,无法区分对等体,因此,缺少一定的灵活性。3.3 AS 内部负载分担AS内部的负载分担规划同样可以采用下一跳迭代的方式在同一个IBGP会 话间进行多链路的负载分担。对于多IBGP对等体通告的路由在优选属性相同的 前提下能够形成负载分担。对于图6中的场景,RB和RC向RA通告172.168.1.0/24 的路由前缀,在ORIGIN,LOCAL-PREFERENCE以及AS-PATH路径属性均相同的前 提下能够形成负载分担。图 6 AS 内部负载分担多链路的

14、负载分担还是可以通过下一跳迭代到等价 IGP 路由或者默认路由来实现,例如 图 7 所示场景:RDRCRBRAAS100图 7 IGP 路由的下一跳迭代RD和RA建立IBGP邻接关系,RD向RA通告路由172.168.1.0/24, RA 上关于172.168.1.0/24的路由下一跳是RD的环回口地址,在RA上针对RD环回 口地址有两条等价的IGP路由:RA-RB-RD和RA-RC-RD,通过下一跳迭代,在RA 上针对172.168.1.0/24的BGP路由也形成等价。3.4 负载分担规划原则ORIGIN,LOCAL-PREFERENCE,MED以及AS-PATH路径属性均相同是形成 负载分

15、担的前提,在此前提下还要遵循一定的原则进行负载分担规划。以图 8 举例,RB/RC均与RA通过广播网络建立单跳EBGP对等体,RA向RB/RC通告路 由前缀172.168.1.0/24, RB和RC同时向RD通告,RE上收到RB和RC的路由不 会形成负载分担,为什么?缺省情况下,边界路由其器向IBGP对等体通告EBGP路由时,不会修改 下一跳,因此RB和RC向RE通告的路由下一跳均为RA的接口地址,在RE上由 于下一跳相同,因此不会形成负载分担。可解决的办法是: 在RB和RC上针对IBGP对等体通过配置修改为:peer x.x.x.x next-hop-local,将下一跳修改为本地地址,这样RE上收到的路由下 一跳不同,可以形成负载分担。同样利用图8举例,RD是RR,RB和RE是其RR Client,同时RB和RE间建立IBGP邻接关系,RB通告路由172.168.1.0/24, RD反射至 RE。RR在反射路由时缺省不会修改下一跳,因此在RE上关于 172.168.1.0/24的路由下一跳均为RB的环回地址,可以利用前文的 路由迭代,将RE-RB和RE-RD-RB的IGP路由Metric设置相同,此时 能否形成负载分担?此时无法形成负载分担,原因是因为非反射路由 和反射路由间无法形成负载分担。在图8中,可以将RC/R

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号