BGP 路由政策總覽

本指南提供 Cloud Router 邊界閘道通訊協定 (BGP) 路由政策的總覽。

您可以透過 BGP 路由政策設定規則,篩選 BGP 路由或修改 BGP 路由屬性。您可以對已學習和通告的路徑套用 BGP 路由政策。只要使用一般運算語言 (CEL),定義要套用至 BGP 路由的 BGP 路由政策即可。

您可以將 BGP 路由政策套用至 Cloud Router 上 BGP 工作階段的已知路由或通告路由。BGP 路由政策與策略路由不同。

系統會根據每個範例的來源位址指派下一個躍點路徑,將政策型路徑套用至虛擬私有雲網路,這可能與目的地地址無關。詳情請參閱「以政策為依據的路徑」。

建議您在測試環境中使用 BGP 路由政策,先驗證設定,再將設定推出至正式環境。

什麼是 BGP 路由政策?

BGP 路由政策定義為依序排列的條件清單。系統會依您指定的順序評估每個條件,並在路徑符合條件時執行相應的動作。特定 BGP 路由政策只能套用至一個方向,也就是傳入 (適用於所學路由) 或傳出 (適用於通告路由),但不能同時套用至兩個方向。不過,BGP 路由政策可以套用至 Cloud Router 上的多個 BGP 對等互連。

您可以為社群或 BGP 前置字元建立 BGP 路由政策的命名集。在同一個 Cloud Router 上定義的任何數量的政策,都可以參照每個具名集合。具名集合是每個 Cloud Router 的專屬集合,用於將同一類型的運算式分組,以便做為單一實體管理或參照。

BGP 路由政策應用實例

您可以透過 BGP 路由政策,控管要接受、拒絕或修改哪些 BGP 路由,再將這些路由通告至其他 BGP 對等互連,或匯入 VPC 路由表。

以下是 BGP 路由政策的用途範例:

  • 修改最佳偏好 BGP 路由:您可以使用 BGP 路由政策修改最佳偏好 BGP 路由,這有助於影響流量在網路中採取的路徑。舉例來說,您可以透過 BGP 路由政策變更 BGP MED 屬性的值,確保特定對等互連的 BGP 路由優先於其他 BGP 路由。

  • 篩除不想要的 BGP 路由:您可以透過 BGP 路由政策篩除不想要的學習路由,或避免向 BGP 對等互連通告特定路由。這項功能有助於避免路由迴圈,或透過不當路徑傳送流量的路徑。舉例來說,您可以使用 BGP 路由政策,篩選子網路中的前置字元。

  • 達成流量工程目標:您可以運用 BGP 路由政策達成特定流量工程目標。如要影響流量分配,請在路由的 AS-PATH 中預先加入一或多個值。舉例來說,假設前置字元為 192.168.2.0/24,Cloud Router 會從兩個對等互連體取得前置字元,但從每個對等互連體取得的 AS-PATH 值不同。因此 peer1 可能會提供 [1010] 的 AS-PATH 值,而 peer2 可能會提供 [2020] 的 AS-PATH 值。使用 BGP 路由政策時,您可以選擇在 AS-PATH 值的前方新增一或多個值。

BGP 路由政策的套用方式

您可以在 Cloud Router 的 BGP 設定中套用 BGP 路由政策。每個 BGP 對等互連都有零或多個路由匯入和匯出政策。匯入路由政策適用於已知的路由,匯出路由政策則適用於要 advertise 的路由。

下圖顯示所學路徑的路徑匯入政策,以及所播送路徑的路徑匯出政策:

BGP 匯入和匯出政策方向。
BGP 匯入和匯出政策方向 (按一下可放大)。

以下說明 Cloud Router 套用 BGP 路由政策時遵循的一般規則:

  • 系統會依您列出的順序評估 BGP 路由政策。

  • 系統會依指定優先順序評估每項 BGP 路由政策的條款。

  • 條款可以修改 BGP 路由。後續字詞可以修改先前字詞建立的 BGP 路徑。

  • 當 BGP 路徑遭接受或捨棄時,評估就會結束。如果評估所有政策和條款後,系統未捨棄 BGP 路由,就會接受該路由。

  • 在單一 BGP 路由政策練習中,系統不會針對路由評估兩次條件。

BGP 路由政策評估預設為「開放失敗」。換句話說,在 BGP 路由政策評估期間,系統會接受未明確捨棄的路徑。您無法直接變更這項行為,但可以建立「捨棄所有項目」政策,並套用至最後一個對等互連,有效建立失敗關閉 BGP 路由政策。

下圖顯示如何評估路徑的一組套用政策:

處理 BGP 路由政策。
BGP 路由政策處理 (按一下可放大)。

BGP 社群和 Cloud Router

社群值是 32 位元欄位,分為兩個 16 位元區段。按照慣例,值的前 16 位元會編碼社群來源網路的自治系統 (AS) 編號,但 Cloud Router 不會強制執行這項慣例。值的第二個 16 位元會編碼原始 AS 指派的唯一號碼。

BGP 路由政策可以比對標準 BGP 社群屬性,並對其採取行動。 BGP 路由政策無法比對或修改擴充社群屬性。

Cloud Router 路由選取程序不會使用前置字串的 BGP 社群屬性。舉例來說,這項功能不會遵守 NO_EXPORTNO_ADVERTISE BGP 社群。

匯入 BGP 路由政策後,Cloud Router 會從取得的路徑捨棄 BGP 社群,也就是說,Cloud Router 不會重新通告社群,而是將社群視為非遞移屬性。BGP 社群只能用來影響 Cloud Router 傳入比對政策。您可以在通告路由上新增、移除或取代 BGP 社群,藉此影響對等路由器執行的動作。

由於 Cloud Router 無法辨識知名社群,您必須使用 BGP 知名社群的字面值,例如 65535:65281 代表 NO_EXPORT,或 65535:65282 代表 NO_ADVERTISE

BGP 路由政策資源之間的關係

每個 Cloud Router 都會維護自己的 BGP 對等互連清單、BGP 路由政策和 BGP 具名集。如果 BGP 路由政策是在 Cloud Router 上定義,屬於 Cloud Router 資源的 BGP 對等互連可依名稱參照這些政策。同樣地,如果 BGP 命名集是在 Cloud Router 上定義,屬於 Cloud Router 資源的 BGP 路由政策可以依名稱參照 BGP 命名集。

只要父項 Cloud Router 存在,您就可以建立、修改及刪除 BGP 路徑政策。

與其他 Cloud Router 功能的互動

以下各節說明 BGP 路由政策如何與其他 Cloud Router 功能互動。

自訂 advertise 路由
匯出 BGP 路由政策可捨棄或修改自訂通告路由,再通告至 BGP 對等互連。BGP 路由政策無法比對或修改自訂已知路徑。
前置字元限制

Cloud Router 最多可從對等互連接收 5000 個前置字元。如果對等互連通告超過 5000 個前置字元,Cloud Router 會重設 BGP 工作階段。

系統會在套用 BGP 路由政策前,對所學路由套用前置碼限制,因此使用 BGP 路由政策不會改變這項行為。

子網路

匯出 BGP 路由政策可篩選或修改虛擬私有雲子網路子網路路徑,再通告至 BGP 對等互連。

大眾運輸路線

BGP 路由政策可以修改轉運路線。

Cloud Router 不會遵守 NO_EXPORTNO_ADVERTISED BGP 社群的行為。

後續步驟