已知路徑

本文將說明已知路徑、虛擬私有雲網路的動態轉送模式如何影響已知路徑,以及 Cloud Router 提供的最佳路徑選取模式。

已學習路徑是指 Cloud Router 使用 BGP 通訊協定從遠端對等路由器接收的路徑,或是您在 Cloud Router 上設定的自訂已學習路徑:

BGP 收到的路徑

從遠端對等點取得的 BGP 路徑。對等路由器可以是下列任一項目:

  • 實體地端部署路由器
  • 另一個 Cloud Router
  • 路由器設備 VM (含 Network Connectivity Center)
  • 其他雲端服務供應商的路由器
自訂已知路徑

在 Cloud Router 上手動設定自訂已知路徑,模擬從遠端對等端學習的路徑。如果您沒有管理員控制權,無法設定遠端對等路由器,自訂已知路徑就很實用。

Cloud Router 會針對動態路徑的不重複前置字元數量強制執行配額,包括從 BGP 對等點動態取得的前置字元,或是手動設定為自訂取得路徑的前置字元。詳情請參閱「Cloud Router 配額」。

除非您使用啟用資料移轉功能的 Network Connectivity Center 混合型輪輻,否則 Cloud Router 不會重新宣傳已學習的路徑

兩種 Cloud Router 學習路徑都會先由動態路徑控制平面處理,然後再由虛擬私人雲端網路控制平面處理。處理步驟會使用目的地前置字串和路徑指標,在 VPC 網路中建立動態路徑。如要瞭解動態路徑控制層與虛擬私有雲網路控制層的差異,請參閱「Cloud Router 運作方式」。

自訂已知路徑

自訂已知路徑提供的優點與 BGP 接收的動態路徑相同。與靜態路徑不同,自訂學習動態路徑會在下一個躍點的 BGP 工作階段關閉時自動撤銷。

自訂已知路徑是定義特定後續中繼點 (例如 Cloud Interconnect VLAN 連結和 HA VPN 通道) 的非 BGP 路徑的唯一方式。

詳情請參閱「指定及管理自學習路徑」。

動態轉送模式

VPC 網路的動態轉送模式會影響動態路由控制單元和 VPC 網路控制單元如何處理收到的 BGP 路由和自訂學習路由,以便在 VPC 網路中建立動態路由。

使用 VPC 網路對等互連時,匯出自訂路徑的 VPC 網路的動態轉送模式會控制匯入自訂路徑的對等 VPC 網路中,如何建立動態路徑。詳情請參閱「動態轉送模式的影響」一節,瞭解虛擬私人雲端網路對等互連說明文件。

Google Cloud VPC 網路支援兩種動態轉送模式:

地區動態轉送模式
每個地區的動態路由控制層只會處理其所在地區的 Cloud Router BGP 工作所學習到的路徑。在虛擬私有雲網路的特定區域中建立的動態路徑,其後續中繼點只會位於該特定區域內。
全域動態轉送模式
每個地區的動態路由控制層會處理其所屬地區中 Cloud Router BGP 任務的已知路徑。每個區域的動態路由控制平面也會將每個前置碼的最佳路徑傳送至 VPC 網路中所有其他區域的動態路由控制平面。在虛擬私有雲端網路的特定區域中建立的結果動態路徑,可以在任何區域中設有下一個躍點。

最佳路徑選取模式

Cloud Router 提供兩種最佳路徑選取模式:標準模式和舊版模式。最佳路徑選取模式會套用至 VPC 網路所有地區中透過 Cloud Router 取得的所有已知路徑,包括自訂已知路徑。

建立新的 VPC 網路時,預設最佳路徑選取模式為舊版。除非您需要標準模式的特定功能,或使用依賴標準模式的 Google Cloud 功能,否則建議您使用舊版模式。

用於站點對站點資料移轉的網路連線能力中心,以及用於第三方網路虛擬設備或路由器設備的網路連線能力中心,可搭配標準最佳路徑選取或舊版最佳路徑選取功能使用。

