计算机网络-BGP路由负载分担

在大型网络中,到达同一目的地通常会存在多条有效BGP路由,设备只会优选一条最优的BGP路由,将该路由加载到路由表中使用,这一特点往往会造成很多流量负载不均衡的情况。

通过配置BGP负载分担,可以使得设备同时将多条等代价的BGP路由加载到路由表,实现流量负载均衡,减少网络拥塞。

值得注意的是,尽管配置了BGP负载分担,设备依然只会在多条到达同一目的地的BGP路由中优选一条路由,并只将这条路由通告给其他对等体。

只有满足条件的多条BGP路由才会成为等价路由,进行负载分担。

一、形成BGP路由等价负载分担的条件

  • Preferred-Value属性值相同。
  • Local_Preference属性值相同。
  • 都是聚合路由或者非聚合路由。
  • AS_Path属性长度相同。
  • Origin类型(IGP、EGP、Incomplete)相同。
  • MED属性值相同。
  • 都是EBGP路由或都是IBGP路由。
  • AS内部IGP的Metric相同。
  • AS_Path属性完全相同。

可以简单理解为满足前八条选路规则一致的路由才具备形成等价路由的条件。

实例分析:

BGP路由类型有两种:IBGP路由EBGP路由,因此对应的负载分担类似也有两种,一般在AS内部的为IBGP,即通过多出口到达目的网段,在AS边界的可能配置EBGP路由负载分担。

拓扑图
拓扑图
属性值AR4AR5
Preferred-Value属性值00
Local_Preference属性值100100
是否聚合路由
AS_Path属性长度200300
Origin类型igpigp
MED属性值00
路由类型IBGPIBGP
AS内部IGP的Metric11
AS_Path属性完全相同200300

上面的属性除了最后一条AS-Path属性完全一致是不满足的其它都是相同的,但是在实际情况中AR1作为AS内部路由器拥有多出口情况下AS-Path只能做到AS的长度一致。默认情况下设备只会对AS_Path完全相同的路由进行负载分担,可以使用load-balancing as-path-ignore忽略AS_Path路径不一致。

查看AR1的路由表:

AR1路由表 现在AR1的BGP路由表优选AR2到达192.168.1.0/24,然后BGP路由条目下发到IP全局路由表类型为IBGP路由,最终下发到FIB转发表

配置负载分担:在AR1上配置负载分担。

bgp 100
 peer 2.2.2.2 as-number 100 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 3.3.3.3 as-number 100 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  maximum load-balancing ibgp 2          # 配置最大的负载分担路由条数
  load-balancing as-path-ignore          # 忽略AS号完全一致检查
  peer 2.2.2.2 enable
  peer 3.3.3.3 enable
#

配置示例:maximum load-balancing {ibgp | ebgp | number(1-8)}

  • ibgp :表示对于IBGP学习到的路由进行负载分担
  • ebgp :表示对于EBGP学习到的路由进行负载分担,如果不设置ibgp或者ebgp则表示全局负载均衡
  • number:默认是1,默认不进行负载分担,最大数量视设备性能型号而定

查看负载分担后的AR1路由表: 路由表

发现BGP路由表依然只有一条最优路由,但是在IP全局路由表出现了两条,而且FIB转发表也是两条路由,这样就实现了IBGP路由的负载分担。

二、EBGP路由负载分担

拓扑图
拓扑图

分别配置好IP地址,不同AS间配置EBGP邻居,在AR1上通过network通过Lookback 0的网段192.168.1.0/24.

在AR2上查看邻居与路由。 BGP邻居对等体

路由表
路由表

在AR2配置路由负载分担:

bgp 100
 peer 10.1.23.3 as-number 200 
 peer 10.1.24.4 as-number 200 
 #
 ipv4-family unicast
  undo synchronization
  maximum load-balancing ebgp 2    # 配置针对EBGP路由的负载分担为2
  peer 10.1.23.3 enable
  peer 10.1.24.4 enable

# 这里为什么不需要忽略AS属性一致呢,因为AR2通过AR3和AR4的AS-Path路径都为200 300 。

最后查看路由表:

查看路由信息
查看路由信息

总结:通过配置BGP路由分担可以实现流量负载均衡,减少网络拥塞。通过使用load-balancing as-path-ignore忽略AS_Path路径不一致。通过maximum load-balancing {ibgp | ebgp | number(1-8)}配置负载分担。最终效果在BGP路由表还是优选一条,但是在全局路由表会有两条负载分担的等价路由。

如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子 不喜欢热闹的孩子

本文由 mdnice 多平台发布

  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不喜欢热闹的孩子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值