BGP的四类属性详解

Posted Désiré

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BGP的四类属性详解相关的知识,希望对你有一定的参考价值。

BGP的四类属性

公认必遵(Well-known mandatory)
  • 要求所有运行BGP协议的设备都必须能识别,且在更新消息中必须包含。
  1. Origin(起源) 属性
    • 用来标识路由信息的来源。
    • 如果路由是从IGP学习到的,则Origin属性为IGP(i),使用display bgp routing-table命令查看BGP路由时,IGP简写为i。
    • 如果路由是从EGP学习到的,则Origin属性为EGP(e)。
    • 如果路由的来源无法确定,则Origin属性为incomplete(?)。
    • 路由优先级:IGP > EGP > incomplete
  2. AS_PATH(AS路径) 属性
    • 用来记录某条路由从本地到目的地址所要经过的所有AS编号。
    • AS_PATH可以作为一种度量值,经过更少AS的路由更优先。
    • AS_PATH被用来避免AS之间的环路。如果BGP Speaker从EBGP对等体收到一条路由,它的AS_PATH包含BGP Speaker自己的AS号,就说明这条路由曾经被BGP Speaker发送过,所以会被直接丢弃。
  3. NEXT_HOP(下一跳) 属性
  • 定义到达目的地下一跳的设备的IP地址。
公认任意(Well-known discretionary)
  • 要求所有运行BGP协议的设备必须能识别,但是在更新消息内可以自由选择是否携带此类属性的报文。
  1. LOCAL-PREF(本地优先级) 属性
    • LOCAL-PREF属性用来通告路由的优先程度。
    • LOCAL-PREF属性仅在IBGP对等体之间交换,不通告给其他AS。
  2. ATOMIC_AGGREGATE(原子聚合) 属性
    • 用来通告路由接受者该路由是经过聚合的。
可选过渡(Optional transtive)
  1. AGGREGATOR(聚合) 属性
    • 是ATOMIC_AGGREGATE属性的补充,包含了发起路由聚合的AS号码和形成聚合路由的BGP发布者的IP地址。
  2. COMMUNITY(团体) 属性
    • 是共享相同属性的目的地集合,目的就是将路由信息编组,通过组的标识决定路由策略的传递。
    • 公认的团体属性有:
      1.INTERNET:缺省情况下,所有的路由都属于INTERNET团体。具有此属性的路由可以被通告给所有的BGP对等体。
      2.NO_EXPORT:不能被发布到本地AS之外。如果使用了联盟,则不能被发布到联盟之外,但可以发布给联盟中的其他子AS。
      3.NO_ADVERTISE:不能被通告给其他的BGP对等体,即不通告该路由。
      4.NO_EXPORT_SUBCONFED:不传递给下一个小AS,若网络中没有小AS,仅存在大AS时作用与NO_EXPORT一致。
可选非过渡(Optional non-transtive)
  1. MED(多出口鉴别器) 属性

    • 用来区分同一个邻接AS的多个接口。

    • MED只在EBGP发布的路由中产生,接收者可以向它的IBGP邻居转发,但不允许向它的EBGP对等体转发。假设一个AS和邻接AS有多个接口相连,通过发布不同的MED给对端,就可以控制进入网络的流量从MED值最小的那个接口进来。通常情况下,BGP 只比较来自同一个AS的路由的MED属性值。

    • BGP协议默认不存在cost;MED就是人为的利用路由器优选路径的规则—先比较管理距离(华为为优先级),若一直再比较度量值(华为为cost)
      BGP协议在特定条件下携带本地到达目标的cost值;本地宣告(重发布)自己路由表中的路由后,将其传递给本地的ebgp邻居,将携带cost值;对于其他AS的设备学习到从同一个as传递过来的路由,优选MED最小的路径;管理员可以在控制层面传递路由的过程中,手工修改MDE;最常用于干涉ebgp选路;常常用于AS1干涉AS2对AS1的选路;

  2. ORIGINATOR_ ID(发起人ID) 属性

    • ORIGINATOR_ ID用于标识路由反射器,是可选非过渡属性。
    • 为了防止引入路由反射器之后出现环路,增加ORIGINATOR_ ID这个属性来标识,反射器在发布路由时加入ORIGINATOR_ID,当反射器收到的路由信息中的ORIGINATOR_ ID就是自己的ROUTER_ ID时,就可以发现路由环路的出现,将该路由丢弃,不再转发。
  3. CLUSTER_ ID(组ID) 属性

    • CLUSTER_ ID用于标识路由反射器组,是可选非过渡属性。
    • CLUSTER_ ID属性也是用来防止环路,在路由经过路由反射器时路由反射器会将自己的CLUSTER_ID添加到路由携带的CLUSTER_LIST中,当路由反射器发现接收的路由的CLUSTER_ LIST中包含有自己的CLUSTER_ ID,则将该路由丢弃,不再转发。
  4. WEIGHT(权重值) 属性

    • Weight属性是Cisco私有属性,只有Cisco的路由器才能识别weight。
    • 路由的weight属性只在本地路由器起作用,BGP将路由传递给邻居时,并不保留weight。Weight值的范围0~65535,默认为0,如果是BGP本地发起路由,weight值32768。
    • 当到达同一目的地存在多条路径时,优选weight值大的。在Cisco路由器中,比较最优路径的第一条规则就是比较weight值,所以只要改动weight值,就能控制Cisco路由器的BGP选路。

以上是关于BGP的四类属性详解的主要内容,如果未能解决你的问题,请参考以下文章

BGP路由属性详解

BGP选路13条原则全实战,一条条帮你梳理支撑整个互联网的选路原则

数据挖掘主要解决的四类问题

华为路由器——BGP路由技术详解

数据类型的四类八种

1-2.[绪论] - 数据元素相互之间的四类基本结构