1. 权重(Weight,Cisco专有属性)
- 作用范围:本地路由器生效,不传递给其他设备。
- 规则:权重值越高,优先级越高(默认值为0)。
- 应用场景:手动指定某邻居发来的路由优先级(仅影响本设备)。
2. 本地优先级(Local Preference,Local Pref)
- 作用范围:同一AS内所有路由器共享。
- 规则:值越大越优先(默认值通常为100)。
- 用途:控制本AS的出站流量路径选择。
3. 本地生成的路由(Local Originated)
-
优先级顺序:
-
手动聚合路由(
aggregate-address
) -
手动注入的路由(
network
或redistribute
) -
通过BGP学习到的路由
-
4. 最短AS路径(AS Path Length)
- 规则:AS路径跳数越少越优先(忽略
AS_CONFED_SEQUENCE
)。 - 例外:若配置了
bgp bestpath as-path ignore
,则跳过此步骤。 - 示例:
路径A:AS 65001 → 65002
(长度2)路径B:AS 65003 → 65004 → 65005
(长度3)优选路径A。
5. 最优起源类型(Origin Type)
-
优先级顺序:
IGP
(通过network
命令注入,标记为i
)EGP
(历史遗留,现极少使用,标记为e
)Incomplete
(通过重分布引入,标记为?
)
6. 最小MED值(Multi-Exit Discriminator)
- 规则:MED值越小越优先(默认值为0)。
- 生效条件:仅当路由来自同一邻居AS时比较MED。
- 用途:影响其他AS的入站流量路径选择。
- 配置示例(设置发送给邻居的MED值):
policy-definitions: - name: set_med statements: - actions: { set-med: 50 }
7. 优选eBGP路径而非iBGP路径
- 规则:从eBGP邻居学到的路由优先于iBGP邻居。
- 例外:若开启BGP多路径(
maximum-paths
),可能同时使用多条路径。
8. 最小IGP度量(Next Hop的IGP Cost)
- 规则:到下一跳的IGP开销(如OSPF Cost、ISIS Metric)最小的路径优先。
- 用途:在iBGP场景中,优化到下一跳的路径。
- 示例:
-
-
路径A下一跳的OSPF Cost为10
-
路径B下一跳的OSPF Cost为20
-
优选路径A。
-
9. 最旧路由(Oldest Path,防止路由震荡)
-
规则:当其他属性均相同时,最早学习到的路由优先(稳定性优先)。
10. 最小Router ID
-
规则:BGP Speaker的Router ID数值越小越优先。
-
特殊场景:若路由携带
CLUSTER_LIST
,则优选最短簇列表长度。
11. 最小邻居地址
-
最终决胜条件:当所有属性均相同,选择来自邻居IP地址最小的路径。
选路流程图
权重 → 本地优先级 → 本地路由 → AS路径长度 → 起源类型 → MED → eBGP/iBGP → IGP度量 → 路由年龄 → Router ID → 邻居IP