保护性重新路由 (PRR) 是一种基于主机的方法,用于在多路径网络中绕过故障来路由数据包。PRR 已部署在 Google 的全球网络中,可与现有的弹性机制配合使用,以提高所有用户的网络可用性。
选择 PRR 模式
Google Cloud 以两种模式提供 PRR:hypervisor 模式和 guest 模式。
- hypervisor 模式下的 PRR
hypervisor 模式的 PRR 默认可保护大多数流量,但存在以下限制:
如果实例的流量扇出非常大(例如,如果一个实例同时主动向数千个跨区域实例发送数据包),则并非所有数据包都会受到保护。
hypervisor 模式的 PRR 可以保护网络路径的关键部分,但并非对完整的端到端提供保护。
hypervisor 模式的 PRR 可以在几秒内做出反应。
- 访客模式下的 PRR
对于对短时网络事件特别敏感、具有较大扇出模式、对丟包高度敏感或需要尽可能快的网络恢复时间(在 RTT 时间尺度上)的关键应用,可以使用访客模式的 PRR。
所有 Google Cloud 客户都会自动获得 hypervisor 模式的 PRR,无需执行任何配置操作。
配置访客模式 PRR
对于对丢包高度敏感、需要较大扇出模式或需要尽可能快的网络恢复的应用,您应使用访客模式。
如需配置访客模式 PRR,请执行以下步骤。
验证 Linux 内核的版本。使用以下命令确认实例操作系统使用的是 4.20 版或更高版本:
uname -r验证 IPv6 流标签是否会自动生成。使用以下命令检查
/proc/sys/net/ipv6/auto_flowlabels设置是否已启用。此sysctl设置通常默认处于启用状态。cat /proc/sys/net/ipv6/auto_flowlabels如果该值不是
1,请在系统配置中启用该值。使用 gVNIC 网络接口驱动程序可获得完整的 PRR 支持。如需同时保护 IPv4 和 IPv6 流量,您的实例必须使用 gVNIC 网络接口。如果实例使用 VirtIO 网络接口,则 PRR 仅保护 IPv6 流量。