BGP通过route-policy路由策略调用ip-prefix网络前缀实现负载均衡与可靠性之AS-path属性

一、实验场景
1、loopback0与loopback1模拟企业实际环境中的某个网段。
2、本例目标总公司AR3的1.1.1.1/32网段到分公司AR4的3.3.3.3/32的流量从上方的AS500自治系统走。
3、本例目标总公司AR3的4.4.4.4/32网段到分公司AR4的2.2.2.2/32的流量从下面的AS300、AS400自治系统走。
4、总公司到分公司之间的AS500或AS300、AS400其中一条链路断开后,网络仍可正常运行,确保网络的可靠性。
5、从总公司到分公司的流量以负载均衡的方式在BGP路由中运行。
说明:路由策略与策略路由的区别
1、路由策略主要用于改变网络流量所经过的途径,通过修改路由属性(如可达性)来实现。它是一种智能化的路由方式,能够与路由协议结合,完成策略性的路由选择。路由策略通常指的是在网络中设置特定的规则,以确定数据包的传输路径。路由策略通常使用传统的路由协议和算法,如RIP、OSPF或BGP等。路由策略通过优化路由选择可以提高网络的整体性能和效率。路由策略适用于大多数标准网络环境,特别是在大规模网络中。如:本例中的BGP路由协议实验则是通过路由策略来完成。
2、策略路由则是一种更灵活的数据包路由转发机制,它基于策略进行转发,而不是简单的按路由表顺序进行。策略路由在数据包处理中具有更高的优先级,能够在路由表查找之前根据策略进行转发,这使得它能够更精细地控制数据包的流向。策略路由则是基于一组规则或政策来决定流量的路由,这些规则可能包括源地址、目的地、端口号等。策略路由则可能使用的技术如路由表、访问控制列表(ACL)或特定的路由协议扩展。策略路由则通过精确控制流量实现高效的网络资源利用,但可能需要更多的处理资源。策略路由提供了更高的灵活性和控制能力,适用于需要精细流量管理的复杂网络。如:在企业中有多条公网出口,公网出口的质量有差异,某些重要的业务需要通过ip专线出去,另一些日常网络流量则可通过拨号光纤出去,此时可选择配置策略路由,策略路由的转发优先于路由表。
二、实验拓扑图:

