网络学习:BGP路径属性分类

目录

前言:

路径属性分类

公认必遵

公认任意

可选过渡

可选非过渡


前言:

  1. 在默认情况下,到达同一目的地,BGP只走单条路径,并不会在多条路径之间执行负载均衡。对于IGP路由协议,当有多条路径可以到达同一目的地时,则根据最小metric值来选择最优路径,而BGP存在多条路径到达同一目的地时,对于最优路径的选择,BGP并不会以metric值大小为依据,BGP对于最优路径的选择,需要靠比较路由条目中的Path Attributes,即路径属性,只有在比较多条路由的属性之后,才能决定选择哪条为最优路径。
  2. 任何一条BGP路由都拥有多个路径属性( Path Attributes) ,当路由器通告BGP路由给它的对等体时,该路由将会携带多个路径属性,这些属性描述了BGP路由的各项特征,同时在某些场景下会影响BGP路由优选的决策。

路径属性分类

        华为官方将BGP的属性分为公认属性和可选属性,其中公认属性是所有的BGP路由器都必须能够识别的属性,公认属性可以分为两类:

1、公认必遵(Well-Known Mandatory):必须包括在每个Update消息中。

2、公认任意(Well-Known Discretionary):可以包括在某些Update消息中。

其中可选属性不需要被所有的BGP路由器所识别,可选属性也可以分为两类:

1、可选过渡(Optional Transitive):BGP设备不识别此类属性但是依然会接收这些属性,并将其通告给其他的BGP对等体。

2、可选非过渡(Optional Nontreansitive):BGP设备不识别此类属性选择忽略这些属性,并将不会通告给其他的BGP对等体。

各个属性的特点:

公认必遵

        对于任何一台运行BGP的路由器,都必须支持公认必遵属性,并且在将路由信息发给其它BGP对等体时,这些属性必须强制写入路由中,一条不携带公认必遵属性的路由会被BGP路由器被视为无效而被丢弃,换句话说一不支持公认强制属性的BGP,是不正常的,不和法的BGP。

常见的BGP路由必须携带的公认强制属性有三个:Origin,Next_Hop,AS-path.

公认任意

        公认任意属性并不像公认必遵属性那么严格,任何一台运行BGP的路由器必须支持公认属性,必须能够识别公认任意属性,但是在路由写入时并不是强制的,是否要为路由写入公认自选属性可以自由决定,当一条路由写入公认自选属性之后,所有BGP路由器都能认识和理解,并且都会自动保留和传递该属性。

常见的BGP默认的公认任意属性:Local_Preference

可选过渡

        并不是所有运行BGP的路由器都能理解和支持可选可传递属性,路由的可选可传递属性是任意写入的,其它BGP路由器并不一定能理解,也并不一定保留和传递该属性,但是当为路由器设置了可选可传递属性后,可以明确要求BGP路由器保留和传递该属性。

常见的可选过渡属性:团体属性Community

可选非过渡

        只有特定的BGP路由器才理解和支持可选非过渡属性,并且可选非过渡属性理论上是不能手工设置的,即使手工设置了可选非过渡属性,这些属性也不能任意传递,只可以传递到特定的BGP路由器。

常见的可选非过渡属性有:MED属性,Originator_ID属性,Cluster_List属性

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码编写规范

一、程序风格的探讨 1、代码编写规范 按照阿里巴巴《Java开发手册》编码规约进行约束自己的编码风格。严格要求自己。 2、复杂逻辑编写 拆分功能:befHandler() aftHandler()等 按照步骤拆分:step1Task() step2Task() step3Task()等 只遵守法律…

dangzero环境配置问题

文章目录 安装虚拟机dangzeroCompile the KML kernelObtain Ubuntu 20.04Create VMInstall UbuntuRun UbuntuMove KML kernel to VMInside VM: Install KernelUpdate grub to auto-select KML kernelBoot parametersRun KMLTest KMLObtain glibc-2.31Install gcc-5 for kernel …

KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记10 - STM32的SDIO学习2 - Card Identification

KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记10 - STM32的SDIO学习2 - Card Identification 一、问题回顾二、本次的任务三、 需要注意的问题3.1 Card Identification Mode时的时钟频率3.2 CMD0指令的疑似问题3.3 发送带参数的ACMD41时要注意时间时序和时效3.4 CPSM的指令发送问题…

【Linux】深入探索:Linux网络调试、追踪与优化

🍎个人博客:个人主页 🏆个人专栏:Linux ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 1. 调试网络问题 a. 使用ping和traceroute b. 使用netstat和ss c. 使用tcpdump和Wireshark 2. 追踪网络问题 a. 使用mtr b.…

北京公司注册地址想要迁到新疆该如何操作

尊敬的客户,您好!我是经典世纪胡云帅(游览器搜经典世纪胡云帅),您选择了北京经典世纪集团有限公司-资 质代办,我们将竭诚为您服务!如果您的公司注册地址想要迁到新疆,这里有一些重要…

