当前位置: 首页 > news >正文

计算机网络-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 100peer 2.2.2.2 as-number 100 peer 2.2.2.2 connect-interface LoopBack0peer 3.3.3.3 as-number 100 peer 3.3.3.3 connect-interface LoopBack0#ipv4-family unicastundo synchronizationmaximum load-balancing ibgp 2          # 配置最大的负载分担路由条数load-balancing as-path-ignore          # 忽略AS号完全一致检查peer 2.2.2.2 enablepeer 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 100peer 10.1.23.3 as-number 200 peer 10.1.24.4 as-number 200 #ipv4-family unicastundo synchronizationmaximum load-balancing ebgp 2    # 配置针对EBGP路由的负载分担为2peer 10.1.23.3 enablepeer 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 多平台发布

http://www.lryc.cn/news/382729.html

相关文章:

  • Python爬取中国福彩网彩票数据并以图表形式显示
  • 0621作业
  • ps基础入门
  • c语言常用易错记录
  • 制造业ERP五大生产模式详解!
  • ​Python20 Numpy基础
  • 暴雨虐长沙,生灵受煎熬
  • iptables(5)常用扩展模块iprange、string、time、connlimit、limit
  • Mars3d实现汽车尾气粒子效果从汽车屁股开始发射效果
  • 01_RISC-V 入门及指令集学习
  • Facebook与地方文化:数字平台的多元表达
  • ArmSoM-Sige7/5/1 和树莓派5规格比较
  • 创建App
  • 2024年6月上半月30篇大语言模型的论文推荐
  • Chromium下载
  • 【Linux】彻底理解---环境变量(什么是环境变量,环境变量有什么作用?)
  • VMware完美安装Ubuntu20.04
  • 使用Spring Boot作为CMS系统的后台,Nuxt.js作为前台的分析
  • Spring Boot整合Druid:轻松实现SQL监控和数据库密码加密
  • 推荐一款好用的编辑工具——onlyoffice桌面编辑器8.1
  • C++ | Leetcode C++题解之第188题买卖股票的最佳时机IV
  • 操作系统实训复习笔记(2)
  • 北邮《计算机网络》英文选择题课堂小测
  • kafka 集群安全认证机制的设计实现
  • pandas保存成CSV格式时数据换行:SQL的REPLACE函数过滤掉数据的回车符
  • 紧贴国家大战略需求,聚焦当前行业热点-海云安D10入选第四届香蜜湖金融科技创新奖拟奖项目
  • 构建 Linux 内核指南
  • Elasticsearch的快照
  • C/C++混合编译说明
  • 三种方式实现人车流统计(yolov5+opencv+deepsort+bytetrack+iou)