Skip to content

BGP 属性与选路原则

前提:(路由的下一跳可达、关闭同步、路由没有被惩罚、前缀没有被入境路由策略拒绝),具体原则如下

bgp 选路原则

  1. weight(cisco私有属性)大优先,本地有效。
    • 本地始发路由 weight 为 32768
    • peer 学习过的路由 weight 为 0
    • 仅本路由器有效 neighbor 12.1.1.2 weight 200
  2. local preference 大优先,这个参数在本 AS 内传递
    • local preference 属性只能在 ibgp peer 之间传递
      • IN:修改别人发送给自己的 local-pref,影响自己
      • OUT:修改发送给别人的 local-pref,影响别人(ibgp peer)
    • 由于仅在 AS 内传递 ebgp 针对 in 方向有效,出方向不发送 local preference
  3. 本地始发 network > redistribute > aggregate(华为设备略有区别 手动聚合路由>自动聚合路由>network>import-route)
    • 本地始发 next-hop 为 0.0.0.0
    • weight 为 32768
  4. as-path 路径,短优先
    • 可配置 bgp bestpath as-path ignore 来忽略这一步
    • 聚合路由时 aggregate-address as-set 后产生的 as-path 列表中的{} as 号只算一个 as 号的长度。
    • 松散模式: bestpath as-path multipath-relax 松散模式长度相同即可负载(第九条)
    • 严谨模式:默认为严谨模式 AS路径必须完全相同才能进行负载(第九条)
  5. origin 属性
    • igp > egp > incomplete,origin 属性会一直在 bgp 路由中携带
    • 很少使用设置 origin 属性作为 bgp 路由选路策略
  6. med(Multi-Exit Discriminators),小优先
    • 默认比较来自同一 as bgp 路由的 med 值。
    • 命令 bgp always-compare-med 不考虑是否来自同一AS。(ebpg 只传递一次)
    • 从 ibgp 学来的路由携带的 med 发送给 ebgp 前会清空掉 med
    • 如果 network 或 redistribute 导入到 bgp 且 来源是 IGP 那么 bgp med 复制 IGP metric。
    • 如果 network 或 redistribute 导入到 bgp 且 来源是直连 那么 bgp med 为 0
    • 如果 aggregate 注入路由,bgp med 不被设置
  7. ebgp 优于 ibgp
    • ebgp 优于联邦 ebgp(联邦 ebgp 和联邦 ibgp 不具有可比性,不比较。因为联邦 ebgp 和联邦 ibgp 都被看做内部路径没有差别)。
  8. bgp 优选下一跳 igp 度量值低的路径。
    • ebgp peeribgp peer 和联邦 ebgp 和联邦 ibgp 都比较这一步
  9. 负载均衡
    • 默认只对 ebgp 负载
    • ibgp 负载 maximum-paths ibgp <1-16>
    • 如果没有 ibgp 关键字,仅对 ebgp 对等体收到路由负载均衡
  10. ebgp 越老越优先
    • 如果 bgp 进程下使用 bgp bestpath compare-routerid 命令,则忽略本原则
  11. 最小 route id
    • 如果路径包含 RR 属性,那么在路径选择过程中就用 originator-id 来代替 router-id 进行比较(就是 originator-id 之间进行比较)。
  12. cluster-list
    • 如果 orginator-id 相同,那么 bgp 优选 cluster-list 最短路径
    • 这种情况只出现在 RR 的环境中
  13. 最小邻居地址
  14. bgp cost community( bgp 成本团体)
    • 在第8条之后。成本团体设置子句使用 cost communityID(成本团体 ID 编号0到255)和 cost number (成本编号值0到4,294,967,295)进行了配置。先比 cost number 后比较 cost communityID,都是越低越优先
    • 对于未用成本编号值专门配置的路径,将指定默认成本编号值为2,147,483,647。 此值是0和4,294,967,295之间的中央点。这个属性传递给邻居时要有send-community 命令。这个团体属性为非传递的扩展团体属性。会传递给 ibgp 和联邦 ibgp 和 ebgp 对等体,不会传递给 ebgp 对等体。

参考文献