三、BGP的AS_PATH属性作用有:
1、防止BGP环路:当BGP路由器收到一条路由信息时,它会检查该路由信息的AS_PATH属性。如果AS_PATH属性中的某个AS号与路由器自身的AS号相同,那么该路由器就会知道该路由出现了环路,因为需要丢包处理。
2、路由优先级:AS_PATH属性中的AS号数量可以用于标识路由的优先级。一般来说,经过的AS号越少,说明该路由越优先。因此,AS_PATH属性可以根据AS号来判断路由的优先级
四、配置过程
1、【AR1】
System-view
sysname AR1
interface GigabitEthernet0/0/0
ip address 10.1.12.1 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.13.1 255.255.255.0
bgp 300
peer 10.1.12.2 as-number 400
peer 10.1.12.2 ebgp-max-hop 255
peer 10.1.13.3 as-number 100
peer 10.1.13.3 ebgp-max-hop 255
ipv4-family unicast
undo synchronization
peer 10.1.12.2 enable
peer 10.1.13.3 enable
2、【AR2】
System-view
sysname AR2
interface GigabitEthernet0/0/0
ip address 10.1.24.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.12.2 255.255.255.0
bgp 400
peer 10.1.12.1 as-number 300
peer 10.1.12.1 ebgp-max-hop 255
peer 10.1.24.4 as-number 200
peer 10.1.24.4 ebgp-max-hop 255
ipv4-family unicast
undo synchronization
peer 10.1.12.1 enable
peer 10.1.24.4 enable
3、【AR3】
System-view
sysname AR3
interface GigabitEthernet0/0/0
ip address 10.1.35.3 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.13.3 255.255.255.0
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
interface LoopBack1
ip address 4.4.4.4 255.255.255.255
bgp 100
peer 10.1.13.1 as-number 300
peer 10.1.13.1 ebgp-max-hop 255
peer 10.1.35.5 as-number 500
peer 10.1.35.5 ebgp-max-hop 255
ipv4-family unicast
undo synchronization
network 1.1.1.1 255.255.255.255
network 4.4.4.4 255.255.255.255
peer 10.1.13.1 enable
peer 10.1.35.5 enable
4、【AR4】
System-view
sysname AR4
interface GigabitEthernet0/0/0
ip address 10.1.46.4 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.24.4 255.255.255.0
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
interface LoopBack1
ip address 3.3.3.3 255.255.255.255
bgp 200
peer 10.1.24.2 as-number 400
peer 10.1.24.2 ebgp-max-hop 255
peer 10.1.46.6 as-number 500
peer 10.1.46.6 ebgp-max-hop 255
ipv4-family unicast
undo synchronization
network 2.2.2.2 255.255.255.255
network 3.3.3.3 255.255.255.255
peer 10.1.24.2 enable
peer 10.1.46.6 enable
5、【AR5】
System-view
sysname AR5
interface GigabitEthernet0/0/0
ip address 10.1.35.5 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.56.5 255.255.255.0
bgp 500
peer 10.1.35.3 as-number 100
peer 10.1.35.3 ebgp-max-hop 255
peer 10.1.56.6 as-number 500
ipv4-family unicast
undo synchronization
peer 10.1.35.3 enable
peer 10.1.56.6 enable
peer 10.1.56.6 next-hop-local
6、【AR6】
System-view
sysname AR6
interface GigabitEthernet0/0/0
ip address 10.1.56.6 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.46.6 255.255.255.0
bgp 500
peer 10.1.46.4 as-number 200
peer 10.1.46.4 ebgp-max-hop 255
peer 10.1.56.5 as-number 500
ipv4-family unicast
undo synchronization
peer 10.1.46.4 enable
peer 10.1.56.5 enable
peer 10.1.56.5 next-hop-local
五、验证网络路径及网络的可靠性
(一)BGP原始路径的验证:
1、在总公司AR3上查看BGP邻居关系与ip路由表中的BGP路由,可以看出到分公司2.2.2.2与3.3.3.3的下一跳都是10.1.35.5,说明从总公司AR3到2.2.2.2与3.3.3.3都是默认从最短的路径AS500到达,默认从源到目标通过的AS自治系统数越少,路径越优。如下图:

2、在总公司AR3上查看BGP路由表,可以看出到达分公司2.2.2.2的有2条路由,其中*>最优路由下一跳是10.1.35.5,而次优路由下一跳是10.1.13.1,如下图:

3、在分公司的AR4上查看BGP邻居关系与ip路由表中的BGP路由,*>最优路由仍是AS500中的10.1.46.6,从AS_PATH路径看,从500 100i到达1.1.1.1,比400 300 100i到达1.1.1.1,要少过一个AS自治系统,如下图:

4、从总公司到分公司之间的AR6的G0/0/0抓包验证从AR3到AR4的网络流量,都是从上面的路径走过,即下面的路径是空闲备用状态,如下图:

从上图可以看出,默认的BGP配置,从总公司AR3到分公司AR4的网络流量都是从AR5和AR6的AS500通过,下面的AR1和AR2是空闲状态,从而网络没有发挥最优的性能。
所以我们要让网络流量从总公司到分公司实现负载均衡,下面使用ip-prefix与route-policy配合完成。
(二)负载均衡的配置及验证:
1、修改总公司AR3的配置:把从总公司AR3到达分公司AR4的2.2.2.2/32的BGP路由建立一条路由前缀ip-prefix,然后在BGP路由中增加一条ipv4-family的单播规则,通过路由策略route-policy调用这个条规划,从入的方向调用。路由策略的配置,满足路由前缀ip-prefix时,应用将AS-PATH属性增加600 800 900这3个AS自治系统号,从而500 200i就会变成600 800 900 500 200i,如下图:

【修改AR3】
bgp 100
ipv4-family unicast
peer 10.1.35.5 route-policy as_path import
route-policy as_path permit node 10
if-match ip-prefix as_path
apply as-path 600 800 900 additive
route-policy as_path permit node 20
ip ip-prefix as_path index 10 permit 2.2.2.2 32
2、从总公司AR3查看BGP路由表及ip路由表中的bgp路由,其中到达分公司2.2.2.2的BGP路由下一跳发生了变化,且经过的AS自治系统号也有变化(是我们在路由策略中应用增加了600 800 900 ),如下图:

3、修改分公司AR4的配置:
【修改AR4】
ip ip-prefix 1 index 10 permit 4.4.4.4 32
route-policy 1 permit node 30
if-match ip-prefix 1
apply as-path 1000 1200 1500 additive
route-policy 1 permit node 40
Bgp 200
ipv4-family unicast
peer 10.1.46.6 route-policy 1 import
4、从分公司的AR4查看ip路由表中的bgp路由,并查看分公司AR4的BGP路由表,从分公司AR4到达总公司AR3的4.4.4.4最优路由*>下一跳已经发生了变化,如下图:

(三)验证目标从上面的链路与下面的链路同时抓包
1、从总公司AR3的1.1.1.1到分公司AR4的3.3.3.3的网络流量路径,与预期目标一致,如下图:

2、从总公司的AR3的4.4.4.4到分公司AR4的2.2.2.2的网络流量路径,与预期目标一致,如下图:

3、有人会说,如果验证总公司AR3的1.1.1.1到分公司AR4的2.2.2.2,或验证总公司AR3的4.4.4.4到分公司AR4的3.3.3.3的结果呢?
解析:
(1)总公司AR3的1.1.1.1到分公司AR4的2.2.2.2的访问网络流量,如下图:

(2)分公司AR4的2.2.2.2到总公司AR3的1.1.1.1回应的网络流量,如下图:

(3)结论:总公司AR3的1.1.1.1到分公司AR4的2.2.2.2访问网络流量与回复网络流量路径是不同的,即request的请求流量与reply的回应流量网络路径不同,网络流量形成了一个环的状态,从上方的AR6的G0/0/0接口抓包,同时也从AR3的G0/0/1接口抓包,如下图:

同理,从总公司AR3的4.4.4.4到分公司AR4的3.3.3.3,请求包的路径与回复包的路径也是不同的。此处不再赘述。
(四)验证某节点物理故障后,网络仍可正常运行:
1、把链路正常情况下,总公司AR3的BGP路由表与ip路由表中的bgp协议路由显示,如下图:

2、把总公司到分公司之间AR5上的G0/0/1接口shutdown后,再从AR3上查看BGP路由表与ip路由表中的bgp协议路由,很明显就少了10.1.35.5的那条路由,但是仍然可以到达2.2.2.2与3.3.3.3的目的网络,如下图:
(1)查看总公司AR3上ip路由表中的bgp协议路由,与BGP 路由表,如下图:

(2)总公司从AR3的1.1.1.1网段到分公司AR4的2.2.2.2网段的路径只有下面一条是正常的,发送的数据包与回应的数据包都从下面的路径走,而不是与之前那样发送与回应的路径 不同,request包与reply包都从同一路径走,如下图:

3、把总公司到分公司之间AR5的G0/0/1接口undo shutdown,后再把总公司到分公司之间AR1的G0/0/0接口shutdown,然后查看总公司AR3上的BGP路由表与ip路由表中的BGP协议路由时,只剩下10.1.35.5的下一跳路由了,被shutdown的接口10.1.13.1的路由自然就不存在
(1)查看AR3的ip路由表中的BGP协议路由,与BGP路由表如下图:

(2)总公司从AR3的4.4.4.4网段到分公司AR4的3.3.3.3网段的路径只有下面一条正常的情况下,发送的数据包与回应的数据包都从下面的路径走,而不是与之前那样发送与回应的路径 不同,request包与reply包都从同一路径走,如下图:

4、结论:从以上验证,说明当链路中某个节点故障后,网络仍可正常运行,总公司到达分公司的网络路径会自动切换到另一条。
通过本次实验,验证了BGP协议通过自身的特性能达到防环的目标,> 表示最优路由,BGP路由表 ,>其下方的一条路由则是次优路由,采用路由策略route-policy调用前缀列表ip-prefix,控制网络流量的AS_PATH属性值 ,实现了总公司与分公司之间链路的流量负载均衡,提高了网络资源的利用率。另外也通过shutdown命令在网络制造故障后,总公司到分公司的网络流量也可以从另一条路径走,提升了网络的可靠性、可用性。
相关文章:
BGP通过route-policy路由策略调用ip-prefix网络前缀实现负载均衡与可靠性之AS-path属性
一、实验场景 1、loopback0与loopback1模拟企业实际环境中的某个网段。 2、本例目标总公司AR3的1.1.1.1/32网段到分公司AR4的3.3.3.3/32的流量从上方的AS500自治系统走。 3、本例目标总公司AR3的4.4.4.4/32网段到分公司AR4的2.2.2.2/32的流量从下面的AS300、AS400自治系统走。…...
每日速记10道java面试题14-MySQL篇
其他资料 每日速记10道java面试题01-CSDN博客 每日速记10道java面试题02-CSDN博客 每日速记10道java面试题03-CSDN博客 每日速记10道java面试题04-CSDN博客 每日速记10道java面试题05-CSDN博客 每日速记10道java面试题06-CSDN博客 每日速记10道java面试题07-CSDN博客 每…...
内存图及其画法
所有的文件都存在硬盘上,首次使用的时候才会进入内存 进程:有自己的Main方法,并且依赖自己Main运行起来的程序。独占一块内存区域,互不干扰。内存中有一个一个的进程。 操作系统只认识c语言。操作系统调度驱动管理硬件࿰…...
Ansys Maxwell:Qi 无线充电组件
Qi 无线充电采用感应充电技术,无需物理连接器或电缆,即可将电力从充电站传输到兼容设备。由 WPC 管理的 Qi 标准确保了不同无线充电产品之间的互操作性。以下是 Qi v1.3 标准的核心功能: Qi v1.3 标准的主要特点 身份验证:确保充…...
【Shell 脚本实现 HTTP 请求的接收、解析、处理逻辑】
以下是一个实现客户端对 Shell HTTP 服务发起 POST 请求并传入 JSON 参数的完整示例。Shell 服务会解析收到的 JSON 数据,根据内容执行操作。 服务端脚本:http_server.sh 以下脚本使用 netcat (nc) 来监听 HTTP 请求,并通过 jq 工具解析 JSO…...
【北京迅为】iTOP-4412全能版使用手册-第六十七章 USB鼠标驱动详解
iTOP-4412全能版采用四核Cortex-A9,主频为1.4GHz-1.6GHz,配备S5M8767 电源管理,集成USB HUB,选用高品质板对板连接器稳定可靠,大厂生产,做工精良。接口一应俱全,开发更简单,搭载全网通4G、支持WIFI、蓝牙、…...
【青牛科技】拥有两个独立的、高增益、内部相位补偿的双运算放大器,可适用于单电源或双电源工作——D4558
概述: D4558内部包括有两个独立的、高增益、内部相位补偿的双运算放大器,可适用于单电源或双电源工作。该电路具有电压增益高、噪声低等特点。主要应用于音频信号放大,有源滤波器等场合。 D4558采用DIP8、SOP8的封装形式 主要特点ÿ…...
Kafka 数据写入问题
目录标题 分析思路1. **生产者配置问题**:Kafka生产者的配置参数生产者和消费者的处理确定并优化 2. **网络问题**:3. **Kafka 集群配置问题**:unclean.leader.election.enable 4. **Zookeeper 配置问题**:5. **JVM 参数调优**&am…...
实战ansible-playbook(九)-profile配置- 确保 CUDA 和 MPI 环境变量正确设置并立即生效
Playbook 分析 --- - name: 确保 CUDA 和 MPI 环境变量正确设置并立即生效hosts: pod2 # 指定目标主机组或具体主机名become: yes # 使用特权提升(sudo),以root权限执行某些需要权限的任务remote_user: canopy # 远程连接使用的用户名vars: # 定义全局变量,用于Playbo…...
气膜馆:科技与环保融合的未来建筑新选择—轻空间
在全球城市化进程不断加快的背景下,传统建筑方式面临着越来越多的挑战。如何在有限的土地和资源条件下,快速、高效、环保地搭建符合多功能需求的建筑,成为现代建筑行业亟待解决的重要课题。而随着科技的进步与建筑材料的创新,一种…...
git回退到某个版本git checkout和git reset命令的区别
文章目录 1. git checkout <commit>2. git reset --hard <commit>两者的区别总结推荐使用场景* 在使用 Git 回退到某个版本时, git checkout <commit> 和 git reset --hard <commit> 是两种常见的方式,但它们的用途和影响有很…...
Preprocess
Preprocess数据预处理 文本 使用Tokenizer将文本转换为标记序列,创建标记的数值表示,并将它们组装成张量。 预处理文本数据的主要工具是标记器。标记器根据一组规则将文本拆分为标记。标记被转换为数字,然后转换为张量,这些张量…...
stm32 spi接口传输asm330l速率优化(及cpu和dma方式对比)
最近一段时间做了一个mems的项目,项目的方案是stm32g071做主控,读写3颗asm330l的硬件形态。最初是想放置4颗imu芯片,因为pcb空间布局的问题,改放了3颗。但对于软件方案来说无所谓,关键是如何优化spi的传输速率…...
数字时代的文化宝库:存储技术与精神生活
文章目录 1. 文学经典的数字传承2. 音乐的无限可能3. 影视艺术的数字化存储4. 结语 数字时代的文化宝库:存储技术与精神生活 在数字化的浪潮中,存储技术如同一座桥梁,连接着过去与未来,承载着人类文明的瑰宝。随着存储容量的不断增…...
flex: 1 display:flex 导致的宽度失效问题
flex: 1 & display:flex 导致的宽度失效问题 问题复现 有这样的一个业务场景,详情项每行三项分别占33%宽度,每项有label字数不固定所以宽度不固定,还有content 占满标签剩余宽度,文字过多显示省略号, 鼠标划入展示…...
Hive 窗口函数与分析函数深度解析:开启大数据分析的新维度
Hive 窗口函数与分析函数深度解析:开启大数据分析的新维度 在当今大数据蓬勃发展的时代,Hive 作为一款强大的数据仓库工具,其窗口函数和分析函数犹如一把把精巧的手术刀,助力数据分析师们精准地剖析海量数据,挖掘出深…...
前端工程 Node 版本如何选择
1. Node 与 Npm 版本对应 这是一个必知必会的问题,尤其是对于维护那些老掉牙、一坨坨、非常大的有着长期历史的老破大工程。 1.1. package-lock.json 版本 首先你要会看项目的 package-lock.json 文件中的 lockfileVersion 版本号,这对于 NPM 安装来说…...
推荐在线Sql运行
SQL Fiddle 1、网址:SQL Fiddle - Online SQL Compiler for learning & practiceDiscover our free online SQL editor enhanced with AI to chat, explain, and generate code. Support SQL Server, MySQL, MariaDB, PostgreSQL, and SQLite.http://www.sqlfi…...
【数据结构】【线性表】特殊的线性表-字符串
目录 字符串的基本概念 字符串的三要素 字符串的基本概念 串的编码 串的实现及基本运算 顺序串的实现 串的静态数组实现 串的动态数组的实现 顺序存储的四种方案 链式串的实现 基本运算 方案三 方案一 字符串的基本概念 数据结构千千万,…...
app-1 App 逆向环境准备(mumu模拟器+magisk+LSPosed+算法助手+抓包(socksDroid+charles)+Frida环境搭建
一、前言 本篇是基于 mumu模拟器 进行环境配置记录。(真机的后面博客记录) 二、mumu模拟器magiskLSPosed算法助手 2.1、mumu模拟器 选择 mumu 模拟器,下载地址:https://mumu.163.com 安装完成后打开,找到设置中心进…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
