BGP路由策略 基础实验
要求:
1.使用Preva1策略,确保R4通过R2到达192.168.10.0/24
2.用AS_Path策略,确保R4通过R3到达192.168.11.0/24
3.配置MED策略,确保R4通过R3到达192.168.12.0/24
4.使用Local Preference策略,确保R1通过R2到达192.168.1.0/24
5.使用Local Preference策略,确保R1通过R3到达192.168.2.0/24
6.配置负载均衡,确保R1通过R2和R3到达192.168.3.0/24
7.使用AS策略,AS 500不接受任何始发于A5 123的路由
8.使用自定义Community策略,确保192.168.3.0/24路由不会被发布到AS 500
9.IBGP使用环回接口建邻,EBGP使用物理接口建邻
10.修改AS 123中的用户网段为Broadcast,方便后续在BGP中宣告
11.BGP宣告路由时,仅宣告24网段的用户路由
要求分析:
1. PreVal策略
- 原理:PreVal(优选值)是华为设备私有的BGP选路属性,仅在本地有效 ,数值越大越优先。通过设置不同邻居方向路由的PreVal值,可影响本地路由器的选路。
- 目的:让R4在到达192.168.10.0/24网段时,优先选择R2作为下一跳,即人为干预R4的BGP选路,使其按照指定路径转发流量。
2. AS_Path策略
- 原理:AS_Path是BGP路由的重要属性,记录路由从源端到当前路由器所经过的AS号序列。路由器在选路时,倾向于选择AS_Path短的路由。可以通过对AS_Path进行添加、修改等操作来影响选路。
- 目的:使R4到达192.168.11.0/24网段时,优先选择R3作为下一跳,通过控制AS_Path长度或内容,引导R4的流量走向。
3. MED策略
- 原理:MED(多出口鉴别属性)用于向外部AS通告本AS内的优选路径,它是一种可选非过渡属性。在不同AS的边界路由器之间传递,值越小越优先。
- 目的:引导R4在到达192.168.12.0/24网段时,优先选择R3作为下一跳,实现对跨AS流量路径的控制。
4. Local Preference策略(R1到192.168.1.0/24)
- 原理:Local Preference(本地优先级)是BGP用于AS内部选路的属性,本地优先级越高的路由越优先。该属性仅在AS内部传递,不会被通告到外部AS。
- 目的:在AS 123内部,让R1在到达192.168.1.0/24网段时,优先选择R2作为下一跳,用于AS内的流量路径规划。
5. Local Preference策略(R1到192.168.2.0/24)
- 原理:同4,利用Local Preference属性在AS内部进行选路。
- 目的:使R1在到达192.168.2.0/24网段时,优先选择R3作为下一跳,进一步精细化AS内的流量转发路径。
6. 负载均衡
- 原理:通过调整BGP选路相关属性(如Local Preference、AS_Path、MED等 ),使从不同邻居学到的到达同一目的网段(这里是192.168.3.0/24)的路由具有相同的优选级别,同时开启BGP等价路由功能(如华为设备的maximum - paths命令),让路由器可以将流量分散到多条路径上。
- 目的:让R1在到达192.168.3.0/24网段时,将流量通过R2和R3两条路径进行负载均衡,提高链路利用率,增强网络可靠性。
7. AS策略
- 原理:利用AS_Path过滤功能,在AS 500的边界路由器上配置入方向策略,拒绝AS_Path中包含特定AS号(这里是AS 123)的路由,从而阻止从AS 123始发的路由进入AS 500。
- 目的:实现AS 500对路由来源的控制,避免接收来自AS 123的路由,可能出于网络安全、管理策略等方面的考虑。
8. 自定义Community策略
- 原理:Community属性是一种可选过渡属性,用于对BGP路由进行分组和标记。通过在AS 123边界路由器上对特定路由(192.168.3.0/24)打上自定义Community属性,然后在AS 500边界路由器上配置过滤策略,拒绝带有该属性的路由,实现对特定路由的发布控制。
- 目的:阻止192.168.3.0/24路由被发布到AS 500,对路由的传播范围进行精确控制,满足网络管理和安全需求。
9. IBGP和EBGP建邻方式
- 原理:IBGP使用环回接口建邻,是因为环回接口地址相对稳定,即使物理接口出现故障,只要路由器可达,邻居关系就不会中断;EBGP使用物理接口建邻是常规做法,物理接口直接连接外部AS,用于建立跨AS的邻居关系。
- 目的:提高IBGP邻居关系的稳定性,确保AS内部BGP路由信息可靠传递;规范EBGP建邻方式,实现跨AS的BGP路由交互。
10. 修改用户网段网络类型
- 原理:将用户网段接口的网络类型修改为Broadcast,适用于运行如OSPF等动态路由协议的场景。Broadcast网络类型支持动态邻居发现,路由器之间可以通过组播方式交互链路状态信息等,便于路由协议收敛和路由通告。
- 目的:为后续在BGP中宣告用户网段路由做准备,使相关网段能通过动态路由协议正常学习和传递路由信息,最终实现BGP准确宣告。
11. BGP宣告路由限制
- 原理:通过IP前缀列表(prefix - list)精确匹配24网段的用户路由,然后在BGP宣告命令中调用该前缀列表,只宣告符合条件的路由。
- 目的:精确控制BGP宣告的路由范围,只将24网段的用户路由通告出去,避免不必要的路由宣告,提高路由表的简洁性和网络安全jut
具体步骤(这里用Router做)
一.配置IP地址和环回
命令: display ip interface brief
R1:
R2:
R3:
R4:
R5:
二.配置OSPF
R1:
[R1]ospf 1 router-id 1.1.1.1
R2:
[R2]ospf 1 router-id 2.2.2.2
R3:
[R3]ospf 1 router-id 3.3.3.3
三.修改AS 123中的用户网段为Broadcast
[R1-LoopBack1]ospf network-type broadcast
[R2-LoopBack1]ospf network-type broadcast
[R3-LoopBack1]ospf network-type broadcast
四.配置BGP并宣告
R1:
[R1-bgp]network 192.168.100.0 24
R2:
[R2-bgp]network 192.168.20.0 24
R3:
[R3-bgp]network 192.168.30.0 24
R4:
[R4-bgp]network 192.168.1.0 24
[R4-bgp]network 192.168.2.0 24
[R4-bgp]network 192.168.3.0 24
R5:
[R5-bgp]network 192.168.10.0 24
[R5-bgp]network 192.168.11.0 24
[R5-bgp]network 192.168.12.0 24
1.使用Preva1策略,确保R4通过R2到达192.168.10.0/24
[R4]ip ip-prefix 1 permit 192.168.10.0 24
[R4]route-policy 1 permit node 20
[R4]bgp 400
[R4-bgp]peer 24.0.0.2 route-policy 1 import
2.用AS_Path策略,确保R4通过R3到达192.168.11.0/24
[R4]ip ip-prefix AS permit 192.168.11.0 24
[R4]bgp 400
[R4-bgp]peer 24.0.0.2 route-policy AS import
3.配置MED策略,确保R4通过R3到达192.168.12.0/24
[R2]ip ip-prefix MED permit 192.168.12.0 24
[R2]route-policy MED permit node 20
[R2-bgp]peer 24.0.0.4 route-policy MED export
[R3]ip ip-prefix MED permit 192.168.12.0 24
[R3]route-policy MED permit node 20
[R3-bgp]peer 34.0.0.4 route-policy MED export
4.使用Local Preference策略,确保R1通过R2到达192.168.1.0/24
[R1]ip ip-prefix LP1 permit 192.168.1.0 24
[R1]route-policy LP1 permit node 20
[R1-bgp]peer 2.2.2.2 route-policy LP1 import
5.使用Local Preference策略,确保R1通过R3到达192.168.2.0/24
[R1]ip ip-prefix LP2 permit 192.168.2.0 24
[R1]route-policy LP2 permit node 20
[R1-bgp]peer 3.3.3.3 route-policy LP2 import
6.配置负载均衡,确保R1通过R2和R3到达192.168.3.0/24
[R1-bgp]maximum load-balancing 2
7.使用AS策略,AS 500不接受任何始发于A5 123的路由
[R5]ip as-path-filter 1 deny ^123$
[R5]ip as-path-filter 1 permit .*
[R5-bgp]peer 15.0.0.1 as-path-filter 1 import
8.使用自定义Community策略,确保192.168.3.0/24路由不会被发布到AS 500
[R1-bgp]peer 15.0.0.5 advertise-community
[R1]ip community-filter 1 permit 400:500
[R1]route-policy com deny node 10
[R1-route-policy]if-match community-filter 1
[R1]route-policy com permit node 20
[R1-bgp]peer 15.0.0.5 route-policy com export
[R2-bgp]peer 1.1.1.1 advertise-community
[R3-bgp]peer 1.1.1.1 advertise-community
[R4]route-policy com permit node 10
[R4-route-policy]apply community 400:500
[R4-bgp]network 192.168.3.0 24 route-policy com
[R4-bgp]peer 24.0.0.2 advertise-community
[R4-bgp]peer 34.0.0.3 advertise-community
实验感悟
这次实验不仅强化了我对BGP协议的掌握,更教会我如何系统性地分析问题、制定解决方案。当所有策略协同生效,网络流量如预期般精准流动——它不仅是代码与配置的堆砌,更是逻辑思维与创新能力的体现。
相关文章:

BGP路由策略 基础实验
要求: 1.使用Preva1策略,确保R4通过R2到达192.168.10.0/24 2.用AS_Path策略,确保R4通过R3到达192.168.11.0/24 3.配置MED策略,确保R4通过R3到达192.168.12.0/24 4.使用Local Preference策略,确保R1通过R2到达192.168.1.0/24 …...

第9讲、深入理解Scaled Dot-Product Attention
Scaled Dot-Product Attention是Transformer架构的核心组件,也是现代深度学习中最重要的注意力机制之一。本文将从原理、实现和应用三个方面深入剖析这一机制。 1. 基本原理 Scaled Dot-Product Attention的本质是一种加权求和机制,通过计算查询(Query…...
2025B难题练习
1.启动多任务排序 拓扑排序 每次选入度为0的点 对每次选的点进行排序 package mainimport ("bufio""fmt""os""slices""strings" )func main() {scanner : bufio.NewScanner(os.Stdin)scanner.Scan()text : scanner.Text()…...

双向长短期记忆网络-BiLSTM
5月14日复盘 二、BiLSTM 1. 概述 双向长短期记忆网络(Bi-directional Long Short-Term Memory,BiLSTM)是一种扩展自长短期记忆网络(LSTM)的结构,旨在解决传统 LSTM 模型只能考虑到过去信息的问题。BiLST…...

MySQL UPDATE 执行流程全解析
引言 当你在 MySQL 中执行一条 UPDATE 语句时,背后隐藏着一套精密的协作机制。从解析器到存储引擎,从锁管理到 WAL 日志,每个环节都直接影响数据一致性和性能。 本文将通过 Mermaid 流程图 和 时序图,完整还原 UPDATE 语句的执行…...

亚马逊云科技:开启数字化转型的无限可能
在数字技术蓬勃发展的今天,云计算早已突破单纯技术工具的范畴,成为驱动企业创新、引领行业变革的核心力量。亚马逊云科技凭借前瞻性的战略布局与持续的技术深耕,在全球云计算领域树立起行业标杆,为企业和个人用户提供全方位、高品…...
Gartner《How to Leverage Lakehouse Design in Your DataStrategy》学习心得
一、背景 随着数据量的爆炸式增长和数据类型复杂性的不断提高,企业面临着构建高效、灵活且经济的数据存储与处理架构的挑战。湖仓一体(Lakehouse)作为一种新兴的数据架构设计方法,融合了数据仓库和数据湖的优势,为这一挑战提供了创新的解决方案。Gartner发布了《How to L…...

【实测有效】Edge浏览器打开部分pdf文件显示空白
问题现象 Edge浏览器打开部分pdf文件显示空白或显示异常。 问题原因 部分pdf文件与edge浏览器存在兼容性问题,打开显示异常。 解决办法 法1:修改edge配置 打开edge浏览器&#x…...

RJ连接器的未来:它还会是网络连接的主流标准吗?
RJ连接器作为以太网接口的代表,自20世纪以来在计算机网络、通信设备、安防系统等领域中占据了核心地位。以RJ45为代表的RJ连接器,凭借其结构稳定、信号传输可靠、成本低廉等优势,在有线网络布线领域被广泛采用。然而,在无线网络不…...

Redis持久化机制详解:保障数据安全的关键策略
在现代应用开发中,Redis作为高性能的内存数据库被广泛使用。然而,内存的易失性特性使得持久化成为Redis设计中的关键环节。本文将全面剖析Redis的持久化机制,包括RDB、AOF以及混合持久化模式,帮助开发者根据业务需求选择最适合的持…...
shell脚本练习(6):备份MySQL数据库表
一、脚本编写 编写脚本如下: #!/bin/bash# 系统数据库 SYS_DB"information_schema|mysql|performance_schema|sys"# 需要备份的数据库 DBmysql -N -e "show databases" | egrep -v $SYS_DBfor i in $DB;do# 备份的路径BAK_PATH"/server/…...
深度学习模型基本框架
简介: 归纳了一套基本框架,以帮助使用者快速创建新的模型,同时有paddlepaddle版本和pytorch版本的,它们虽有差别,但是对于初级使用者,只是两种不同但是很相近的语法而已。都采用paddle平台作为载体来存项目…...
[Java][Leetcode middle] 134. 加油站
方法一,自己想的,超时 双重循环 从第一个点开始循环尝试, 如果最终能走到终点,说明可行。 public int canCompleteCircuit(int[] gas, int[] cost) {int res -1;int n gas.length;int remainGas;int j;for (int i 0; i < …...

DeepSeek 大模型部署全指南:常见问题、优化策略与实战解决方案
DeepSeek 作为当前最热门的开源大模型之一,其强大的语义理解和生成能力吸引了大量开发者和企业关注。然而在实际部署过程中,无论是本地运行还是云端服务,用户往往会遇到各种技术挑战。本文将全面剖析 DeepSeek 部署中的常见问题,提…...

嵌入式培训之数据结构学习(五)栈与队列
一、栈 (一)栈的基本概念 1、栈的定义: 注:线性表中的栈在堆区(因为是malloc来的);系统中的栈区存储局部变量、函数形参、函数返回值地址。 2、栈顶和栈底: 允许插入和删除的一端…...

RabbitMQ--进阶篇
RabbitMQ 客户端整合Spring Boot 添加相关的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 编写配置文件,配置RabbitMQ的服务信息 spri…...

Android Studio报错Cannot parse result path string:
前言 最近在写个小Demo,参考郭霖的《第一行代码》,学习DrawerLayout和NavigationView,不知咋地,突然报错Cannot parse result path string:xxxxxxxxxxxxx 反正百度,问ai都找不到答案,报错信息是完全看不懂…...
matlab求矩阵的逆、行列式、秩、转置
inv - 计算矩阵的逆 用途:计算一个可逆矩阵的逆矩阵。 D [1, 2; 3, 4]; % 定义一个2x2矩阵 D_inv inv(D); % 计算矩阵D的逆 disp(D_inv);det - 计算矩阵的行列式 用途:计算方阵的行列式。 E [1, 2; 3, 4]; determinant det(E); % 计算行列式 disp…...

关于网站提交搜索引擎
发布于Eucalyptus-blog 一、前言 将网站提交给搜索引擎是为了让搜索引擎更早地了解、索引和显示您的网站内容。以下是一些提交网站给搜索引擎的理由: 提高可见性:通过将您的网站提交给搜索引擎,可以提高您的网站在搜索结果中出现的机会。当用…...
计算机视觉与深度学习 | Python实现EMD-SSA-VMD-LSTM-Attention时间序列预测(完整源码和数据)
EMD-SSA-VMD-LSTM-Attention 一、完整代码实现二、代码结构解析三、关键数学公式四、参数调优建议五、性能优化方向六、工业部署建议 以下是用Python实现EMD-SSA-VMD-LSTM-Attention时间序列预测的完整解决方案。该方案结合了四层信号分解技术与注意力增强的深度学习模型&#…...
二进制与十进制互转的方法
附言: 在计算机科学和数字系统中,二进制和十进制是最常见的两种数制。二进制是计算机内部数据存储和处理的基础,而十进制则是我们日常生活中最常用的数制。因此,掌握二进制与十进制之间的转换方法对于计算机学习者和相关领域的从业者来说至关…...
05、基础入门-SpringBoot-HelloWorld
05、基础入门-SpringBoot-HelloWorld ## 一、Spring Boot 简介 **Spring Boot** 是一个用于简化 **Spring** 应用初始搭建和开发的框架,旨在让开发者快速启动项目并减少配置文件。 ### 主要特点 - **简化配置**:采用“约定优于配置”的原则,减…...
LeetCode 153. 寻找旋转排序数组中的最小值:二分查找法详解及高频疑问解析
文章目录 问题描述算法思路:二分查找法关键步骤 代码实现代码解释高频疑问解答1. 为什么循环条件是 left < right 而不是 left < right?2. 为什么比较 nums[mid] > nums[right] 而不是 nums[left] < nums[mid]?3. 为什么 right …...

基于QT(C++)OOP 实现(界面)酒店预订与管理系统
酒店预订与管理系统 1 系统功能设计 酒店预订是旅游出行的重要环节,而酒店预订与管理系统中的管理与信息透明是酒店预订业务的关键问题所在,能够方便地查询酒店信息进行付款退款以及用户之间的交流对于酒店预订行业提高服务质量具有重要的意义。 针对…...
人工智能100问☞第25问:什么是循环神经网络(RNN)?
目录 一、通俗解释 二、专业解析 三、权威参考 循环神经网络(RNN)是一种通过“记忆”序列中历史信息来处理时序数据的神经网络,可捕捉前后数据的关联性,擅长处理语言、语音等序列化任务。 一、通俗解释 想象你在和朋友聊天,每说一句话都会根据之前的对话内容调整语气…...

机械元件杂散光难以把控?OAS 软件案例深度解析
机械元件的杂散光分析 简介 在光学系统设计与工程实践中,机械元件的杂散光问题对系统性能有着不容忽视的影响。杂散光会降低光学系统的信噪比、图像对比度,甚至导致系统功能失效。因此,准确分析机械元件杂散光并采取有效抑制措施,…...

游戏引擎学习第289天:将视觉表现与实体类型解耦
回顾并为今天的工作设定基调 我们正在继续昨天对代码所做的改动。我们已经完成了“脑代码(brain code)”的概念,它本质上是一种为实体构建的自组织控制器结构。现在我们要做的是把旧的控制逻辑迁移到这个新的结构中,并进一步测试…...

【Linux网络】ARP协议
ARP协议 虽然我们在这里介绍 ARP 协议,但是需要强调,ARP 不是一个单纯的数据链路层的协议,而是一个介于数据链路层和网络层之间的协议。 ARP数据报的格式 字段长度(字节)说明硬件类型2网络类型(如以太网为…...

MUSE Pi Pro 开发板 Imagination GPU 利用 OpenCL 测试
视频讲解: MUSE Pi Pro 开发板 Imagination GPU 利用 OpenCL 测试 继续玩MUSE Pi Pro,今天看下比较关注的gpu这块,从opencl看起,安装clinfo指令 sudo apt install clinfo 可以看到这颗GPU是Imagination的 一般嵌入式中gpu都和hos…...

多线程与线程互斥
我们初步学习完线程之后,就要来试着写一写多线程了。在写之前,我们需要继续来学习一个线程接口——叫做线程分离。 默认情况下,新创建的线程是joinable的,线程退出后,需要对其进行pthread_join操作,否则无法…...