BGP的路径属性

路径属性

l每条BGP路由都拥有多个的路径属性,有些是必须携带的,有些是可选添加的

lBGP的路径属性将影响最优路由的选择

lBGP路径属性是描述路由的一组参数,BGP根据路由的属性选择最佳路由,可以人为置值,以便执行路由策略

Origin属性

lOrigin属性为公认必遵属性。用于标识路由的来源,该属性在路由产生时会自动设置

l如果去往同一个网络存在多条不同Origin属性的BGP路由时,在其他条件相同的条件下,路由的优选原则是IGP > EGP > Incomplete,IGP最优先进入路由表

l在BGP路由表中,Path列中,最后一个字符就是Origin Codes

AS_Path属性

lAS_Path属性为公认必遵属性。该属性描述到达目标网络所要经过的AS号序列,作用是为了避免AS之间产生路由环路

l如果去往同一个网络存在多条不同AS_Path属性的BGP路由时,在其他条件相同的条件下,路由的优选原则是AS_Path长度最短的路由最优先进入路由表

AS_Path可以避免AS之间的环路

lBGP路由器在向EBGP peer传递路由时,会在AS_Path属性的最左边添加自己的AS号

lBGP路由器在向IBGP peer传递路由时,AS_Path属性不会改变

lBGP路由器收到EBGP peer传来的路由时会检查AS_Path,如果发现自己的AS号则丢弃该路由

l在BGP路由表中,Path列就可以查看到AS_Path属性,最左边的是刚经过的AS,最右边的是起源AS

AS_Path属性的类型

lAS_Path属性有4种类型

Ø AS_SET在比较AS_Path长度时以整体来计算,例如AS_Path=100,200与AS_Path={100,200},300是一样长的

lAS_Path默认的类型是AS_SEQ,进行BGP路由汇总后会丢失部分AS_Path属性

l在BGP路由汇总时,可以加上“as-set”参数,使得丢失的AS_Path属性以AS_SET的形式添加到PATH中

Next hop属性

lNext hop属性是公认必遵属性,用于指定到达目标网络的下一跳地址

l路由的优选原则是优先选择下一跳IGP度量值较小的路由

l当BGP路由器收到peer传来的路由后,将检查Next hop属性,如果该属性值(IP地址)不可达,则显示此路由不可用(不会出现 * )

l不可达问题一般通过配置“next_hop_self”(修改下一跳为本路由)来解决

Next hop属性规则

lBGP路由器向EBGP peer传递路由时,会将该路由的Next hop设置为自己的更新源IP地址

lBGP路由器收到EBGP peer传来的路由后,在传递给自己的IBGP peer时,会保持原来的Next hop属性值

l如果路由器收到的某条BGP路由,此路由的Next hop与将要发送去的EBGP peer同属一个网段,那么此路由的Next hop将保持不变

Local preference属性

lLocal preference属性(本地优先级)是公认自决属性。用于告知AS内部的BGP路由器,哪条路径是离开本AS的最佳路径

l一般只在AS内部IBGP peer之间交换传递,不会传递给EBGP peer

l如果去往同一个网络存在多条不同AS_Path属性的BGP路由时,在其他条件相同的条件下,

路由的优选原则是Local preference较高值的路由

lBGP路由器向EBGP peer传递路由时,路由不会携带Local preference属性,但是对端在收到后,会在本地为路由加上Local preference,默认值为100

l如果是本BGP路由器引入的BGP路由,默认值也是100,但不会在BGP路由表中显示

MED属性

lMED属性(Multi-Exit Discriminator)是可选不可传递属性。是一种度量值,用于向外部对等体指出进入AS的首选路径,即当入口有多个时,自治系统可以使用MED动态的影响其他AS如何选择进入路径

l MED在AS之间交换,发送给EBGP peer后,仅在EBGP peer所属的AS内传播MED,不传递再给下一个AS

l MED属性值越小则BGP路由越优

l默认情况下,BGP路由器仅比较来自同一相邻AS的BGP路由的MED值,如果去往同一个目的地的两条路由来自不同的AS,则不进行MED值的比较,除非配置了“bgp always-compare-med”

l一台BGP路由器在向EBGP peer传递路由时,是否携带MED属性,需根据以下条件判断:

Ø 如果BGP路由是本地引入的(通过network/redistribute),则会携带默认MED值发送给EBGP peer。从IGP路由引入的,MED继承IGP协议中的metric,从直连路由/静态路由引入的,MED=0 ;

Ø 如果BGP路由是从BGP peer学习到的,那么传递给EBGP peer时就默认不会携带MED属性(体现MED不可传递性,无法跨AS传递,锐捷会将空白的MED填充为0),除非使用路由策略;

Ø 在IBGP对等体之间传递路由时,MED值会被保留且传递,除非部署了策略,否则MED值不会变;

l在BGP路由表中,Metric就是MED属性

Community团体属性

lCommunity属性(团体属性)是可选可传递属性。用于标识一些有相同性质的路由前缀,相当于给路由打标记,以便简化路由策略的执行

lCommunity不限于一个网络或一个自治系统,没有物理边界,一个路由可以有多个团体属性

