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属性是可选非传递属性,用于本地路由器选择最优路径时使用

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

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

相关文章

[Android]引导页

使用Kotlin Jetpack Compose创建一个左右滑动的引导页, 效果如图. 1.添加依赖项 androidx.compose.ui最新版本查询:https://maven.google.com/web/index.html com.google.accompanist:accompanist-pager最新版本查询:https://central.sonatype.com/ 确保在 build.gradle (M…

算法-KMP算法

时间复杂度&#xff1a; public int strStr(String haystack, String needle) {int[] next new int[needle.length()];//next数组的生成next[0] 0;int prefixLen 0;//共同前后缀长度int i 1, j 1;//i,j复用while (i < needle.length()) {if (needle.charAt(prefixLen)…

数据库工程师的工作职责(合集)

数据库工程师的工作职责1 职责&#xff1a; 1. 日常数据库的基本安装&#xff0c;维护&#xff0c;升级&#xff0c;监控的; 2. 配合研发部门进行数据库设计支持&#xff0c;协助开发、设计和进行SQL语言优化; 3. 配合相关部门数据库相关的任务&#xff0c;比如数据导入导出&am…

「屡教不改」又被罚,谁还在相信山姆?

值得信赖的品质」「全球进口品牌」……「更好的生活尽在山姆」。 作为全球最大的会员制商店&#xff0c;山姆这几年可以说在中国线下零售市场集体遇劫的背景下&#xff0c;逆势崛起&#xff0c;甚至可以说做到了独树一帜。‍‍‍‍‍‍ 背后的原因是什么&#xff1f;会员制这一…

迅雷不限速破解方法

背景&#xff1a;现在迅雷和百度云的下载速度真的太恶心了&#xff0c;所以总有大佬可以采用厉害的方法进行破解&#xff0c;在网上看了一圈&#xff0c;很多都是骗人或者是无效的&#xff0c;找了一个靠谱的方法&#xff0c;亲测速度能达到10M以上&#xff0c;非常给力。 以下…

MySQL数据库运维:运行监控及解决sql执行死锁问题

前言 在现代数据密集型应用程序的开发和部署中&#xff0c;MySQL数据库的运维是至关重要的环节之一。一个良好设计和维护的MySQL数据库系统可以确保数据的准确性、可靠性和高效的访问&#xff0c;从而支持业务的顺利运行。然而&#xff0c;随着业务规模的增长和复杂性增加&…

查看HDF5文件软件(HDFView)

HDFView&#xff1a;下载地址 note&#xff1a;我们需要下载 win10 、App软件&#xff08;win10在win11也能运行&#xff09;&#xff0c;因为App软件是轻量版&#xff0c;不需要安装就可以使用。 eg&#xff1a; 下载完后解压就可以使用。

配置SSL证书需要几步,有免费的吗

我们要明白什么是SSL证书。SSL&#xff08;Secure Sockets Layer&#xff09;是一种安全协议&#xff0c;用于在互联网上进行信息加密传输&#xff0c;保护数据不被第三方窃取或篡改。SSL证书就是用来执行这种加密的一种数字证书&#xff0c;它可以提供身份验证&#xff0c;防止…

这个合租室友真的没有一点公德心,还好他搬走了

这个合租室友真的没有一点公德心&#xff0c;还好他搬走了 这个出租屋有四个房间。 有三个卧室&#xff0c;和一个隔断。 我住三个卧室中的一个。下图中右边那个就是我住的。 2023年下半年&#xff0c;左边那个屋子来了一个新租户小白。 在住的过程中&#xff0c;隔断间的租…

30V-STM32设计项目

30V-STM32设计 一、项目描述 (已验证) 基于STM32c8t6芯片设计的开发板&#xff0c;支持4-30V宽电压输入&#xff0c;串口模式自动下载功能&#xff0c;支持串口和STlink&#xff0c;方式下载程序 二、原理图介绍 电源电路采用了DCDCLDO电路&#xff0c;如果是外接DC头供电的话&…

Spring Boot 3.2.5 集成 mysql

版本 Spring Boot 3.2.5 第一步&#xff0c;添加必要依赖 // mysql jdbc 及 驱动 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency><gr…

嵌入式单片机的高级编程技巧和优化

引言 嵌入式单片机&#xff08;MCU&#xff09;是实现智能设备控制的核心&#xff0c;广泛应用于工业自动化、智能家居、医疗设备等领域。 下面将探讨STM32单片机的高级编程技巧&#xff0c;包括中断管理、低功耗模式和内存优化等方面&#xff0c;并提供具有一定难度的代码示…

深度学习的炼金术:转化数据为黄金的秘密

深度学习的炼金术&#xff1a;转化数据为黄金的秘密 1 引言 在现代深度学习的壮阔疆域中&#xff0c;数据是王冠上耀眼的宝石&#xff0c;而性能优化则是锻造这顶王冠的炼金术。这份融合了数据和算法魔力的艺术&#xff0c;不仅仅依赖于强大的计算资源和复杂的网络结构&#x…

【蓝桥杯省赛真题40】python摘苹果 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析

目录 python摘苹果 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python摘苹果 第十三届蓝桥杯青少年组python编程省赛真题 一、题目要求 &…

【C语言】万字详讲操作符

目录 前言 一、操作符分类 二、算数操作符 三、移位操作符 四、位操作符 五、赋值操作符 六、单目操作符 6.1 逻辑反操作 6.2 负值与正值 6.3 取地址 6.4 sizeof 6.5 取反操作符 6.6 --和操作符 6.7 间接访问操作符&#xff08;解引用操作符&#xff09; 6.8 强…

安装JAVA和java IDEA并汉化过程

1.安装java: 打开java的下载链接&#xff1a; Java Downloads | Oracle 然后选择对应的版本下载即可&#xff0c;我这里是windows 所以下载这个 然后正常一步步安装即可。 2.配置java环境&#xff1a; 在桌面右键此电脑然后点击属性——高级系统设置——环境变量——然后…

H5点击复制功能 兼容安卓、IOS

效果图 HTML代码 <div>链接&#xff1a;<span style"color: #FF8A21" click"CopyUrl" id"copyId"> https://blog.csdn.net/qq_51463650?spm1000.2115.3001.5343</span> </div>复制方法 const CopyUrl () > {let …

12.Blender 界面介绍(上)及物体基础编辑操作

设置语言 首先在菜单栏打开编辑-Preferences-界面-翻译&#xff0c;可以修改语言 这里使用的是Steam上下载的4.1版本 工具栏 左边的工具栏&#xff0c;按T就会出现&#xff0c;再按T就会隐藏 右边的工具栏是按N&#xff0c;按N显示&#xff0c;再按N隐藏 旋转画面 长按鼠…

CSS 标准流 浮动 Flex布局

目录 1. 标准流2. 浮动2.1 清除浮动 3. Flex 布局3.1 Flex 组成3.2 Flex 布局 - 主轴与侧轴对齐方式3.2.1 主轴对齐方式3.2.2 侧轴对齐方式 3.3 Flex 布局 - 修改主轴方向3.4 Flex 布局 - 弹性伸缩比3.5 Flex 布局 - 弹性盒子换行3.6 Flex 布局 - 行对齐方式 1. 标准流 标准流…

使用selenium时出现element click intercepted报错的解决办法

win10&#xff0c;python3.8.10。 selenium版本如下&#xff08;用pip38 show selenium查看&#xff09;&#xff1a; 在定位中&#xff0c;定位了一个按钮&#xff08;特点&#xff1a;button下还有span然后才是文本&#xff09;&#xff0c;代码如下&#xff1a; from sele…