大型網絡BGP路由選路原則及路由屬性,收藏版,一分鐘瞭解下

一、BGP簡介

BGP(Border Gateway Protocol,邊界網關協議)是一種既可以用於不同 AS(Autonomous

System,自治系統)之間,又可以用於同一 AS 內部的動態路由協議。當 BGP 運行於同一 AS 內部

時,被稱為 IBGP(Internal BGP);當 BGP 運行於不同 AS 之間時,稱為 EBGP(External

BGP)。AS 是擁有同一選路策略,屬於同一技術管理部門的一組路由器。

二、BGP選路原則【重要】

目前,BGP 選擇路由的過程為:

(1) 丟棄下一跳(NEXT_HOP)不可達的路由;

(2) 優選首選值(Preferred-value)最大的路由;

(3) 優選本地優先級(LOCAL_PREF)最高的路由;

(4) 依次選擇 network 命令生成的路由、import-route 命令引入的路由、聚合路由;

(5) 優選 AS 路徑(AS_PATH)最短的路由;

(6) 依次選擇 ORIGIN 類型為 IGP、EGP、Incomplete 的路由;

(7) 優選 MED 值最低的路由;

(8) 依次選擇從 EBGP、聯盟 EBGP、聯盟 IBGP、IBGP 學來的路由;

(9) 優選下一跳 Cost 值最低的路由;

(10) 優選 CLUSTER_LIST 長度最短的路由;

(11) 優選 ORIGINATOR_ID 最小的路由;

(12) 優選 Router ID 最小的路由器發佈的路由;

(13) 優選 IP 地址最小的對等體發佈的路由。

三、BGP路由屬性【重要的屬性】

BGP 路由屬性是跟隨路由一起發佈出去的一組參數。它對特定的路由進行了進一步的描述,使得路

由接收者能夠根據路由屬性值對路由進行過濾和選擇。

1. 源(ORIGIN)屬性

ORIGIN 屬性定義了路由信息的來源,標記一條 BGP 路由是怎麼生成的。它有以下三種類型:

A、IGP:優先級最高,表示路由產生於本 AS 內。

B、 EGP:優先級次之,表示路由通過 EGP 學到。

C、 Incomplete:優先級最低,表示路由的來源無法確定。例如,從其它路由協議引入的路由信

息。

2. AS路徑(AS_PATH)屬性

AS_PATH 屬性記錄了某條路由從本地到目的地址所要經過的所有 AS 號。當 BGP 路由器將一條路

由通告到其他 AS 時,會把本地 AS 號添加在 AS_PATH 列表中。收到此路由的 BGP 路由器根據

AS_PATH 屬性就可以知道到達目的地址所要經過的 AS。

AS_PATH 作用:

A、避免路由環路的形成:缺省情況下,如果 BGP 路由器接收到的路由的 AS_PATH 屬性中已經

包含了本地的 AS 號,則 BGP 路由器認為出現路由環路,不會接受該路由。

B、影響路由的選擇:在其他因素相同的情況下,BGP會優先選擇路徑較短的路由。

C、 對路由進行過濾:通過配置 AS 路徑過濾列表,可以針對 AS_PATH 屬性中所包含的 AS 號來

對路由進行過濾。

3. 下一跳(NEXT_HOP)屬性

BGP的NEXT_HOP屬性取值不一定是鄰居路由器的IP地址。NEXT_HOP屬性取值

情況分為幾種:

A、BGP 發言者把自己產生的路由發給所有鄰居時,將該路由信息的 NEXT_HOP 屬性設置為自

己與對端連接的接口地址;

B、BGP 發言者把接收到的路由發送給 EBGP 對等體時,將該路由信息的 NEXT_HOP 屬性設置

為自己與對端連接的接口地址;

C、BGP發言者把從EBGP鄰居得到的路由發給IBGP鄰居時,並不改變該路由信息的NEXT_HOP

屬性。

4. MED(Multi-Exit Discriminator,多出口區分)屬性

MED 屬性僅在相鄰兩個 AS 之間交換,收到此屬性的 AS 不會再將其通告給其它 AS。

MED屬性相當於IGP使用的度量值(metrics),它用於判斷流量進入AS時的最佳路由。當一個BGP

路由器通過不同的EBGP對等體得到目的地址相同但下一跳不同的多條路由時,在其它條件相同的

情況下,將優先選擇MED值較小者作為最佳路由。

5. 本地優先(LOCAL_PREF)屬性

LOCAL_PREF 屬性僅在 IBGP 對等體之間交換,不通告給其他 AS。它表明 BGP 路由器的優先級。

LOCAL_PREF屬性用於判斷流量離開AS時的最佳路由。當BGP路由器通過不同的IBGP對等體得到

目的地址相同但下一跳不同的多條路由時,將優先選擇LOCAL_PREF屬性值較高的路由。


分享到:


相關文章: