zoukankan      html  css  js  c++  java
  • bgp路由协议(2)ebgp/ibgp+13条选路原则

    一、ebgp和ibgp

    1、ebgp(external border gateway protocol):外部边界网关协议,AS之间建立的bgp邻居关系

    2、ibgp(internal  border gateway protocol):内部bgp协议,AS内部之间建立的bgp邻居关系

      (1)IBGP路由器必须以全网状结构相连,以防止路由环路。如果使用了路由反射器或者路由联盟,则IBGP网状结构可能遭遇收敛问题,会导致路由黑洞问题。

    3、两者的区别

    (1)路由环路的避免措施不一样。

      IBGP规定:ibgp speaker不允许把一个IBGP邻居学习到的前缀去传递给其它的IBGP邻居,因此IBGP要求逻辑全连接。

      EBGP:ebgp对路由环路的避免是通过as_path属性来实现的

    (2)使用的bgp属性不同。如:ibgp可以传递local_pore(本地优先性);ebgp不行。

    (3)ibgp有同步的要求,而ebgp没有同步的要求。

    (4)ibgp不需要ibgp邻居之间有物理连接,只需要逻辑连接即可;

       ebgp一般情况下都要求ebgp邻居之间存在物理连接。

    4、路由通告的传递

    (1)如何将一个AS学到的路由通告给另外一个AS,要视过渡AS内部的情况而定。

    (2)规则

      a,bgp路由器会把从ebgp对端学到的路由通告给所有bgp邻居,包括ibgp邻居和ebgp邻居。

      b,从ibgp邻居处学到的路由是否通告给自己ebgp对端,这就要视本AS内的egp和igp路由表是否同步而定,而是否需要同步——就要看本AS内的“过渡”路由器之间有没有全互联ibgp,如果是全互联的ibgp,就不需要同步。

    二,十三条路由的选路原则

    前提:每条路由都是最优的,也就是下一条可达,以及同步关闭

    序号 名称 介绍
    1 weight值 最高有weight优先,默认是0
    2 local preference 本地优先级高的优先
    3 next hop 起源本路由器上的路由
    4 as path as-path最短的优先
    5 origin 最小的起源代码
    6 MED 最低的med
    7 EBGP>IBGP ebgp:20;ibgp:200/255
    8 度量值最小的IGP 通过最近bgp邻居的路由
    9 EBGP邻居建立时间 最老的egbp邻居学到的路由
    10 最小的BGP route ID 更低的route-id
    11 max-path是否配置 如果配置了,就负载均衡
    12 cluster-list短 始发路由器ID相同,选择cluster-list短的(每经过一个RR(路由反射器),cluster-list会加上这个RR的cluster-id)
    13 neighbor配置小 优选来自于最低的邻居地址的路径,是bgp的neighbor配置中的地址

    1、weight值(权重值)

    (1)优选有最大weight的路由(0---65535),weight是Cisco私有的参数,路由器配置了weight在本地有效。

    (2)缺省情况下,通过本路由器宣告、重分布或者汇总的路由的weight为32768,从bgp邻居学习到的路由的weight为0

    (3)只在本地有用,影响本路由的选路。

    (4)修改方法(在本路由器的入方向上做)

      a,neighbor xxx weight xxx (从此xxx邻居学到的所有的路由都加)

      b,router-map xxx permit 10 set weight xxx

    2、local-preference(本地优先级)

    (1)通过第一条选路原则不能选出最优bgp条目的情况下,优选有最大local preference值得bgp条目。

    (2)local preference值只可以在ibgp邻居之间传递,在ebgp邻居之间不能传递(不能在ebgp的出方向上做,因为只在本AS内生效)

    (3)对于从ebgp邻居学习到的bgp条目,local preference缺省值为100(show IP bgp中看到是空,其实也是100;show ip bgp xxx看明细的时候可以看见路由的local-preference),这个值可以通过命令bgp default local-preference修改

    (4)修改方法

      a,bgp default local-preference xxx //修改后,对ibgp学来的路由不起作用,只对ebgp传来的和自己产生的路由起作用。

      b,route-map xxx permit 10 set local-preference xxx

      c,不能在ebgp邻居关系的出方向做修改

    3、起源本路由器上的路由

      优选从本路由器始发的路由:包括本地network配置的重分布,或者在igp表中已经有一些需要被配置路由聚合的地址。

    4、AS--PATH

      若前三条选路不能选出最优bgp条目的情况下,优选as path长度短的路由条目

      修改as path长度只能在ebgp邻居关系之间进行,ibgp邻居关系是不可以的

    (1)as-path只可以在ebgp邻居关系的out方向和in方向去修改:

      a,out方向:加在本来as号的前面/右边

      b,in方向:加在本来as号的后面/左边

    (2)last-as表示在离这个路由器最近的as号,重复加次数

      route-map xxx permit 10

      match ip address 1

      set as-path prepend last as xx(xx表示加的次数)

    (3)入/出方向的时候,as-path prepend与last-as同时使用,last-as先,as-path prepend后

       聚合   聚合后的{  }内的as算一个。

       联邦   联盟内的( )内的as一个都不算。

       neighbor xxx remove-private-as删除私有as号,起源于本as无效,在出方向做。

       bgp best path as-path ignore     // 跳过as-path选路原则

    5、起源代码origin

      前四条选路原则不能选出最优bgp条目,优选最低起源类型的bgp路由

      origin的顺序是igp优先egp优先incomplete(egp现在已不用)

    (1)类型

      i-----igp,network xxx :通过network,aggregate方式产生的bgp路由的起源属性

      e-----egp:现在已不使用

      ?-----重分发:通过重分布产生的bgp路由的起源属性是incomplete

    (2)origin在ebgp/ibgp的in和out方向都可以做。

    6、MED值

      前五条选路原则都不能选出最优bgp条目

    (1)用途:在两个相邻as之间有多个bgp连接的情况下,MED值用于影响从相邻as到本as的路由选择(用于影响邻居as到本as的流量从哪个接口进来)

    (2)MED的生成

      a,本地network方式生成的bgp条目,会带上igp的metric,(同时也会带上路由的下一跳,开启汇总后会被取消)会传给所有邻居。

      b,如果从ebgp邻居学习到的bgp条目的metric值传递给其它ibgp邻居,但不传给ebgp

        -------------------------------a,b表示MED值只传递一次ebgp邻居--------------

      c,若ibgp邻居学习到一条bgp条目的metric为0或者其它值,缺省不会传给ebgp邻居,会显示为空

      d,汇总方式生成的bgp条目,metric值为空

      e,重分布方式生成的bgp条目,metric值为igp的cost】metric、hop,如果开启自动汇总会被清楚

      f,缺省情况下,空的metric当0看待

    (3)优选最小MED值的路由(范围0到4,294,9671295)

      a,只在通过两条路径得到第一个AS(对等体)是同一个AS时才进行MED比较(as序列号中第一个as号码一致,才比较MED),任何子自治域的联盟系统都会被忽略(从不同联邦学到的路由都会比较MED)

      b,如果路由器上配置了bgp always-compare-med,在全部路径进行med比较(全体as都同时启用这个功能,否则有可能会发生路由环路)

      c,若路由器上配置了bgp best path med confed,将进行med比较(所有包括/.AS_CONFED_SEQUENCE的路径下),默认不比较

      d,如果接收到的路径没有分配med值,则将此路径分配为0,除非路由器上配置了bgp best path med missing-as-worst,将被看作MED值为4,294,967,295的路由将在注入到路由选择表之前被改为4,294,967,294。

    7、ebgp > ebgp:ebgp>联盟ebgp>ibgp

    8、最近的bgp邻居

      指的去往bgp邻居用的igp路由的metric值,对ebgp,igbp邻居都会有效。

    9、old最长的ebgp路由(存在时间最长的优先)

    (1)可以把路由摆动的影响减到最小,因为新接收到的路径不会取代老的。

    (2)使用bgp best path compare router id 可以关闭此步骤

    (3)若路由器的标志一样,此步骤可以被屏蔽,说明路由器正在从自己那里接受路由

    (4)如果当前没有最有路由器,此步骤可以被屏蔽。当提供某个路径的邻居路由器宕机,就会发生丢失

    10、lowest router id (最小的ibgp邻居route-id)

      在有RR(路由反射器)的情况下不比邻居的route-id,比起原id起始者表示将代替route-id在路径选择过程中起作用。

      

  • 相关阅读:
    MIne FirstBlog
    P6563 [SBCOI2020]一直在你身旁
    P6563 [SBCOI2020]一直在你身旁
    T122085 [SBCOI2020]时光的流逝
    LC 918. Maximum Sum Circular Subarray
    1026 Table Tennis
    LC 1442. Count Triplets That Can Form Two Arrays of Equal XOR
    LC 1316. Distinct Echo Substrings
    LC 493. Reverse Pairs
    1029 Median (二分)
  • 原文地址:https://www.cnblogs.com/yun2177856901/p/13788217.html
Copyright © 2011-2022 走看看