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