網路連線中心路由交換與虛擬私人雲端輻射狀路徑的最佳路徑選取模式有下列限制:

  • 如果路由由單一 VPC 獨家宣傳,傳統模式和標準模式都會正常運作。

  • 如果多個虛擬私人雲端向同一個工作負載虛擬私人雲端宣告相同路徑,則適用下列規定:

    • 如果所有虛擬私有雲都使用舊版最佳路徑選取功能,工作負載虛擬私有雲會在來自不同轉送虛擬私有雲的路徑中套用舊版最佳路徑選取功能。

    • 如果所有虛擬私人雲端都使用標準最佳路徑選取方式,工作負載虛擬私人雲端會根據內部演算法,使用其中一個轉送虛擬私人雲端的最佳路徑。

    • 如果路由 VPC 同時使用舊版最佳路徑選項和標準最佳路徑選項,工作負載 VPC 會使用舊版最佳路徑選項的最佳路徑,根據內部演算法選取最佳標準最佳路徑。

    如果您打算從多個路由虛擬私有雲宣傳相同路徑,建議您為所有虛擬私有雲網路選取舊版最佳路徑選項。

舊版最佳路徑選取模式

本節說明 Cloud Router BGP 工作和動態路由控制平面如何實作舊版最佳路徑選取模式。

AS 路徑長度

在舊版最佳路徑選取模式中,AS 路徑資訊只與單一 Cloud Router BGP 工作相關,而動態路徑控制層不會使用 AS 路徑資訊來做出最佳路徑選取決策。使用舊版最佳路徑選取模式時,如果相同目的地前置字串涉及不同的 Cloud Router 軟體工作,請勿依據 AS 路徑長度資訊選取最佳路徑。

BGP 工作階段涉及多個 Cloud Router BGP 工作。詳情請參閱「Cloud Router BGP 工作」。

BGP 工作選取程序

Cloud Router BGP 工作會從所管理 BGP 工作階段的對等路由器接收目的地前置字串。BGP 工作會從 BGP 工作管理的所有 BGP 工作階段中,建立一組專屬的目的地前置字串。接著,BGP 工作會使用下列程序,為每個 BGP 收到的專屬目的地前置字串,決定至少一個最佳下一個躍點:

  1. 最短的 AS 路徑長度:BGP 工作會依 AS 路徑長度排序,從最短的 AS 路徑長度到最長的 AS 路徑長度。排序後,BGP 工作會移除所有下個躍點,這些躍點的 AS 路徑長度並非最短。

  2. 偏好的來源類型:BGP 工作會優先使用使用內部閘道協定 (IGP) 的下一個躍點,而非使用外部閘道協定 (EGP) 的下一個躍點,且 BGP 工作會優先使用使用 EGP 的下一個躍點,而非使用來源類型為 Incomplete 的下一個躍點。

    如果至少一個下一個躍點的來源類型為 IGP,BGP 工作就會移除所有具有 EGP 或不完整來源類型的下一個躍點。

    如果沒有任何下一個躍點具有起源類型 IGP,且至少有一個下一個躍點的起源類型為 EGP,BGP 工作會移除所有具有不完整起源類型的下一個躍點。

  3. 最小 MED 值:BGP 工作會依多出口鑑別屬性 (MED) 值從最小到最大排序下一個中繼點。排序後,BGP 工作會移除所有 MED 值不符合最小值的後續跳躍。

BGP 工作會將每個目的地前置字串及其對應的最佳後續跳躍清單,傳送至區域的動態路由控制平面。在某些情況下,Cloud Router BGP 軟體工作也可能會傳送已從考量範圍移除的下一個躍點。

動態路徑控制層處理

每個區域的動態路由控制層都會強制執行下列配額,適用於 BGP 收到的路徑和自訂學習路徑中的不重複目的地:

在強制執行先前的 Cloud Router 配額時,動態路由控制平面會捨棄與不重複目的地相關聯的所有路徑資訊,這些目的地會排序超過任何 Cloud Router 配額的上限。詳情請參閱「確定性路徑捨棄行為」。

強制執行配額後,動態路徑控制層會將下列處理演算法套用至每個未捨棄的專屬目的地前置字串:

  1. 動態路徑控制層會建立前置字串的下一個躍點清單。清單內容包括:

    • 在各自區域的虛擬私有雲網路中,從各個 Cloud Router BGP 工作接收的前置字串的後續躍點和 MED 值。

    • 使用前置字串的自訂已知路徑的下一個躍點和優先順序值。系統會將自訂已知路徑的優先順序視為 MED 值。

  2. 只有在包含 Cloud Router 的 VPC 網路使用全球動態轉送模式時,才會執行下列步驟:

    • 動態路徑控制層只會將 MED 值最低的下一個躍點傳送至其他區域的動態路徑控制層。如果有多個下一個躍點的 MED 值皆為最低,則會將這些躍點全數匯出至其他區域的動態路徑控制平面。傳送的資訊包含下一個中繼點和最低 MED 值。

    • 動態路徑控制層會從其他區域的動態路徑控制層接收下一個躍點和 MED 值清單。動態路徑控制層會將每個下一個躍點新增至前置字元的下一個躍點清單。新增每個下一個躍點時,動態路由控制平面會新增區域間費用,藉此調整 MED 值。

  3. 動態路由控制層會將前置字串的下一個躍點清單,依收到的 MED 值由小至大排序。

  4. 動態路由控制層會截斷傳送至 VPC 控制層的路由清單。通常,傳送至 VPC 控制平面的路徑清單會包含 MED 值最低的路徑,以及 (如果有) MED 值次低的路徑。不過,動態路徑控制層只保證會將 MED 值最低的路徑傳送至 VPC 控制層。

標準最佳路徑選取模式

標準最佳路徑選取模式更貼近 RFC 4271 的規定。相較於舊版最佳路徑選取模式,這項功能提供下列優點:

  • 以 AS 路徑為基礎的一致性路由:系統會根據虛擬私有雲網路中所有雲端路由器取得的所有路徑,考量 AS 路徑資訊。這樣一來,您就能使用 AS 路徑前置功能影響流量流量。

  • 更具彈性和可自訂性:您可以更進一步控制 BGP 前置詞在虛擬私有雲網路中的排名方式,包括調整 BGP 最佳路徑轉送功能。與靜態路徑相比,動態路徑的 VPC 網路路徑優先順序一律較低。

使用標準最佳路徑選取模式時,Cloud Router 會提供下列設定選項:

  • 比較 MED 值:您可以選擇下列任一選項:

    • 一律比較:比較每個目的地前置字元的 MED 值時,不考量 Cloud Router 從哪個 AS 學到前置字元。

    • 依條件比對:前置字串會依 Cloud Router 取得前置字串的 AS 分組。對於每個 AS 中的前置字串,系統會根據 RFC 4721 所述的 MED 值比對結果,為跳躍點進行排名。

  • 將區域加入跨區域費用:您可以選擇是否將跨區域費用加入 MED 值。

BGP 工作選取程序

