0
点赞
收藏
分享

微信扫一扫

BGP 路径属性

BGP 的路径属性是 BGP 路由传递所携带的特定描述,用来比较路由优先级的,因为 BGP 是属于跨自治系统的,所以自治系统内部的各种不同情况所产生的的路由条目较多,比较路由最优的特定描述也较多,BGP 一共有 13 种不同的选路规格,在每条路由传递的时候都会有携带这种属性比较,并根据 13 条选路规则来对比路由的优先级。根据 10 种常见的 BGP 路由属性来实现。

属性分类:

10 种路由属性根据不同类型可以大致分为以下四类。

公认必尊属性

即所有运行了 BGP 的网络设备,传递路由都必须携带的属性,且所有的设备厂家设计设备支持 BGP 的都需要支持识别这几种属性。Origin属性、AS_PATH属性、Next-Hop属性,这三种是必须要支持且传递的属性。

公认可选传递属性

即所有网络设备厂家生产或者设计出来的网络设备支持 BGP 路由协议都需要支持遵守的路由属性,但是若传递路由的时候发现这一个属性是空值,也就是路由条目并没有携带这个路由属性,那么传递的时候可以不携带该值。Loca-Perf属性、Atomic-Aggregate属性,这两种是属于公认可选传递的路由属性。

可选传递属性

接收到的数据包路由条目中,包含这个属性信息,但是自身并没有设置这个属性的参数,那么自身无法识别这个属性,向下继续传递路由信息的时候,将会在路由条目中原封不动的添加这个属性的字段。就是自身不识别的就不会修改该路由属性,该属性会原封不动的继续传递下去。例如 Community 属性、Aggregate 属性。

非可选传递属性

这个些路由属性,若接收到的设备本身没有设置该参数的比较值,那么将在传递路由信息条目的时候,会从路由属性中删掉改属性。也就是本身不识别,我就丢弃该属性,生成一个新的路由属性比较的数据包。例如 MED 属性、Cluster-list属性、Originator-id 属性。

13 条选路规则:

BGP 路由的选择优先一共会有 13 条规则进行选择,原则上来说是从上往下依次进行比对,但是因为有些属性并不是必须遵循的,若路由携带了才会进行比对,没有的话会跳过,所以也并不是严格遵守这13条规则进行比对,部分可能会跳着比对。

  1. 丢弃下一跳不可达的路由。
  2. 优选 Preferred-Value 最大的路由。
  3. 优选 Local-Pref 最大的路由。
  4. 本地起源优先级顺序依次为:手动聚合>自动聚合路由>network 命令通告的路由>import-route引入的路由>从对等体学习的路由。
  5. 优选 AS_PATH 最短的路由。
  6. 依次 Origin 路由属性为 IGP > EGP > Incomplete 的路由。
  7. 优选 MED 最小的路由。
  8. 依次选择从 EBGP > 联盟EBGP > 联盟IBGP > IBGP 学习的路由。
  9. 优选到 BGP 下一跳 IGP 度量值最低的路由。
  10. 优选 Cluster_List 最短的路由。
  11. 优选 Originator-id 最小的路由。
  12. 优选 Router-id 最小的路由器发布的路由。
  13. 优选 IP 地址最小的邻居发布的路由。

10 种路由属性:

图片.png

Origin 属性

这个属性是用来代表 BGP 路由起源的,并且还用来标记这一条路由是如何进入到 BGP 的,一共有三种类型通过 IGP 学习、通过 EGP 学习、通过 Incomplete 学习,根据三种学习路由标记后的优先级为 IGP > EGP > Incomplete 。

AS_PATH 属性

前面也有提及 AS_PATH 属性不仅可以用来防止环路,也可以用来比对路由优先级,就是每通过一次 AS 自治系统就会在该列表中添加该自治系统的 AS 号,路由优先比对的时候,会以列列表中最少的路由优先,这个最少就代表经过的 AS 自治系统越少,那肯定是最优的。添加的方式是往前添加,(例如依次经过了 100AS、200AS、300AS 自治系统,那么在路由 AS_PATH 中就是 300AS、200AS、100AS。自治系统的编号是不断往前添加的。)

Next_Hop 属性

该属性记录了 BGP 路由的下一跳信息,区别于 IGP 中的下一跳是直连路由器的 IP 地址,BGP 路由的下一跳往往都是非直连设备的 IP 地址。所以会出现内部路由转发时,根据这个 BGP 路由的下一跳转发时,会出现目标不可达的情况。在配置 BGP 时会在 BGP 设备上开启更改 BGP 路由下一跳为自身,这样 AS 区域内部的设备需要去往这条路由时,直接寻找到 BGP 设备上,再由 BGP 进行转发。这个进行优先级比较的就是丢弃下一跳不可达,排在规则选举中第一位。

MED 属性

被称为外部度量,和 IGP 的 cost 值作用类似,MED 值越小路由越优先。MED 值只会在两个 AS 之间传递,并只会在来自同一个 AS 区域的路由进行比对该 MED 值,不会再继续传递给其他 AS 区域,若 BGP 设备并没有设置该参数,那么在进行路由传递时会把 MED 值置为默认值 0 来处理。

Community 属性

团体属性可分为标准团体属性和扩展团体属性两种情况。

  • 标准团体属性,用于标识具有相同特征的 BGP 路由,多条路由可以拥有相同的团体属性,多条团体属性也可以对应一条路由,团体属性的作用就是标记路由的一些策略动作,在 BGP 路由器接收到后根据团体属性对路由进行策略修改,根据团体属性的扩展,。在一条路由有多条团体属性的时候,那么这种情况 BGP 路由器可以根据其中一部分属性进策略的选择,在传递给其他对等体的时候,BGP 也添加或者修改其团体属性。
团体属性名称 团体属性号 说明
Internet 0(0x000000000) 设备在收到具有此属性的路由后,可以向任何BGP对等体发送该路由,路由的缺省属性
No_Adviertise 4294967041(0xFFFFFF02) 设备收到具有此属性的路由后,将不向任何BGP对等体发送该路由
No_Export 4294967041(0xFFFFFF01) 设备收到具备有此属性的路由后,将不向AS外发送路由
No_Export_Subconfed 4294967043(0xFFFFFF03) 设备收到具有此属性的路由,将不向AS外发该路由,也不向内其他子AS发布此路由
  • 扩展团体属性,主要是在 MPLS VPN 中会有涉及,其和标准团体的区别就是,标准团体属性全都是用数值来表示,扩展团体属性由类型字域和数值部分组成。

Originator_ID 属性和 Cluster_List 属性

由路由反射器使用,用来 AS 内防止环路,其原理都是在经过某个路由器后,把对应的 ID 信息存储在自身的列表中,当路由传递下去后,当路由器收到路由条目后,并查看列表中对应的 ID 信息,若存在自身的 ID 说明出现了环路,会丢弃该路由。并且每经过一个设备就会新增一个,所以根据路由选择,会比较列表最短的路由优先转发。

PrefVal 属性

这个属性是 Preferred-Value 属性的缩写,区别于其他的属性,他是华为设备内部分配给路由的权重比,他只在该路由器内部作为一个标识作用,数字越大越优先,路由器将外部学习的路由增加这个属性,通过比较这个属性的优先来确定最优路由,可以手动设置某些特定来源的路由,在进入本机路由器后添加对应的 PrefVal 属性。

Aggregator 属性和 Atomic Aggregate

  • Atomic Aggregate 属性,主要用于路由聚合是,路由聚合将所有的明细路由都给抑制了,那么会给该路由添加上该属性,传递给其他路由器,其他路由器收到这个路由时就知道明细路由都被抑制了,且原始的明细路由的 AS_PATH 属性也丢失了。
  • Aggregator 属性,是作为上述 Atomic Aggregate 属性的一种补充,补充明细路由是在何处丢失的,该属性会以记录 AS 号、BGP 的 Router-id 来表明明细路由在何处丢失。
举报

相关推荐

0 条评论