l默认在peer之间不传递Community属性,必须针对特定peer使用“neighbor X.X.X.X sendCommunity” 命令才能将Community属性发送出去

l可以将某些路由分配一个特定的Community属性,之后就可以基于Community值而不是每条路由去配置路由策略了

Community属性格式

lCommunity属性值长度为32bit(4Byte),有两种形式呈现:

Ø 十进制整数格式

Ø AA:NN格式,其中AA表示AS号,NN是自定义的编号,这种形式更易于记忆(默认此种形式)

Atomic_Aggregate及Aggregator属性

lAtomic_Aggregate属于公认可选属性,相当于一种预警标记,不承载任何信息。当BGP路由收到此属性时,就知道这条路由可能出现了路径属性的丢失,他会把这个预警信息一直传递下去

lAggregator属于可选不可传递属性,当路由被汇总时,执行汇总的路由器会为汇总路由添加此属性,记录了本地AS号以及本地的Router-id

Weight属性

lWeight属性是可选非传递属性。在路由器本地配置,只提供本地路由策略,不会传播给任何BGP邻居,用于本地路由器选择最优路径时使用

lWeight属性的取值0~65535,越大越优先

l路由器本地始发的路径默认权重为32768,从其他BGP邻居学习到的为0

总结

lBGP路径属性是描述路由的一组参数,BGP根据路由的属性选择最佳路由

lOrigin属性为公认必遵属性,用于标识路由的来源

lAS_Path属性为公认必遵属性,描述到达目标网络所要经过的AS号序列,避免路由环路

lNext hop属性是公认必遵属性,用于指定到达目标网络的下一跳地址

lLocal preference属性是公认自决属性,用于告知AS内部的路由器,哪条路径是离开本AS的最佳路径

lMED属性是可选不可传递属性,用于向外部对等体指出进入AS的首选路径

lCommunity属性是可选可传递属性,用于标识一些有相同性质的路由前缀

lAtomic_Aggregate属于公认可选属性,相当于一种预警标记,不承载任何信息

lAggregator属于可选不可传递属性,当路由被汇总时,执行汇总的路由器会为汇总路由添加此属性

lWeight属性是可选非传递属性,用于本地路由器选择最优路径时使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/574916.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【AI】Deepstream入门(2)Ubuntu20.04安装Deepstream

1、安装GPU驱动 本人显卡型号:RTX4060 Laptop(笔记本专用显卡) 【AI】惠普暗夜精灵9安装Ubuntu20.04+nvidia驱动 2、安装cuda、cuDNN 【AI】Ubuntu20.04安装cuda、cuDNN 3、安装TensorRT 1)下载 下载地址:https://docs.nvidia.com/deeplearning/tensorrt/archives/i…

vue报错:Do not mutate vuex store state outside mutation handlers.

vue报错:Do not mutate vuex store state outside mutation handlers. 原因:在vuex store的state外部直接修改了state的值,但是Vuex要求所有的state的修改必须在vuex中,不允许直接咋组件中修改store中的状态,除非通过m…

FPM 快速报表开发

背景: 使用FPM开发报表时,如果报表字段过多,页面拖拽等操作不方便 报表数量过多时,新建应用操作步骤较为繁琐 更习惯通过少量代码而非页面操作去实现功能 处理: 将FPM报表开发简化为类似GUI端ALV的开发过程:&#xff…

Spring Boot | Spring Boot “自定义“ Redis缓存 “序列化机制“

目录: Spring Boot "自定义" Redis缓存 "序列化机制" :一、基于 "注解" 的 "Redis缓存管理" 的 "默认序列化机制" 和 "自定义序列化机制"1.1 基于 "注解" 的 "Redis缓存管理" 的 …

基于OpenCV的人脸签到系统