Cloud Router BGP 工作會從所管理 BGP 工作階段的對等路由器接收目的地前置字串。BGP 工作會從 BGP 工作管理的所有 BGP 工作階段中,建立一組專屬的目的地前置字串。接著,BGP 工作會使用下列程序,為每個 BGP 收到的專屬目的地前置字串,決定至少一個最佳下一個躍點:

  1. 最短的 AS 路徑長度:BGP 工作會依 AS 路徑長度排序,從最短的 AS 路徑長度到最長的 AS 路徑長度。排序後,BGP 工作會移除所有下個躍點,這些躍點的 AS 路徑長度並非最短。

  2. 偏好的來源類型:BGP 工作會優先使用使用內部閘道協定 (IGP) 的下一個躍點,而非使用外部閘道協定 (EGP) 的下一個躍點,且 BGP 工作會優先使用使用 EGP 的下一個躍點,而非使用來源類型為 Incomplete 的下一個躍點。

    如果至少一個下一個躍點的來源類型為 IGP,BGP 工作就會移除所有具有 EGP 或不完整來源類型的下一個躍點。

    如果所有下一個躍點都沒有 IGP 來源類型,且至少有一個下一個躍點的來源類型為 EGP,BGP 工作會移除所有來源類型為 Incomplete 的下一個躍點。

  3. 考量鄰近的 ASN:VPC 網路設定 routingConfig.bgpAlwaysCompareMed 會控制演算法的這個步驟,如下所示:

    • 如果 routingConfig.bgpAlwaysCompareMedTrue,則系統不會將每個下一跳的鄰近 ASN 值視為相關資訊。BGP 任務會依 MED 值從最小到最大排序下一個躍點。排序後,BGP 工作會移除所有 MED 值不符合最小值的下一個躍點。

    • 如果 routingConfig.bgpAlwaysCompareMedFalse 或未設定,則系統會將每個下一個躍點的相鄰 ASN 值視為相關,因此 BGP 工作會執行以下操作:

      1. BGP 工作會依鄰居 ASN 值將下一個躍點清單分組。

      2. 在每個鄰居 ASN 群組中,BGP 工作會將下一個中繼點從最小到最大的 MED 值排序。(每個相鄰的 ASN 群組的 MED 值最小值可能不同)。

      3. 在每個鄰居 ASN 群組中,BGP 工作會移除所有 MED 值不符合最小值的下一個跳躍點。

BGP 工作會將每個目的地前置字串和對應的未移除下一個躍點清單,傳送至區域的動態路徑控制層。在某些情況下,Cloud Router BGP 軟體工作也可能會傳送已從考量範圍移除的下一個躍點。

動態路徑控制層處理

每個區域的動態路由控制層都會強制執行下列配額,適用於 BGP 收到的路徑和自訂學習路徑中的不重複目的地:

在強制執行先前的 Cloud Router 配額時,動態路由控制平面會捨棄與不重複目的地相關聯的所有路徑資訊,這些目的地會排序超過任一 Cloud Router 配額的上限。詳情請參閱「確定性路徑捨棄行為」。

