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

BGP的local_preference本地优先级属性

在这里插入图片描述

一、BGP的local preference属性简介

1、local preference公认任意属性
当一条BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由属性进行比较,从而筛选出最佳到达目标网络的通达路径。本地优先属性,只在IBGP对等体之间进行交换,即:同一AS内进行,不会通告给AS域外。
Local Preference属性可以用于选择流量离开AS时的最佳路由,也就是控制流量从哪个出口离开AS。当BGP路由器通过不同的IBGP对等体接收到目标网络相同但下一跳不同的多条路由时,将优先选择Local Preference值较高的路由。
2、BGP使用local preference属性的规则:
(1)在BGP优选路由的时候,在preference value 相同的情况,进而判断local_prefrence值越大越优先。Local_prefrence值是一个32比特的整数,取值范围为0~4294967295。默认情况BGP 路由的local preference value 为100。
(2)local_prefrence 只在IBGP对等体进行传播。当路由器从IBGP对等体接收路由的local_prefrence 值为空时,那么会将此路由的local_prefrence 设置为100,即:在IBGP对等体传递路由,默认值为100。
(3)当路由器从IBGP对等体接收路由的local_prefrence值不为空时,那么将此路由的local_prefrence 进行保留,不做修改。
(4)使用network通告或的import-route 引入的路由,local_prefrence 值为空。
(5)路由器在向其EBGP对等体发送路由更新时,不能携带Local Preference属性,但是对方接收路由之后,会在本地为这条路由赋一个缺省Local Preference值( 100),然后再将路由传递给自己的IBGP对等体。本地使用network命令引入及重发布引入的路由,Local Preference为缺省值100,并能在AS内向其他IBGP对等体传递,传递过程中除非受路由策略影响,否则Local Preference不变。
(6)可以在AS边界路由器上使用import方向的策略来修改Local Preference属性值。也就是在收到路由之后,在本地为路由赋予Local Preference。

二、拓扑图

在这里插入图片描述

说明:
1、为展示Local_prefrence本地优先级属性,AR2与AR3通过loopback0建立BGP邻居关系,AR1与AR2之间采用物理链路的接口ip地址建立邻居关系。
2、AR1的loopback1地址模拟运营商网络的服务器,AR4的loopback1地址模拟公司内网的服务器。
3、采用路由策略route-policy抓取模拟服务器的路由,在AR2的G0/0/0接口修改local prefrence属性值,再观察BGP路由的变化。

三、配置过程

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
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
interface LoopBack1
ip address 10.1.100.2 255.255.255.255
bgp 100
peer 3.3.3.3 as-number 200
peer 3.3.3.3 ebgp-max-hop 255
peer 3.3.3.3 connect-interface LoopBack0
peer 10.1.12.2 as-number 200
peer 10.1.12.2 ebgp-max-hop 255
ipv4-family unicast
undo synchronization
network 10.1.100.2 255.255.255.255
peer 3.3.3.3 enable
peer 10.1.12.2 enable
ospf 1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 10.1.12.0 0.0.0.255
network 10.1.13.0 0.0.0.255
network 10.1.100.2 0.0.0.0

2、配置AR2
System-view
sysname AR2
interface GigabitEthernet0/0/0
ip address 10.1.12.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.24.2 255.255.255.0
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
bgp 200
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0
peer 10.1.12.1 as-number 100
peer 10.1.12.1 ebgp-max-hop 255
ipv4-family unicast
undo synchronization
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local
peer 10.1.12.1 enable
peer 10.1.12.1 route-policy 1 import
peer 10.1.12.1 route-policy 1 export
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.1.12.0 0.0.0.255
network 10.1.24.0 0.0.0.255
route-policy 1 permit node 10
if-match ip-prefix 1
apply local-preference 2
route-policy 1 permit node 20
ip ip-prefix 1 index 10 permit 10.1.100.2 32

3、配置AR3
System-view
sysname AR3
interface GigabitEthernet0/0/0
ip address 10.1.34.3 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.13.3 255.255.255.0
interface LoopBack0
ip address 3.3.3.3 255.255.255.255

bgp 200
peer 1.1.1.1 as-number 100
peer 1.1.1.1 ebgp-max-hop 255
peer 1.1.1.1 connect-interface LoopBack0
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0

ipv4-family unicast
undo synchronization
peer 1.1.1.1 enable
peer 2.2.2.2 enable
peer 2.2.2.2 next-hop-local
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local
ospf 1
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 10.1.13.0 0.0.0.255
network 10.1.34.0 0.0.0.255

4、配置AR4
System-view
sysname AR4
interface GigabitEthernet0/0/0
ip address 10.1.24.4 255.255.255.0