效果图 目录文件 camerathread.h 功能实现全写在.h里了 class CameraThread : public QThread {Q_OBJECT public:CameraThread(){//打开序号为0的摄像头m_cap.open(0);if (!m_cap.isOpened()) {qDebug() << "Error: Cannot open camera";}//判断是否有文件,人脸…

Unity 实现原神中的元素反应

一、元素反应 原神中共有七种元素&#xff0c;分别是水、火、冰、岩、风、雷、草。这七种元素能互相作用 Demo下载&#xff1a;Download 元素反应表格图示&#xff0c;可能不够精准 /火水雷冰草岩风绽放原激化火/蒸发超载融化燃烧结晶扩散烈绽放/水蒸发/感电冻结/碎冰绽放结晶…

数据分析:甲基化分析-从DNA methylation的IDAT文件到CpG site的Beta values

介绍 DNA Methylation和疾病的发生发展存在密切相关&#xff0c;它一般通过CH3替换碱基5‘碳的H原子&#xff0c;进而调控基因的转录。常用的DNA methylation是Illumina Infinium methylation arrays&#xff0c;该芯片有450K和850K&#xff08;也即是EPIC&#xff09;。 该脚…

【canvas】前端创造的图片粒子动画效果:HTML5 Canvas 技术详解

前端创造的图片粒子动画效果&#xff1a;HTML5 Canvas 技术详解 我们将深入探讨如何通过 HTML5 的 Canvas 功能&#xff0c;将上传的图片转换成引人入胜的粒子动画效果。这种效果将图片分解成小粒子&#xff0c;并在用户与它们交互时产生动态变化。我们将分步骤详细解析代码&a…

LabVIEW专栏九、类的应用

一、类的应用 接上一章"类" 类在项目中&#xff0c;一般会在类的私有成员簇内&#xff0c;包含一个数据类型为参数类的队列。 例如网口类&#xff0c;里面实际会包含很多信息&#xff0c;有IP地址和端口等等参数。这些参数如果不放在队列引用中缓存下来&#xff0c;…

DevOps(十四)怎么实现Gitlab更新后Jenkins自动发布

目录 1、在 Jenkins 中安装 GitLab 插件 2、在 GitLab 中创建一个访问令牌(Access Token) 3、在 Jenkins 中配置 GitLab 连接 4、在 Jenkins 中创建一个新的任务(Job) 5、在 GitLab 中配置 Webhook 6、以下是一些补充说明和建议 持续集成的一个特点就是开发可以随时提交&…

微服务组件-反向代理(Nginx)

微服务组件-反向代理(Nginx) Nginx 基本概念 1、nginx是什么&#xff1f; ①、Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器同时也提供了IMAP/POP3/SMTP服务。它是一款轻量级的Web服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&a…

TiDB 6.x 新特性解读 | Collation 规则

对数据库而言&#xff0c;合适的字符集和 collation 规则能够大大提升使用者运维和分析的效率。TiDB 从 v4.0 开始支持新 collation 规则&#xff0c;并于 TiDB 6.0 版本进行了更新。本文将深入解读 Collation 规则在 TiDB 6.0 中的变更和应用。 引 这里的“引”&#xff0c;…

Oracle 监控 SQL 精选 (一)

Oracle数据库的监控通常涉及性能、空间、会话、对象、备份、安全等多个层面。 有效的监控可以帮助 DBA 及时发现和解决问题&#xff0c;提高数据库的稳定性和性能&#xff0c;保障企业的数据安全和业务连续性。 常用的监控指标有&#xff1a; 性能指标&#xff1a; 查询响应时间…

产品推荐 | BittWare基于Altera Agilex“M FPGA的lA-860m加速卡

01 产品概述 BittWare的lA-860m是一款Altera Agilex“M系列FPGA卡&#xff0c;针对吞吐量和内存密集型应用进行了优化。M 系列 FPGA 具有广泛的内存层次结构&#xff0c;包括集成高带宽存储器 &#xff08;HBM2e&#xff09; 和硬内存片上网络 &#xff08;NoC&#xff09;&am…

【QT】ROS2 Humble联合使用QT教程

【QT】ROS2 Humble联合使用QT教程 文章目录 【QT】ROS2 Humble联合使用QT教程1. 安装ROSProjectManager插件2. 创建ROS项目3.一个快速体验的demoReference 环境的具体信息如下&#xff1a; ubunt 22.04ros2 humbleQt Creator 13.0.0ROS ProjectManager 13.0.0 本文建立在已经…

Vivado-IP-DDS and Testbench Learning

DDS内部结构 实现流程 首先新建一个工程&#xff0c;创建bd文件&#xff0c;添加DDS Compiler核&#xff0c;此处不多赘述 Block Design 在观测输出的信号时&#xff0c;需要将最高位符号位的信号取反&#xff0c;这样才能输出正弦波&#xff0c;否则输出的波形如下图所示 将t…

OpenStack云计算(十)——OpenStack虚拟机实例管理,增加一个计算节点并进行实例冷迁移,增加一个计算节点的步骤,实例冷迁移的操作方法

项目实训一 本实训任务对实验环境要求较高&#xff0c;而且过程比较复杂&#xff0c;涉及的步骤非常多&#xff0c;有一定难度&#xff0c;可根据需要选做。可以考虑改为直接观看相关的微课视频 【实训题目】 增加一个计算节点并进行实例冷迁移 【实训目的】 熟悉增加一个…

实验 1--SQL Server2008数据库开发环境

文章目录 实验 1--SQL Server2008数据库开发环境2.4.1 实验目的2.4.2 实验准备2.4.3 实验内容1.利用 SSMS 访问系统自带的Report Server 数据库。2.熟悉了解 SMSS对象资源管理器树形菜单相关选择项的功能。(1)右键单击数据库Report Server&#xff0c;查看并使用相关功能;(2)选…

K8s: 部署 kubernetes dashboard

部署 Dashboard K8s 官方有一个项目叫 dashboard&#xff0c;通过这个项目更方便监控集群的状态 官方地址: https://github.com/kubernetes/dashboard 通常我们通过命令行 $ kubectl get po -n kube-system 能够查看到集群所有的组件&#xff0c;但这样的方式比较不太直观 …

算法学习002-填数游戏 中小学算法思维学习 信奥算法解析 c++实现

目录 C填数游戏 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C填数游戏 一、题目要求 1、编程实现 在小学奥数中经常会看到一些填数字的游戏&#xff0c;如下图所示&#xff0c;其中每个…