BGP的路由属性
zhezhongyun 2025-08-05 22:20 2 浏览
任何一条BGP路由都拥有多个路由属性,当路由器将BGP路由通告给它的对等体时,一并被通告的还有路由所携带的各个路由属性。对于BGP而言,BGP路由属性描述了该条路由的各项特征,同时,路由所携带的路由属性也将在某些场景下影响BGP路由优选的决策。
BGP路由属性类型
RFC 4271将BGP路径属性分为两大类:公认(Well-known)及可选(Optional),其中公认属性是所有BGP路由器必须都能够识别的路径属性,而可选属性则不要求所有的BGP路由器都必须能够识别。
公认属性里分了两个子类:必遵(Mandatory)及任意(Discretionary),其中必遵属性指的是当BGP路由器使用Update报文通告路由更新时必须携带的路径属性,而任意属性则不要求Update报文中必须携带。
可选属性里也分了两个子类:过渡(Transitive)及非过渡(Non-transitive),其中对于过渡属性,如果BGP路由器不能够识别该路径属性,那么也应该接受携带该路径属性的BGP路由更新,并且当路由器将该路由通告给其他对等体时必须携带该路由属性,而对于非可过渡属性,如果BGP路由器不能够识别该属性,那么该路由器将会忽略携带该路径属性的BGP路由更新且不将该路由通告给其他BGP对等体。
常见的BGP属性类型如下表所示:
属性名 | 类型 |
Origin属性 | 公认必须遵循 |
AS_Path属性 | 公认必须遵循 |
Next_Hop属性 | 公认必须遵循 |
Local_Pref属性 | 公认任意 |
MED属性 | 可选非过渡 |
团体属性 | 可选过渡 |
Originator_ID属性 | 可选非过渡 |
Cluster_List属性 | 可选非过渡 |
Originator_ID属性和Cluster_List属性用于解决路由反射器场景中的环路问题,将在BGP路由反射器部分介绍,下面对其他几种常见的BGP属性进行介绍。
Origin属性
Origin属性用来定义路径信息的来源,标记一条路由是怎么成为BGP路由的,该属性为公认必遵属性。它有以下3种类型:
- IGP:具有最高的优先级。通过network命令注入到BGP路由表的路由,其Origin属性为IGP。
- EGP:优先级次之。通过EGP得到的路由信息,其Origin属性为EGP。
说明:
此处EGP指的是一个具体的路由协议,其名称为EGP。这个路由协议现在已经不再被使用。
- Incomplete:优先级最低。如果路由是通过其他方式学习到的,则Origin属性为Incomplete(不完整的)。例如通过import-route命令引入到BGP的路由。
AS_Path属性
AS_Path是公认必遵属性,它描述了一条BGP路由在传递过程中所经过的AS的号码。一台路由器在将BGP路由通告给自己的EBGP对等体时,会将本地的AS号插入到该路由原有AS_Path之前。AS_Path实际上是一个有长度的AS号码列表。从上面的描述也可以看出,BGP路由的AS_Path只在EBGP对等体之间发生改变,当BGP路由在一个AS内传递时(路由被通告给自己的IBGP对等体),该路由所携带的AS_Path是不会发生改变的。
AS_Path有两个非常重要的作用:
- 避免EBGP路由的环路,如果路由器收到一条BGP路由并且发现该路由携带的AS_Path中出现了自己所在AS的AS号,它意识到从本地AS通告出去的BGP路由又被通告回了该AS,BGP将忽略关于该条路由的更新。
- 用于BGP路由优选的决策。AS_PATH属性是记录达到目标网络的AS路径列表,类似距离矢量协议中的hop概念。AS_Path越短则该则该路由被视为越优,因为这条路径距离目的地所要经过的AS个数更少。
Next_Hop属性
Next_Hop属性是公认必遵属性,该属性描述了到达目的网段的下一跳地址。BGP路由所携带的Next_Hop属性值将在路由器计算路由时用于确认到达该路由的目的网段的实际下一跳IP地址和出接口。
通常情况下,Next_Hop属性遵循下面的规则:
- 当路由器将本地路由表中的直连路由、静态路由或通过IGP协议学习到的动态路由使用network或import-route命令发布到BGP时,在该路由器的BGP路由表中,这些路由的Next_Hop属性显示0.0.0.0(该路由器是这些路由的始发者)。
- 当BGP路由器使用aggregate命令通告一条BGP汇总路由时,在该路由器的BGP路由表中,该汇总路由的Next_Hop属性显示127.0.0.1。
- 当路由器将本地始发的BGP路由通告给自己的IBGP对等体时,路由的Next_Hop属性值将被设置为本地与对端建立BGP邻居关系的接口地址。
- 当路由器将非本地始发的IBGP路由通告给自己的IBGP对等体时(路由反射器的场景),缺省情况下,该路由不会改变该路由原有的Next_Hop属性值。
- 当路由器将一条EBGP路由通告给自己的IBGP对等体时,缺省情况下,该路由器不会改变该路由原有的Next_Hop属性值。
- 当路由器将一条BGP路由通告给自己的EBGP对等体时,无论这条路由是否为该路由器始发,路由的Next_Hop属性值都被设置为本地与对端建立BGP邻居关系的接口地址。
Local_Pref属性
Local_Pref属性是公认任意属性,该路径属性只能在IBGP对等体之间传递,当路由被通告给EBGP对等体时,是禁止携带该属性的。因此Local_Preference属性只能够在一个AS内部传递,这就是“本地”的含义。
如果一个AS拥有多个BGP出口,而且同一个AS内的BGP路由器通过这些出口均可到达同一个目的地,那么Local_Pref属性可被该AS用于告知本AS内的BGP路由器哪一个出口更优。Local_Pref属性的取值范围是0~4294967295(缺省值为100),值越大则路由越有可能被优选。
MED属性
MED(Multi-Exit Discriminator)属性是可选非过渡属性,用于判断流量进入AS时的最佳路由。
当一个运行BGP的设备通过不同的EBGP对等体得到目的地址相同但下一跳不同的多条路由时,在其它条件相同的情况下,将优先选择MED值较小者作为最佳路由。
MED属性仅在相邻两个AS之间传递,收到此属性的AS一方不会再将其通告给任何其他第三方AS。MED属性可以手动配置,如果路由没有配置MED属性,BGP选路时将该路由的MED值按缺省值0来处理。
团体属性
Community属性是一个可选过渡属性,它类似于路由的“标记”,我们可以针对特定的路由设置特定的Community属性值,而下游路由器在执行路由策略时,可以通过Community属性值来匹配目标路由。
团体属性用一组以4字节为单位的列表来表示,设备中团体属性的格式是aa:nn或团体号。
- aa:nn:aa和nn的取值范围都是0~65535,管理员可根据实际情况设置具体数值。通常aa表示自治系统AS编号,nn是管理员定义的团体属性标识。例如,来自AS100的一条路由,管理员定义的团体属性标识是1,则该路由的团体属性格式是100:1。
- 团体号:团体号是0~4294967295的整数。RFC1997中定义,0(0x00000000)~65535(0x0000FFFF)和4294901760(0xFFFF0000)~4294967295(0xFFFFFFFF)是预留的。
团体属性分为自定义团体属性和公认团体属性。其中公认团体属性如下:
- Internet:缺省情况下,所有的路由都属于Internet团体。具有此属性的路由可以被通告给所有的BGP对等体。
- No_Advertise:具有此属性的路由在收到后,不能被通告给任何其他的BGP对等体。
- No_Export:具有此属性的路由在收到后,不能被发布到本地AS之外。如果使用了联盟,则不能被发布到联盟之外,但可以发布给联盟中的其他子AS。
- No_Export_Subconfed:具有此属性的路由在收到后,不能被发布到本地AS之外,也不能发布到联盟中的其他子AS。
- 上一篇:Vue内置动画组件 Transition
- 下一篇:HCIE面试之BGP属性
相关推荐
- Chinese vice premier calls for multilateralism at Davos
-
DAVOS,Switzerland,Jan.21(Xinhua)--ChineseVicePremierDingXuexiangdeliveredaspeechatthe...
- 用C++ Qt手把手打造炫酷汽车仪表盘
-
一、项目背景与核心价值在车载HMI(人机交互界面)开发领域,虚拟仪表盘是智能座舱的核心组件。本项目基于C++Qt框架实现一个具备专业级效果的时速表模块,涵盖以下技术要点:Qt图形绘制核心机制(QPa...
- 系列专栏(八):JS的第七种基本类型Symbols
-
ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,MozillaWeb开发者博客推出了《ES6InDepth》系列文章。CSDN...
- MFC界面开发工具BCG v31.1 - 增强功能区、工具箱功能
-
点击“了解更多”获取工具亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBarProfessionalforMFC和BCGSuiteforMFCv31.2正式发布!新版本支...
- 雅居乐上调出售吉隆坡项目保留金,预计亏损扩大至6.64亿元
-
1月2日,雅居乐集团(03383.HK)发布有关出售一家附属公司股权披露交易的补充公告。此前雅居乐集团曾公告,2023年11月8日(交易时段后),集团子公司AgileRealEstateDeve...
- Full text: Address by Vice Premier Ding Xuexiang's at World Economic Forum Annual Meeting 2025
-
DAVOS,Switzerland,Jan.21(Xinhua)--ChineseVicePremierDingXuexiangonTuesdaydeliveredasp...
- 手机性能好不好 GPU玄学曲线告诉你
-
前言各位在看测试者对手机进行评测时或许会见过“安卓玄学曲线”,所谓中的安卓玄学曲线真名为“ProfileGPURendering”。大多数情况下,在系统“开发者选项中被称为“GPU显示配置文件”或...
- 小迈科技 X Hologres:高可用的百亿级广告实时数仓建设
-
通过本文,我们将会介绍小迈科技如何通过Hologres搭建高可用的实时数仓。一、业务介绍小迈科技成立于2015年1月,是一家致力以数字化领先为优势,实现业务高质量自增长的移动互联网科技公司。始...
- vue3新特征和所有的属性,方法汇总及其对应源码分析
-
vue3新特征汇总与源码分析(备注:vue3使用typescript编写)何为应用?constapp=Vue.createApp({})app就是一个应用。应用的配置和应用的API就是app应用...
- China's stability redefines global trade in a volatile era
-
ContainersareunloadedatQingdaoPort,eastChina'sShandongProvince,December10,2024.[Photo/X...
- QML 实现图片帧渐隐渐显轮播
-
前言所谓图片帧渐隐渐显轮播就是,一组图片列表,当前图片逐渐改变透明度隐藏,同时下一张图片逐渐改变透明度显示,依次循环,达到渐隐渐显的效果,该效果常用于图片展示,相比左右自动切换的轮播方式来说,这种方式...
- 前端惊魂夜:我竟在CSS里写出了JavaScript?
-
凌晨两点,写字楼里只剩下我工位上的一盏孤灯。咖啡杯见底,屏幕的光映在疲惫的眼镜片上。为了实现一个极其复杂的动态渐变效果,我翻遍了MDN文档,试遍了所有已知的CSS技巧,却始终差那么一口气。“要是CSS...
- 10 个派上用场的 Flutter 小部件
-
尝试学习一门新语言可能会令人恐惧和厌烦。很多时候,我们希望我们知道早先存在的某些功能。在今天的文章中,我将告诉你我希望早点知道的最方便的颤振小部件。SpacerSpacer创建一个可调整的空白空...
- 让我的 Flutter 代码整洁 10 倍的 5 种
-
如果你曾在Flutter中使用过SingleTickerProviderStateMixin来制作动画,猜猜怎么着?你已经使用过Mixin了——恭喜你,你已经处于一段你甚至不知道的关...
- daisyUI - 主题漂亮、代码纯净!免费开源的 Tailwind CSS 组件库
-
漂亮有特色的CSS组件库,组件代码非常简洁,也支持深度定制主题、定制组件,可以搭配Vue/React等框架使用。关于daisyUIdaisyUI是一款极为流行的CSSUI组件库,...
- 一周热门
- 最近发表
-
- Chinese vice premier calls for multilateralism at Davos
- 用C++ Qt手把手打造炫酷汽车仪表盘
- 系列专栏(八):JS的第七种基本类型Symbols
- MFC界面开发工具BCG v31.1 - 增强功能区、工具箱功能
- 雅居乐上调出售吉隆坡项目保留金,预计亏损扩大至6.64亿元
- Full text: Address by Vice Premier Ding Xuexiang's at World Economic Forum Annual Meeting 2025
- 手机性能好不好 GPU玄学曲线告诉你
- 小迈科技 X Hologres:高可用的百亿级广告实时数仓建设
- vue3新特征和所有的属性,方法汇总及其对应源码分析
- China's stability redefines global trade in a volatile era
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- opacity 属性 (32)
- transition 属性 (33)