使用保护性重新路由功能优化 TCP 网络弹性

保护性重新路由 (PRR) 是一种基于主机的方法,用于在多路径网络中绕过故障来路由数据包。PRR 已部署在 Google 的全球网络中,可与现有的弹性机制配合使用,以提高所有用户的网络可用性。

选择 PRR 模式

Cloud de Confiance by S3NS 以两种模式提供 PRR:hypervisor 模式和 guest 模式。

hypervisor 模式下的 PRR

hypervisor 模式的 PRR 默认可保护大多数流量,但存在以下限制:

  • 如果实例的流量扇出非常大(例如,如果一个实例同时主动向数千个跨区域实例发送数据包),则并非所有数据包都会受到保护。

  • hypervisor 模式的 PRR 可以保护网络路径的关键部分,但并非对完整的端到端提供保护。

  • hypervisor 模式的 PRR 可以在几秒内做出反应。

访客模式下的 PRR

对于对短时网络事件特别敏感、具有较大扇出模式、对丟包高度敏感或需要尽可能快的网络恢复时间(在 RTT 时间尺度上)的关键应用,可以使用访客模式的 PRR。

所有 Cloud de Confiance by S3NS 客户都会自动获得 hypervisor 模式的 PRR,无需执行任何配置操作。

配置访客模式 PRR

对于对丢包高度敏感、需要较大扇出模式或需要尽可能快的网络恢复的应用,您应使用访客模式。

如需配置访客模式 PRR,请执行以下步骤。

  1. 验证 Linux 内核的版本。使用以下命令确认实例操作系统使用的是 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 流量。

后续步骤