強制執行配額後,動態路徑控制層會將下列處理演算法套用至每個未捨棄的專屬目的地前置字串:

  1. 前置字串的初始下一個躍點清單:動態路徑控制平面會為前置字串建立初始下一個躍點清單,其中包含下列兩者:

    • 來自 BGP 任務的 BGP 接收下一個躍點資訊,該任務會管理 VPC 網路中的 Cloud Router,且位於與動態路徑控制平面相同的地區。

    • 前置字串的自訂學習路徑的下一個躍點資訊,在 VPC 網路中的 Cloud Router 上定義,且位於與動態路徑控制平面相同的地區。自訂已知路徑會套用下列 BGP 屬性:

      • AS 路徑,僅包含對等裝置的 ASN。也就是 AS 路徑長度為 1,以及對等端 ASN 的鄰近 ASN。
      • 起源,設為「Incomplete」。
      • MED 值,其中每個自訂已知路徑的優先順序都會視為 MED 值。
      • 跨區域費用設為 0。
  2. 最短 AS 路徑長度:動態路由控制層會依 AS 路徑長度排序下一個躍點清單,從最短 AS 路徑長度排到最長 AS 路徑長度。動態路徑控制層會移除所有下個躍點,這些躍點的 AS 路徑長度並非最短。

  3. 偏好的來源類型:動態路徑控制層會優先使用 IGP 的下一個躍點,而非使用 EGP 的下一個躍點,且會優先使用 EGP 的下一個躍點,而非使用來源類型為 Incomplete 的下一個躍點。

    如果至少一個下一個躍點的來源類型為 IGP,則動態路徑控制層會移除所有含有 EGP 或不完整來源類型的下一個躍點。

    如果所有下個躍點都沒有起源類型 IGP,且至少有一個下個躍點的起源類型為 EGP,則動態路由控制層會移除所有起源類型為 Incomplete 的下個躍點。

  4. 考量鄰近的 ASN:VPC 網路設定 routingConfig.bgpAlwaysCompareMed 會控制此演算法的步驟,如下所示:

    • 如果 routingConfig.bgpAlwaysCompareMedTrue,則每個下個躍點的鄰近 ASN 值不會視為相關。在這種情況下,動態路徑控制層會將後續中繼從最小到最大的 MED 值排序。下一個中繼點的 MED 值越小,排名就越高。動態路由控制層會移除所有下一個躍點,除了最高等級的躍點。

    • 如果 routingConfig.bgpAlwaysCompareMedFalse 或未設定,則每個下一個躍點的相鄰 ASN 值都會視為相關,因此動態路徑控制層會執行以下操作:

      1. 動態路徑控制層會依鄰居 ASN 值將下一個躍點清單分組。

      2. 在每個相鄰的 ASN 群組中,動態路徑控制層會將下一個躍點從最小到最大 MED 值排序。在每個相鄰的 ASN 群組中,最小 MED 值可能不同。

      3. 在每個相鄰的 ASN 群組中,動態路徑控制層會移除所有 MED 值不屬於最小的下一個中繼點。

      在每個鄰近 ASN 群組中,MED 值最小的後續跳躍點具有最高排名。動態路由控制平面會移除所有下一個躍點,除了最高排名的躍點。

  5. 將所有最高排名的下一個躍點傳送至其他區域:當 VPC 網路的動態轉送模式為全球性時,動態路由控制平面會將目前的最高排名下一個躍點集傳送至其他區域。

  6. 接收其他區域中最高排名的躍點:當 VPC 網路的動態轉送模式為全球性時,動態路由控制平面會從其他區域的動態路由控制平面接收前置字串的最高排名下一個躍點清單。每個收到的下一個躍點都包含 AS 路徑長度、鄰居 ASN、來源類型和 MED,以及傳送下一個躍點的動態路由控制層區域。

    動態路徑控制層會將收到的下一個躍點附加至前置字元的下一個躍點清單,然後執行下列操作:

    • 重複「最短 AS 路徑長度步驟。

    • 重複「偏好的來源類型」步驟。

    • 根據 VPC 網路的 routingConfig.bgpInterRegionCost 設定,重複執行「考量鄰近 ASN」步驟:

      • 如果 VPC 網路的 routingConfig.bgpInterRegionCostADD_COST_TO_MED,動態路徑控制層會在重複「考量鄰居 ASN」步驟時,使用調整過的 MED 值。每個經調整的 MED 值都是原始 MED 值加上跨區域費用的總和。動態路由控制平面本身區域中的下一跳,其區域間成本為 0。從其他區域的動態路由控制層學習到的後續躍點,其區域間費用非零,且各區域間費用皆不同,包括傳送區域和接收區域。

      • 如果 VPC 網路的 routingConfig.bgpInterRegionCostDEFAULT 或未設定,動態路由控制層會使用原始 MED 值重複執行「考量鄰近 ASN」步驟。

  7. 移除所有非最小區域間成本的下一個躍點:當 VPC 網路的動態轉送模式為全域時,動態路徑控制平面會移除所有下一個躍點,只保留最小區域間成本的下一個躍點。

  8. 將下一個躍點傳送至 VPC 控制層:針對每個不重複的目的地前置字串,動態路由控制層會將所有具有最高排名和最小區域間成本的下一個躍點傳送至 VPC 控制層。這些下一個躍點會在 VPC 網路的動態路由控制平面區域中建立動態路由。這些動態路徑的 Andromeda 路徑優先順序為 65536。我們刻意選擇 65536 優先順序編號,因為這個數字比 65535 大一,而 65535靜態路徑最低優先順序。因此,如果相同目的地前置碼同時存在靜態和動態路徑,轉送順序會優先使用靜態路徑。

    在某些情況下,動態路徑控制層可能會傳送較低等級或非最低區域間成本的下一個躍點。這些額外的下一個躍點也會在虛擬私有雲網路的動態路由控制平面區域中建立動態路由,但會使用較低的 Andromeda 路由優先順序,例如 6553765538

