使用重新路由保護機制,盡可能提高 TCP 網路韌性

重新路由保護機制 (PRR) 是一種以主機為基礎的技術,可在多路徑網路中,將封包繞過故障點進行路由。PRR 會部署在 Google 的全球網路中,與現有的復原機制搭配運作,為所有使用者提升網路可用性。

選擇 PRR 模式

Google Cloud 提供兩種模式的 PRR:管理程序模式和訪客模式。

管理程序模式下的 PRR

在 Hypervisor 模式下,PRR 預設會保護大多數流量,但有以下限制:

  • 如果執行個體有大量流量扇出,例如執行個體同時主動將封包傳送至數千個跨區域執行個體,則並非所有封包都會受到保護。

  • 管理程序模式 PRR 可保護網路路徑的重要區段,但並非完整的端對端保護。

  • 管理程序模式 PRR 的反應時間為個位數秒。

訪客模式下的 PRR

對於對短時間網路事件特別敏感、具有大型扇出模式、對封包遺失高度敏感,或需要盡快復原網路 (以 RTT 時間尺度) 的重要應用程式,可以使用訪客模式 PRR。

所有客戶都會自動取得 Hypervisor 模式 PRR,不需採取任何設定動作。 Google Cloud

設定訪客模式 PRR

如果應用程式對封包遺失高度敏感、需要大型扇出模式,或需要盡快復原網路,就應使用訪客模式。

如要設定訪客模式 PRR,請按照下列步驟操作。

  1. 確認 Linux 核心版本。使用下列指令確認執行個體 OS 使用的是 4.20 以上版本:

    uname -r
    
  2. 確認系統會自動產生 IPv6 流量標籤。使用下列指令檢查 /proc/sys/net/ipv6/auto_flowlabels 設定是否已啟用。這項 sysctl 設定通常預設為啟用。

    cat /proc/sys/net/ipv6/auto_flowlabels
    

    如果值不是 1,請在系統設定中啟用。

  3. 使用 gVNIC 網路介面驅動程式,取得完整的 PRR 支援。如要保護 IPv4 和 IPv6 流量,執行個體必須使用 gVNIC 網路介面。如果執行個體使用 VirtIO 網路介面,PRR 只會保護 IPv6 流量。

後續步驟