BGP路由协议之属性2
Orgin 起源
公认必遵属性
| 起源名称 | 标记 | 描述 |
|---|---|---|
| IGP | i | 如果路由是由始发的 BGP 路由器使用 network 命令注入到 BGP 的,那么该 BGP 路由的 origin 属性为 IGP |
| EGP | e | 如果路由是通过 EGP 学习到的,那么该 BGP 路由的 Origin 属性为 EGP |
| Incomplete | ? | 如果路由是通过其他方式学习到的,则 origin 属性为 Incomplete (不完整的例如通过 import-route 命令引入到 BGP 的路由 |
该属性为公认必遵属性,它标识了 BGP 路由的起源。如上表所示,根据路由被引入 BGP 的方式不同,存在三种类型的 Origin。
当去往同一个目的地存在多条不同 origin 属性的路由时,在其他条件都相同的情况下,BGP 将按如 Origin 的下顺序优选路由:IGP>EGP >Incomplete。
简单理解:network > 导入的路由
NextHop 下一跳
公认必遵属性
该属性是一个公认必遵属性,用于指定到达目标网络的下一跳地址
当路由器学习到 BGP 路由后,需对 BGP 路由的 Next Hop 属性值进行检查,该属性值(IP 地址)必须在本地路由可达,如果不可达,则这条 BGP 路由不可用
在不同的场景中,设备对 BGP 路由的缺省 Next Hop 属性值的设置规则如下
- BGP 路由器在向 EBGP 对等体发布某条路由时,会把该路由信息的下一跳属性设置为本地与对端建立 BGP 邻居关系的接口地址
- BGP 路由器将本地始发路由发布给 IBGP 对等体时,会把该路由信息的下一跳属性设置为本地与对端建立 BGP 邻居关系的接口地址。
- 路由器在收到 EBGP 对等体所通告的 BGP 路由后,在将路由传递给自己的 IBGP 对等体时,会保持路由的 Next Hop 属性值不变。
- 如果路由器收到某条 BGP 路由,该路由的 Next Hop 属性值与 EBGP 对等体(更新对象)同属一个网段,那么该条路由的 Next Hop 地址将保持不变并传递给它的 BGP 对等体。
将自己始发的路由传给 EBGP 邻居时,下一跳为自己的连接源地址


修改 Next-Hop 属性,下一跳为自己的邻居连接源地址

如果下一跳与 EBGP 邻居属于一个网段,下一跳将保持不变

Local Preference 本地优先级
公认任意属性
BGP 的选路条件之一,只会出现在 IBGP 邻居之间

- Local.Preference 即本地优先级属性,是公认任意属性,可以用于告诉 AS 中的路由器,哪条路径是离开本 AS 的首选路径
- LocalPreference 属性值越大则 BGP 路由越优。缺省的 Local Preference 值为 100。
- 该属性只能被传递给 IBGP 对等体,而不能传递给 EBGP 对等体。
// 创建路由策略,将被acl 2000匹配到的路由Local Preference属性改为200,其他放行。
[Huawei]route-policy pre1 permit node 10
[Huawei-route-policy]if-match acl 2000
[Huawei-route-policy]apply local-preference 200
[Huawei]route-policy pre1 permit node 999
// 在邻居 2.2.2.2 的出方向执行策略
[Huawei-bgp]peer 2.2.2.2 route-policy pre1 export // 修改本地的默认优先级
[Huawei-bgp]default local-preference 100
注意事项
- LocalPreference 属性只能在 IBGP 对等体间传递(除非做了策略否则 Local Preference 值在 IBGP 对等体间传递过程中不会丢失),而不能在 EBGP 对等体间传递,如果在 EBGP 对等体间收到的路由的路径属性中携带了 LocalPreference,则会进行错误处理
- 但是可以在 AS 边界路由器上使用 lmport 方向的策略来修改 Local-Preference 属性值。也就是在收到路由之后在本地为路由赋予 Local:Preference。
- 使用 bgpdefault loca-preference 命令修改缺省 LocalPreference 值,该值缺省为 100
- 路由器在向其 EBGP 对等体发送路由更新时,不能携带 Local.Preference 属性但是对方接收路由之后,会在本地为这条路由赋一个缺省 LocalPreference 值(100),然后再将路由传递给自己的 BGP 对等体。
- 本地使用 network 命令及 import-route 命令引入的路由 ocalPreference 为缺省值 100,并能在 AS 内向其他 IBGP 对等体传递,传递过程中除非受路由策略影响,否则 LocalPreference 不变
相关文章:
BGP路由协议之属性2
Orgin 起源 公认必遵属性 起源名称标记描述IGPi如果路由是由始发的 BGP 路由器使用 network 命令注入到 BGP 的,那么该 BGP 路由的 origin 属性为 IGPEGPe如果路由是通过 EGP 学习到的,那么该 BGP 路由的 Origin 属性为 EGPIncomplete?如果路由是通过…...
纯个人整理,蓝桥杯使用的算法模板day2(0-1背包问题),手打个人理解注释,超全面,且均已验证成功(附带详细手写“模拟流程图”,全网首个
算法索引 01背包优化前空间优化版(使用一维数组)优化后的模拟流程图为何优化后,j不能使用正序遍历模拟流程图 代码对应实现案例 01背包 优化前 /*** 0-1背包问题解法(与下方代码表格示例对应,已模拟验证)*…...
算法与数据结构线性表之栈和队列
Hello大家好! 很高兴与大家见面! 给生活添点快乐,开始今天的编程之路。 我的博客:<但愿. 我的专栏:C语言、题目精讲、算法与数据结构、C 欢迎点赞,关注 一 栈 1概念:栈是⼀种特殊的线性表,其只允许…...
python应用之使用pdfplumber 解析pdf文件内容
目录标题 一. 通过 pdfplumber.open() 解析复杂PDF:1-2. 报错:V2 : 1-3. v3 使用tk 库,弹框选择文件运行环境准备完整代码保存运行测试步骤方式二:命令行方式(适用于自动化) 测试用例示例常见问…...
laravel update报In PackageManifest.php line 122:Undefined index: name 错误的解决办法
用 composer 更新 laravel依赖包时报错 > Illuminate\Foundation\ComposerScripts::postAutoloadDump > Illuminate\Foundation\ComposerScripts::postAutoloadDump > php artisan package:discover --ansiIn PackageManifest.php line 122:Undefined index: nameScr…...
Vue中使用antd-table组件实现数据选择、禁用、已选择禁用-demo
实现案例 实现过程 表格代码 关键代码 :row-selection="rowSelection" <div><div class="flex items-center justify-between pt-[24px] pb-[16px]"><p>已选:{{ keysNum }}</p><a-input-search v-model:value="productN…...
C语言--统计输入字符串中的单词个数
输入 输入:大小写字母以及空格,单词以空格分隔 输出:单词个数 代码 如果不是空格且inWord0说明是进入单词的第一个字母,则单词总数加一。 如果是空格,证明离开单词,inWord 0。 #include <stdio.h&g…...
Kubernetes 集群搭建(三):使用dashboard用户界面(需要访问外网获取yaml)
(一)简介 K8s Dashboard是Kubernetes提供的一种基于Web的用户界面工具,用于可视化地管理和监控Kubernetes集群 主要功能: 资源查看与管理: 查看Kubernetes集群中的各种资源,如节点、Pod、服务、部署等。 对…...
Debian 12 服务器搭建Beego环境
一、Debian 12系统准备 1.更新系统 #apt update && apt upgrade -y 2.安装基础工具 #apt install -y git curl wget make gcc 二、安装Go环境 Go语言的镜像官网:https://golang.google.cn/ 1.下载go最新版 #cd /usr/local/src #wget -o https://golang.go…...
游戏引擎学习第208天
运行游戏并回顾我们的情况 今天,我们将继续完成之前中断的调试输出工作。最近的工作偏离了一些,展示了如何进行元编程的实践,主要涉及了一个小的解析器。尽管这个解析器本身是一个玩具,但它展示了如何完成一个完整的循环…...
【在校课堂笔记】Python 第 7 节课 总结
- 第 85 篇 - Date: 2025 - 04 - 06 Author: 郑龙浩/仟墨 【Python 在校课堂笔记】 南山-第 7 节课 上课时间: 2025-03-27 文章目录 南山-第 7 节课一 99乘法表 –> 三角二 函数1 已接触的函数,部分举例2 自定函数的定义与使用自定义函数:举例 3 带参数的4 阶乘…...
评价区动态加载是怎么实现的?
淘宝商品评价区的动态加载是通过一系列前端技术和后端接口实现的,其核心目的是提升用户体验和页面性能。以下是其实现原理和关键技术的详细解析: 1. 前端实现:AJAX 和 JavaScript 淘宝利用 AJAX(Asynchronous JavaScript and XM…...
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的监控:使用 Actuator 实现健康检查
<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、引子&…...
蓝桥杯—数字接龙(dfs+减枝)
一.题目 二.思路 一看就是迷宫问题的变种,从左上角到达右下角,要解决 1.8个方向的方向向量,用dx,dy数组代表方向向量 2.要按照一个规律的数值串进行搜索0,1,2,k-1,0,1…...
Docker与VNC的使用
https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc 下载nvc 客户端 https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-7.12.0-Windows.exe 服务端 docker pull dorowu/ubuntu-desktop-lxde-vnc#下载成功 docker pull dorowu/ubuntu-desktop-l…...
C++——清明
#include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory> #include <ctime>using namespace std;class Weapon; // 前置声明class Hero{ pr…...
Unity ViewportConstraint
一、组件功能概述 ViewportConstraint是一个基于世界坐标的UI边界约束组件,主要功能包括: 将UI元素限制在父容器范围内支持自定义内边距(padding)可独立控制水平和垂直方向的约束 二、实现原理 1. 边界计算(世界坐…...
Gin、Echo 和 Beego三个 Go 语言 Web 框架的核心区别及各自的优缺点分析,结合其设计目标、功能特性与适用场景
1. Gin 核心特点 高性能:基于 Radix 树路由,无反射设计,性能接近原生 net/http,适合高并发场景。轻量级:仅提供路由、中间件、请求响应处理等基础功能,依赖少。易用性:API 设计简洁直观&#…...
ffmpeg视频转码相关
ffmpeg视频转码相关 简介参数 实战举栗子获取视频时长视频转码mp4文件转为hls m3u8 ts等文件图片转视频抽取视频第一帧获取基本信息 转码日志输出详解转码耗时测试 简介 FFmpeg 是领先的多媒体框架,能够解码、编码、 转码、复用、解复用、流、过滤和播放 几乎所有人…...
手搓多模态-06 数据预处理
前情回顾 我们目前实现了视觉模型的编码器部分,然而,我们所做的是把一张图片编码嵌入成了许多个上下文相关的嵌入向量,然而我们期望的是一张图片用一个向量来表示,从而与文字的向量做点积形成相似度(参考手搓多模态-01…...
HCIP【路由过滤技术(详解)】
目录 1 简介 2 路由过滤方法 3 路由过滤工具 3.1 静默接口 3.2 ACL 3.3 地址前缀列表 3.4 filter-policy 3.4.1 filter-policy过滤接收路由(以RIP为例) 3.4.2 filter-policy过滤接收路由(以OSPF为例) 1 简介 路由过滤技术…...
【Kafka基础】topics命令行操作大全:高级命令解析(2)
1 强制删除主题 /export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-topics.sh --delete \--zookeeper 192.168.10.33:2181 \--topic mytopic \--if-exists 参数说明: --zookeeper:直接连接Zookeeper删除(旧版本方式)--if-exists&…...
【AI插件开发】Notepad++ AI插件开发实践(代码篇):从Dock窗口集成到功能菜单实现
一、引言 上篇文章已经在Notepad的插件开发中集成了选中即问AI的功能,这一篇文章将在此基础上进一步集成,支持AI对话窗口以及常见的代码功能菜单: 显示AI的Dock窗口,可以用自然语言向 AI 提问或要求执行任务选中代码后使用&…...
Vue3在ZKmall开源商城前端的应用实践与技术创新
ZKmall开源商城作为一款企业级电商解决方案,其前端架构基于Vue3实现了高效、灵活的开发模式,结合响应式设计、组件化开发与全链路性能优化,为多端协同和复杂业务场景提供了先进的技术支持。以下从技术架构、核心特性、性能优化等维度解析Vue3…...
SpringAI+MCP协议 实战
文章目录 前言快速实战Spring AISpring AI 集成 MCP 协议Spring Mcp Client 示例Spring Mcp Server 示例 前言 尽管Python最近成为了编程语言的首选,但是Java在人工智能领域的地位同样不可撼动,得益于强大的Spring框架。随着人工智能技术的快速发展&…...
[数据结构]图krusakl算法实现
目录 Kruskal算法 Kruskal算法 我们要在连通图中去找生成树 连通图:在无向图中,若从顶点v1到顶点v2有路径,则称顶点v1与顶点v2是连通的。如果图中任意一对顶点都是连通的,则称此图为连通图。 生成树:一个连通图的最小…...
SQL122 删除索引
alter table examination_info drop index uniq_idx_exam_id; alter table examination_info drop index full_idx_tag; 描述 请删除examination_info表上的唯一索引uniq_idx_exam_id和全文索引full_idx_tag。 后台会通过 SHOW INDEX FROM examination_info 来对比输出结果。…...
QEMU学习之路(5)— 从0到1构建Linux系统镜像
QEMU学习之路(5)— 从0到1构建Linux系统镜像 一、前言 参考:从内核到可启动镜像:0到1构建你的极简Linux系统 二、linux源码获取 安装编译依赖 sudo apt install -y build-essential libncurses-dev flex bison libssl-dev li…...
node ---- 解决错误【Error: error:0308010C:digital envelope routines::unsupported】
1. 报错 在 Node.js 18.18.0 的版本中,遇到以下错误: this[kHandle] new _Hash(algorithm, xofLen);^ Error: error:0308010C:digital envelope routines::unsupported这个错误通常发生在运行项目或构建时,尤其是在使用 Webpack、Vite 或其他…...
蓝桥杯——走迷宫问题(BFS)
这是一个经典的BFS算法 1. BFS算法保证最短路径 核心机制:广度优先搜索按层遍历所有可能的路径,首次到达终点的路径长度即为最短步数。这是BFS的核心优势。队列的作用:通过队列按先进先出的顺序处理节点,确保每一步探索的都是当…...