VPC 控制層處理

每個區域的 VPC 控制平面會從該區域的動態路由控制平面接收候選動態路由。除非動態路由控制層捨棄動態路由,否則 VPC 控制層會評估每個候選動態路由。評估結果會在含有 Cloud Router 的 VPC 網路中建立動態路徑,或是抑制候選動態路徑。以下是候選動態路徑遭到抑制的理由:

如果含有 Cloud Router 的虛擬私人雲端網路匯出自訂路徑,而對等互連虛擬私人雲端網路匯入自訂路徑,則每個區域的 VPC 控制平面也可以在對等互連虛擬私人雲端網路中建立對等互連動態路徑。如要瞭解如何使用 VPC 網路對等互連功能交換自訂路徑,請參閱「交換動態路徑的選項」。

建立對等互連動態路徑時,每個區域的 VPC 控制平面會根據每個網路獨立評估候選動態路徑。除了先前提到的隱藏情況外,對等互連虛擬私有雲網路中也會套用下列隱藏情況:

  • 如果候選對等互連動態路徑的目的地前置碼與本機動態路徑的目的地前置碼完全相符,VPC 控制層就會抑制衝突的對等互連動態路徑。

  • 如果從兩個或更多對等的 VPC 網路收到相同目的地前置字元的候選對等動態路徑,VPC 控制層會使用內部演算法,選擇要從哪個網路匯入對等動態路徑。系統會先評估這個內部演算法,再考慮路線優先順序。如需更多資訊,請參閱「從單一 VPC 網路選取對等互連自訂路徑的下一個躍點」。

  • 如果每個區域各對等互連群組的動態路徑配額超過上限,虛擬私有雲控制層只會抑制對等互連動態路徑。

由於每個 VPC 控制層會依網路個別抑制動態路由,因此請注意下列事項:

  • 如果候選動態路徑在包含建立候選動態路徑的 Cloud Router 的 VPC 網路中成為本機動態路徑,候選動態路徑可能會在一或多個對等 VPC 網路中遭到抑制。

  • 如果候選動態路徑已在包含建立候選動態路徑的 Cloud Router 的 VPC 網路中遭到抑制,候選動態路徑可能會在一個或多個對等的 VPC 網路中成為對等互連的動態路徑。

BGP 狀態變更

透過 BGP 接收的路徑和自訂已知路徑會產生動態路徑,如最佳路徑選取模式所述。只要建立對應的 BGP 工作階段,動態路徑就會持續保留。在下列情況下,如果 BGP 工作階段不再建立,系統就會移除動態路徑:

  • 如果對等路由器支援安全重新啟動,則會在對等路由器的安全重新啟動計時器到期後移除動態路徑。(對等路由器的安全重新啟動計時器值可能與 Cloud Router 的安全重新啟動計時器不同)。

  • 如果對等路由器不支援安全重新啟動,則會在 Cloud Router 保留計時器到期後移除動態路徑。Cloud Router 暫停計時器與可設定的 Cloud Router 保活間隔成正比。

Cloud Router 維護事件通常會在 60 秒內完成,且不會導致動態路線遭到移除。

Cloud Router 會使用 60 秒安全重新啟動計時器。如此一來,在 Cloud Router 維護事件期間,支援安全重新啟動功能的對等互連路由器會保留建立的 BGP 工作階段,最多可達 60 秒。

建議您為不支援安全重新啟動的對等路由器設定大於或等於 60 秒的保留計時器值。

Cloud Interconnect 的定期維護事件需要超過 60 秒的時間,並會在連線維護期間移除下列動態路徑:與 Cloud Interconnect 連線相關聯的 VLAN 連結。請確認您的 Cloud Interconnect VLAN 連結和連線符合下列任一條件:

如要進一步瞭解 BFD,請參閱「失敗事件期間的 BFD」。

後續步驟