interface GigabitEthernet0/0/1
ip address 10.1.34.4 255.255.255.0
interface LoopBack0
ip address 4.4.4.4 255.255.255.255

interface LoopBack1
ip address 10.1.100.4 255.255.255.255

bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 3.3.3.3 as-number 200
peer 3.3.3.3 connect-interface LoopBack0

ipv4-family unicast
undo synchronization
network 10.1.100.4 255.255.255.255
peer 2.2.2.2 enable
peer 2.2.2.2 next-hop-local
peer 3.3.3.3 enable
peer 3.3.3.3 next-hop-local
ospf 1
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 10.1.24.0 0.0.0.255
network 10.1.34.0 0.0.0.255

四、验证结果

(一)观察完成以上配置后的结果:

1、从AR2上查看BGP邻居关系及BGP路由表,如下图:
在这里插入图片描述

从上图看出,到达目标AR1的10.1.100.2有2条路由,下一跳是3.3.3.3为最优路由,local prefrence的值为100;下一跳是10.1.12.1为次优路由,local prefrence的值为2(是我们通过路由策略route-policy修改AR2与AR1邻居关系中的出入流量的local prefrence值为2后,降低了优先级)
2、跟踪从AR2到AR3的路由,是途经的AR4到达的3.3.3.3,而不是走的AR1的10.1.12.1这条,从BGP的优先级看,10.1.12.1是次优路由,如下图:
在这里插入图片描述

3、跟踪从AR1运营商服务器10.1.100.2到AR4公司内网服务器10.1.100.4的网络流量路径,是途经AR2的10.1.12.2为主路由,下一跳3.3.3.3是次优路由,如下图:
在这里插入图片描述

(二)通过路由策略route-policy修改AR2与AR1邻居关系中的出入流量的local prefrence值为120后,提高优先级,大于100

,修改过程如下图:
在这里插入图片描述

使用路由策略route-policy抓取10.1.100.2/32的这条路由,修改local prefrence的值从2改为120,提升BGP路由的优先级。

(三)再对比修改local prefrence值前后的BGP路由表变化

1、当AR2上到达10.1.100.2/32的BGP local prefrence值为2时的路由表,如下图:
在这里插入图片描述

2 、当AR2上到达10.1.100.2/32的BGP local prefrence值为120时的路由表,此时再观察AR2上的BGP,就只剩下10.1.12.1,local prefrence为120值的这条路由了,如下图:
在这里插入图片描述

(四)查看AR1上BGP路由表,当AR2的local_prefrence值修改为2时,与修改为120时,均无变化,如下图:

在这里插入图片描述

通过实验验证,修改BGP的local_prefrence值,可以达到修改BGP路由优先级的目的。local_prefrence 只在IBGP对等体进行传播,不会将值传递到AS系统之外。

相关文章:

BGP的local_preference本地优先级属性

一、BGP的local preference属性简介 1、local preference公认任意属性 当一条BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由属性进行比较,从而筛选出最佳到达目标网络的通达路径。本地优先属性,只在IBGP对等体之间…...

IP地址与端口号

ip地址与端口号 IP地址和端口号是网络通信中的两个重要概念,它们共同构成了网络通信的基础。 IP地址:网络世界的门牌号 定义:IP地址(Internet Protocol Address)是分配给网络设备的数字标签,用于在计算机网…...

Fastapi + vue3 自动化测试平台(2)--日志中间件

FastAPI Vue3 自动化测试平台(2)-- 日志中间件 前言 在开发和运行自动化测试平台时,日志功能是至关重要的一部分。日志不仅能帮助我们快速定位和解决问题,还能作为平台运行的记录依据,为后续分析和优化提供参考。 …...

iOS - AutoreleasePool

1. 基本数据结构 // AutoreleasePool 的基本结构 struct AutoreleasePoolPage {static pthread_key_t const key AUTORELEASE_POOL_KEY;magic_t const magic;id *next; // 指向下一个可存放对象的地址pthread_t const thread; // 所属线程AutoreleasePoolPage …...

1.CSS的复合选择器

1.1 什么是复合选择器 在CSS中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基础选择器进行组合形成的。 复合选择器可以更精准、更高效的选择目标元素(标签) 复…...

优质内容在个人IP运营中的重要性:以开源AI智能名片商城小程序为应用实例的深度探讨

摘要:在数字化时代,个人品牌(IP)的塑造与传播已成为各行各业提升影响力、吸引用户关注、促进商业转化的关键策略。优质内容作为连接个人IP与目标受众的桥梁,其在个人IP运营中的重要性不言而喻。本文旨在深入探讨优质内…...

Kafka性能测试

