当前位置: 首页 > 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 多平台发布

相关文章:

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

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

Python爬取中国福彩网彩票数据并以图表形式显示

网页分析 首先打开中国福彩网,点击双色球,选择往期开奖栏目 进入栏目后,选定往期的奖金数目作为我们想要爬取的目标内容 明确目标后,开始寻找数据所在的位置 鼠标右击页面,打开网页源代码,在源代码中搜索…...

0621作业

目录 多线程并发服务器模型服务器实现 select的TCP服务器模型服务器实现 select的TCP客户端实现 多线程并发服务器 模型 sfd socket(); bind(); listen(); while(1){newfd accept();pthread_create(&tid, NULL, do_cli_msg, [newfd, cin]集合);pthread_detach(tid); } …...

ps基础入门

1.基础 1.1新建文件 1.2创建指定形状 1.4移动工具 1.41移动画布中的任意元素 1.42移动画布 1.43修改画布大小 1.44修改图像大小 1.5框选工具 1.6矩形工具 1.7图层 1.71图层颜色修改 1.72…...

c语言常用易错记录

c语言常用易错记录 文章目录 c语言常用易错记录1.for循环 1.for循环 示例&#xff1a; #include <stdio.h>int main() {int i;for (i 0; i < 10; i) {printf("%d\n", i);}return 0; }执行顺序 备注&#xff1a;此图来源于b站鹏哥C语言视频课截图&#xf…...

制造业ERP五大生产模式详解!

制造业面临着从成本控制、生产效率到供应链管理的挑战&#xff0c;每一个环节都需要精细化的管理和高效的协同。而ERP系统&#xff0c;作为一种集信息技术与管理思想于一体的管理工具&#xff0c;正逐渐成为制造业转型升级的关键。那么&#xff0c;通过本文你将会了解到&#x…...

​Python20 Numpy基础

NumPy&#xff08;Numerical Python&#xff09;是一个开源的Python库&#xff0c;广泛用于科学计算。它提供了一个高性能的多维数组对象&#xff0c;以及用于处理这些数组的工具和函数。NumPy是数据分析、机器学习、工程和科学研究中不可或缺的工具之一&#xff0c;因为它提供…...

暴雨虐长沙,生灵受煎熬

今天&#xff0c;“湖南长沙市遭遇强降雨,一小时的降雨量足够注满54个西湖”这消息&#xff0c;终于登上互联网社交平台热搜榜。 截图&#xff1a;来源社交网站 综合多家媒体消息概述如下。 昨&#xff08;24日&#xff09;天&#xff0c;湖南长沙市遭遇强降雨&#xff0c;一…...

iptables(5)常用扩展模块iprange、string、time、connlimit、limit

简介 之前我们已经介绍过扩展模块的简单使用,比如使用-m tcp/udp ,-m multiport参数通过--dports,--sports可以设置连续和非连续的端口范围。那么我们如何匹配其他的一些参数呢,比如源地址范围,目的地址范围,时间范围等,这就是我们这篇文章介绍的内容。 iprange扩展模块…...

Mars3d实现汽车尾气粒子效果从汽车屁股开始发射效果

本身的汽车尾气粒子效果&#xff1a;在汽车模型的中间发射的↓↓↓↓↓↓↓↓↓↓↓ Mars3d实例中是使用transY偏移值实现汽车尾气粒子效果从汽车屁股开始发射效果&#xff1a; // 动态运行车辆的尾气粒子效果 function addDemoGraphic4(graphicLayer) {const fixedRoute new…...

01_RISC-V 入门及指令集学习

参考文档 risc-v入门&#xff1a;https://blog.csdn.net/bebebug/article/details/128039038RISC-V OS&#xff1a;https://blog.csdn.net/bebebug/article/details/130551378riscv-spec文档&#xff1a;https://riscv.org/wp-content/uploads/2019/12/riscv-spec-20191213.pd…...

Facebook与地方文化:数字平台的多元表达

在当今数字化时代&#xff0c;社交媒体不仅仅是人们交流的工具&#xff0c;更是促进地方文化传播和表达的重要平台。作为全球最大的社交网络之一&#xff0c;Facebook在连接世界各地用户的同时&#xff0c;也成为了地方文化多元表达的重要舞台。本文将深入探讨Facebook如何通过…...

ArmSoM-Sige7/5/1 和树莓派5规格比较

引言 在当今快速发展的嵌入式系统领域&#xff0c;选择一款性能强大、功能丰富的开发板对于项目的成功至关重要。本文将介绍并比较 Sige7、Sige5、Raspberry Pi 5 和 Sige1 这四款开发板的关键规格和特性&#xff0c;帮助开发者和爱好者选择最适合其需求的平台。 ArmSoM-Sige…...

创建App

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Django项目中&#xff0c;推荐使用App来完成不同模块的任务&#xff0c;通过执行如下命令可以启用一个应用程序。 python manage.py startapp app…...

2024年6月上半月30篇大语言模型的论文推荐

大语言模型&#xff08;LLMs&#xff09;在近年来取得了快速发展。本文总结了2024年6月上半月发布的一些最重要的LLM论文&#xff0c;可以让你及时了解最新进展。 LLM进展与基准测试 1、WildBench: Benchmarking LLMs with Challenging Tasks from Real Users in the Wild Wi…...

Chromium下载

https://chromium.woolyss.com/download/ https://www.chromium.org/getting-involved/download-chromium/...

【Linux】彻底理解---环境变量(什么是环境变量,环境变量有什么作用?)

目录 一、前言 二、什么是环境变量&#xff1f; 三、如何添加环境变量&#xff1f; 四、如何获取环境变量&#xff1f; &#x1f4a7;环境变量相关的命令&#x1f4a7; &#x1f4a7;测试HOME与USER&#x1f4a7; &#x1f525;环境变量的获取方式&#x1f525; ① en…...

VMware完美安装Ubuntu20.04

一、官网下载Ubuntu20.04 下载地址为&#xff1a;https://releases.ubuntu.com/https://releases.ubuntu.com/ 下载完后镜像为ubuntu-20.04.4-desktop-amd64.iso 二、Ubuntu安装 2.1、打开VMware player&#xff0c;并创建新虚拟机。 2.2、点击浏览按钮选择需要安装的镜像 2…...

使用Spring Boot作为CMS系统的后台,Nuxt.js作为前台的分析

在现代Web开发中&#xff0c;前后端分离架构越来越受欢迎。Spring Boot和Nuxt.js的组合为构建内容管理系统&#xff08;CMS&#xff09;提供了一个强大的解决方案。本文将分析这种组合的优势、挑战以及应用场景。 1. 技术概述 1.1 Spring Boot Spring Boot是基于Java的框架&…...

Spring Boot整合Druid:轻松实现SQL监控和数据库密码加密

文章目录 1 引言1.1 简介1.2 Druid的功能1.3 竞品对比 2 准备工作2.1 项目环境 3 集成Druid3.1 添加依赖3.2 配置Druid3.3 编写测试类测试3.4 访问控制台3.5 测试SQL监控3.6 数据库密码加密3.6.1 执行命令加密数据库密码3.6.2 配置参数3.6.3 测试 4 总结 1 引言 1.1 简介 Dru…...

FPGA资源省一半?揭秘多相滤波器在抽取/内插中的高效实现结构与Xilinx IP核配置要点

FPGA资源优化实战&#xff1a;多相滤波器在采样率转换中的高效架构与Xilinx IP核深度配置 当信号处理系统面临严苛的资源约束时&#xff0c;工程师们常常需要在性能与成本之间走钢丝。多相滤波器结构就像一位精明的财务顾问&#xff0c;能帮你在FPGA资源预算紧张的情况下&#…...

第十三章:R 读取 txt、csv 表格数据

数据分析的第一步永远是读取数据。真实数据通常存储在 CSV、TXT 等文件中&#xff0c;本章将学习如何用 R 读取外部数据文件&#xff0c;以及如何把分析结果导出保存。 一、数据文件常见格式 格式扩展名特点CSV.csv逗号分隔&#xff0c;最通用的表格格式TXT.txt制表符或自定义…...

可定制尺寸的工业烤盘公司

江苏台烁是专注为大中型食品生产企业提供可定制尺寸全品类工业烤盘的专业厂商&#xff0c;核心竞争优势为全尺寸高精度定制能力搭配智能生产体系&#xff0c;可提供节能耐用、适配产线的工业化烘焙器具解决方案。核心优势与关键数据生产与资质基础&#xff1a;拥有4.8万㎡智能工…...

基于Adafruit NeoTrellis M4的电子鼓机与步进音序器DIY指南

1. 项目概述与核心价值如果你对电子音乐制作、硬件DIY或者嵌入式编程感兴趣&#xff0c;但又觉得门槛太高&#xff0c;那么今天聊的这个项目&#xff0c;绝对能让你眼前一亮。我们不是要复刻一台动辄上万的经典鼓机&#xff0c;而是要用一块巴掌大的开发板——Adafruit NeoTrel…...

【亲测免费】 CISP-DSG 数据安全培训教材课件标准版

CISP-DSG 数据安全培训教材课件标准版 【下载地址】CISP-DSG数据安全培训教材课件标准版 本仓库提供的是“注册数据安全治理专业人员”&#xff08;Certified Information Security Professional - Data Security Governance&#xff0c;简称 CISP-DSG&#xff09;的培训教材课…...

宠物领养平台(10052)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告/任务书&#xff09;远程调试控屏包运行一键启动项目&…...

MATLAB许可排队严重?研发软件许可共享,不增购满足需求

我去年带着团队做自动驾驶算法验证&#xff0c;结果MATLAB许可证天天排队。每天早上团队成员像抢盲盒一样点开MATLAB&#xff0c;结果发现根本抢不到。我们项目组三人全用同一个许可证&#xff0c;项目延期三个月&#xff0c;研发效率直线下滑。这种乱象真的该结束了。问题本质…...

云端IDE开发CircuitPython:VS Code EDU实战指南与工具链解析

1. 项目概述&#xff1a;当CircuitPython遇上云端IDE如果你玩过像Adafruit的Metro M4、Raspberry Pi Pico这类微控制器板子&#xff0c;对CircuitPython一定不陌生。它让硬件编程变得像写Python脚本一样简单&#xff0c;code.py一保存&#xff0c;板子上的LED立马就能闪起来。但…...

杰理之智能充电舱通信模块【篇】

固定 VOUT0/1 使用的通信 IO 为 P10/P11&#xff0c;固定使用 UART0。 SDK公版已经做好智能仓的基本通信交互了&#xff0c;耳机电量获取&#xff0c;状态获取&#xff0c;耳机配对等...

免费开源AMD Ryzen处理器调试工具:5分钟掌握SMUDebugTool终极指南

免费开源AMD Ryzen处理器调试工具&#xff1a;5分钟掌握SMUDebugTool终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址:…...