markdown(详细)快速入门

# markdown - 更简洁、更高效 很多人只把markdown用于网络文章发表,这糟蹋了markdown。 markdown不止是HTML的简化版,更重要的是txt的升级版、word的轻量版、笔记的最佳载体。 作为一种简单的格式标记语言,不同于txt的无格式,不…

一台服务器,最大支持的TCP连接数是多少?

一个服务端进程最大能支持多少条 TCP 连接? 一台服务器最大能支持多少条 TCP 连接? 一、原理 TCP 四元组的信息:源IP、源端口、目标IP、目标端口。 一个服务端进程最大能支持的 TCP 连接个数的计算公式:最大tcp连接数客户端的IP…

代码随想录 贪心算法-难度题目-区间问题

目录 55.跳跃游戏 45.跳跃游戏|| 452.用最少数量的箭引爆气球 435.无重叠区间 763.划分字母区间 56.合并区间 55.跳跃游戏 55. 跳跃游戏 中等 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大…

【AI】举例说明计算机视觉(CV)技术的优势和挑战。

计算机视觉(CV)技术是一种让计算机能够理解和解释图像和视频内容的技术。以下是计算机视觉技术的优势和挑战的一些例子: 优势: 自动化处理:计算机视觉技术可以实现自动化处理,大大节省了人力成本和时间成本…

Linux下ifconfig,netstat 无法正常使用解决办法

yum install -y net-toolsifconfig替代查询命令: 查看网络接口信息: ip addr show显示某个特定接口(例如eth0)的详细信息: ip addr show eth0(实际网卡名)查看网络接口统计信息: ip …

JAVA中已有的栈和队列的实现

在Java中,有多种方式可以实现栈(Stack)和队列(Queue)的数据结构。以下是一些主要的实现方式: 1. 栈(Stack) 使用java.util.Stack类: java.util.Stack是Java提供的一个基…

基于springboot实现成人教育教务系统项目【项目源码+论文说明】

基于springboot实现成人教育教务系统演示 摘要 随着市场经济的产业化结构升级,人才结构也在不断发生这巨大的变化和变革。而且各大企业都在处于一个高速发展和壮大的阶段,在这个高速发展和结构化升级的时期对于人才的需求也在不断的增多。企业和用工单位…

Git高级玩法:Rebase、Cherry-pick与Stash实战解析

Git高级功能:理解Rebase、Cherry-pick与Stash 在软件开发过程中,Git作为版本控制系统,已经成为不可或缺的工具。而Git的高级功能,如Rebase、Cherry-pick与Stash,为开发者提供了更多的灵活性和便利性。本文将详细介绍这…

uView ui 安装步骤

uView是uni-app生态优秀的UI框架 安装说明 由于uView使用easycom模式,让您无需引入组件即可直接使用,但是此功能需要Hbuilder X 2.5.5及以上版本才支持,详见配置easycom组件模式。 easycom打包的时候是按需引入的,您可以放心引入…

关于应用程序自卸载能力的探讨

在当前数字化的时代背景下,应用程序的安装与卸载已成为我们日常生活及工作中常见的操作行为。对于“应用程序能否自我卸载”这一议题,引发了科技领域和广大用户群体的关注与讨论。本文将围绕该主题展开深入剖析,探究其实质内涵以及其可能产生…

【Python】新手入门学习:详细介绍组合/聚合复用原则(CARP)及其作用、代码示例

【Python】新手入门学习:详细介绍组合/聚合复用原则(CARP)及其作用、代码示例 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集…

Nmap最常用命令(非常详细)零基础入门到精通,收藏这一篇就够了

nmap是我们最常用的工具。但是命令太多了,没办法全部记下。我们在实际工作中只需要记住最常用的几条命令就行了。 主机发现 里面nmap,我们可以扫描在同一局域网内有哪些设备在线。常用命令如下: nmap 192.168.50.1/24 -sL 上面命令&#…

羊大师分析,羊奶和牛奶哪个更有营养

羊大师分析,羊奶和牛奶哪个更有营养 羊奶和牛奶都是营养丰富的奶制品,它们各自具有独特的营养价值和特点,因此无法简单地判断哪个更有营养。 羊奶中含有较高的脂肪和蛋白质,同时富含矿物质和维生素,如钙、磷、铁、锌以…

JSON 转换问题 $ref“: “$[0].list[1]

现象 [{"delete": false,"index": 0,"list": [{"duration": 71000,"id": 0,"mediumId": 9231114101362,"path": "","point": 100,"title": "垃圾"},{"d…

python | 类与对象

在 Python 中,我们用关键字 class 来定义类: class Player:pass Player 类中只有一条语句 pass,这是 Python 中的特殊语句,没有实际含义。 Python 在执行到它时也什么都不会做。不过它能够保证结构的完整性。例如,我…