kafka是一个大数据消息队列(可以看做为缓存软件) 功能测试:能够读写数据 性能测试:1、测试生产者每秒往kafka写入的最大吞吐量 2、测试消费者每秒从kafka里获取消息最大吞吐量 硬件 3台物理机组成的kafka集群。 内存121G、24…...

解决Docker冲突问题

错误:docker-ce-cli conflicts with 2:docker-1.13.1-210.git7d71120.el7.centos.x86_64 错误:docker-ce conflicts with 2:docker-1.13.1-210.git7d71120.el7.centos.x86_64 您可以尝试添加 --skip-broken 选项来解决该问题 您可以尝试执行:…...

新手入门 React .tsx 项目:从零到实战

🚀 新手入门 React .tsx 项目:从零到实战 💻✨ 如果你是 React 新手,刚接触 .tsx 文件,不要担心!跟着这份指南,一步一步来,你很快就能上手了!👇 &#x1f4d…...

基于可信数据空间的企业数据要素与流通体系建设(附ppt 下载)

近期,可信数据空间会议召开。大数据系统软件国家工程研究中心总工程师王晨发表了题为《基于可信数据空间的企业数据要素与流通体系建设》主旨演讲。 篇幅限制,部分内容如下:...

二维数组:求最大元素及其所在的行坐标及列坐标(PTA)C语言

求出NM整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。 函数接口定义: int fun(int array[N][M]) ; 注意:函数只需靠return返回最大元素的值, 行、列坐标通过…...

WebRtc01: 课程导学、框架介绍

应用 难点 课程大纲 学习收获 涉及内容 概述 用途 学习收获...

HQChart使用教程30-K线图如何对接第3方数据44-DRAWPIE数据结构

HQChart使用教程30-K线图如何对接第3方数据44-DRAWPIE数据结构 效果图DRAWPIEHQChart代码地址后台数据对接说明示例数据数据结构说明效果图 DRAWPIE DRAWPIE是hqchart插件独有的绘制饼图函数,可以通过麦语法脚本来绘制一个简单的饼图数据。 饼图显示的位置固定在右上角。 下…...

【cuda学习日记】2.2 使用2维网络(grid)和2维块(block)对矩阵进行求和

在2.0中进行了用一维网格和块对一维向量进行了求和。 在2.1中例化了二维的网格和块。 接下来进行2维网络&#xff08;grid&#xff09;和2维块&#xff08;block&#xff09;对矩阵进行求和。 #include <stdio.h> #include <stdlib.h> #include <time.h> #i…...

深度学习中CUDA环境安装教程

首先说明&#xff0c;本人是小白&#xff0c;一次安装&#xff0c;可能有不对的地方&#xff0c;望包含。 安装CUDA 因为我们是深度学习&#xff0c;很多时候要用到gpu进行训练&#xff0c;所以我们需要一种方式加快训练速度。 通俗地说&#xff0c;CUDA是一种协助“CPU任务分…...

IDEA的常用设置

目录 一、显示顶部工具栏 二、设置编辑区字体按住鼠标滚轮变大变小&#xff08;看需要设置&#xff09; 三、设置自动导包和优化导入的包&#xff08;有的时候还是需要手动导包&#xff09; 四、设置导入同一个包下的类&#xff0c;超过指定个数的时候&#xff0c;合并为*&a…...

【VUE+ElementUI】通过接口下载blob流文件设置全局Loading加载进度

下载Blob流文件&#xff0c;并以服务形式显示文件下载进度 1、下载接口 增加 config参数&#xff0c;并用...config将该属性加入到请求中&#xff1b; xxapi.js文件中设置downloadFile下载接口 // 下载文件 export function downloadFile(data, config) {return request({ur…...

算法的五个重要特性和4个基本标准

五个特性&#xff1a; 1、有穷性&#xff1a;一个算法必须执行有穷步后结束、 2、确定性&#xff1a;对于每种情况下所应执行的操作&#xff0c;在算法中都应该有确切的规定&#xff0c;不会产生二义性&#xff0c; 使得算法的执行者和阅读者都能明确其含义以及如何执行。 3、…...

svelte5中使用react组件

在svelet5中导入并使用react组件库 svelte5中使用react组件 svelte5中使用react组件 在svelet5中导入并使用react组件库, 示例项目地址&#xff1a;https://github.com/shenshouer/my-svelte-react 在svelte5中当前还有问题&#xff0c;无法将children传递到react中渲染 使用…...

iOS - 自定义引用计数(MRC)

自定义引用计数&#xff08;Custom Reference Counting&#xff09;是指类可以通过重写 retain/release 等方法来实现自己的引用计数管理机制。这通常用于特殊场景下的内存管理优化。 1. 判断是否使用自定义引用计数 inline bool objc_object::hasCustomRR() {// 检查类是否…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...