Cloud Router 概览

Cloud Router 是一项完全分布式的代管 Google Cloud 服务,它使用边界网关协议 (BGP) 来通告 IP 前缀。Cloud Router 根据从对等方收到的 BGP 通告来对动态路由进行编程。每个 Cloud Router 路由器不是实体设备,而是由充当 BGP 发言者和响应者的软件任务组成。Cloud Router 路由器还可用作 Cloud NAT 的控制层面。Cloud Router 可为以下 Google Cloud 产品提供 BGP 服务:

每个 Cloud Router 路由器至少与上文列出的其中一个网络连接产品配合使用。

将本地或多云网络连接到 Google Cloud 时,Cloud Router 路由器会使用 BGP 在您的 Google Cloud VPC 网络和远程网络之间动态交换路由。前缀和下一个跃点更改会自动在您的 VPC 网络和另一个网络之间传播,无需静态路由。

您还可以使用 Cloud Router 路由器连接 Google Cloud 中的两个 VPC 网络。在这种情况下,您将使用两个高可用性 VPN 和两个 Cloud Router 路由器来连接 VPC 网络,每个网络上一个高可用性 VPN 及其关联的 Cloud Router 路由器。

直接对等互连和运营商对等互连不使用 Cloud Router 路由器。

规格

Cloud Router 可以在其边界网关协议 (BGP) 会话上通告 Virtual Private Cloud (VPC) 子网路由和自定义前缀。除非您配置自定义通告模式,否则 Cloud Router 路由器仅会通告 VPC 子网路由。 自定义通告模式还可让您配置 Cloud Router 路由器以省略通告 VPC 子网路由。

VPC 网络的动态路由模式(区域级或全球)决定了该网络中的 Cloud Router 路由器要通告的 VPC 子网路由。如需了解详情,请参阅默认通告模式

动态路由模式还可控制每个 Cloud Router 路由器如何应用已知前缀作为 VPC 网络中的动态路由。如需详细了解此行为,请参阅动态路由模式的影响

为 Cloud Interconnect、高可用性 VPN 和路由器设备配置 BGP 时,您可以选择将路由器的对等互连会话配置为使用 MD5 身份验证

自治系统编号 (ASN)

创建 Cloud Router 路由器时,您可以为 Cloud Router 路由器使用的所有 BGP 会话选择 Google 端 ASN其他资源部分中列出的每个产品的说明详细介绍了每个产品如何使用 ASN。

BGP 对等互连地址

以下产品的 BGP 会话使用 169.254.0.0/16 范围内的 IPv4 链路本地地址作为 BGP 对等互连地址:

  • 对于专用互连,您可以为 BGP 对等互连地址指定候选 IPv4 链路本地地址,或者 Google Cloud 可以自动选择未使用的 IPv4 链路本地地址。
  • 对于合作伙伴互连,Google Cloud 会自动选择未使用的 IPv4 链路本地地址。
  • 对于使用动态路由的高可用性 VPN 和传统 VPN,可以在 Cloud Router 路由器上创建 BGP 接口时指定 BGP 对等互连地址。

路由器设备使用 Google Cloud 虚拟机的内部 IPv4 地址作为 BGP 地址。如需了解详情,请参阅创建路由器设备实例

Cloud Router 还支持将 IPv6 地址用于 BGP 对等互连。 借助 IPv6 BGP 对等方的配置,您可以通过高可用性 VPN 隧道和专用互连 VLAN 连接创建 IPv6 BGP 会话。

对于高可用性 VPN 隧道,您可以使用 fdff:1::/64 范围内的 IPv6 唯一本地地址 (ULA) 作为 BGP 对等互连地址。IPv6 BGP 会话的对等互连地址必须使用掩码长度 126 或较小的 bit-count 值,例如 /122。在高可用性 VPN 中配置 IPv6 BGP 会话时,您可以手动配置对等互连 IPv6 地址,也可以让 Google Cloud 自动分配这些地址。

对于专用互连,对等互连 IPv6 地址会自动从 Google 拥有的全球单播地址 (GUA) 范围 2600:2d00:0:1::/64 中分配。您无法为这些对等互连 IPv6 地址指定候选范围,也无法手动配置这些对等互连 IPv6 地址。

对内部负载均衡器的访问权限

如需详细了解如何从连接的本地网络访问内部负载均衡器,请参阅 Cloud Load Balancing 文档中的内部直通式负载均衡器和连接的网络

IPv6 支持

Cloud Router 路由器支持使用 IPv6 BGP 对等互连或使用多协议 BGP (MP-BGP) 通过 IPv4 BGP 会话进行 IPv6 路由交换。

Cloud Router 会为包含双栈子网的 VPC 网络通告 IPv6 前缀。默认情况下,内部 IPv6 子网范围会自动通告。外部 IPv6 子网范围不会自动通告,但您可以使用自定义通告路由手动通告。

您可以创建以下类型的 BGP 会话:

  • 仅交换 IPv4 路由的 IPv4 BGP 会话
  • 仅交换 IPv6 路由的 IPv6 BGP 会话
  • 既交换 IPv4 路由又使用 MP-BGP 交换 IPv6 路由的 IPv4 BGP 会话
  • 既交换 IPv6 路由又使用 MP-BGP 交换 IPv4 路由的 IPv6 BGP 会话
  • IPv4 BGP 会话和通过同一高可用性 VPN 隧道或专用互连 VLAN 连接并行运行的 IPv6 会话;IPv4 BGP 会话仅交换 IPv4 路由,IPv6 BGP 会话仅交换 IPv6 路由

有关详情,请参阅以下文档:

如需详细了解 IPv6 路由通告,请参阅路由通告模式

IPv6 限制

以下资源不支持 IPv6 BGP 对等互连和 IPv6 路由交换:

  • 合作伙伴互连 VLAN 连接
  • 传统 VPN 隧道
  • 路由器设备(Network Connectivity Center 的一部分)
  • 跨 Cloud Interconnect VLAN 连接

Cloud Router 路由器软件任务

Cloud Router 路由器通过一项或两项(在极少数情况下为三项)软件任务来实现。

AS 路径长度选择仅与每个 Cloud Router 路由器软件任务相关。在考虑多出口判别器 (MED) 值之前,单个 Cloud Router 路由器软件任务会单独首选较短的 AS 路径长度。

每个软件任务都会将其给定前缀的最佳路径发送到 Cloud Router 路由器控制平面,然后控制平面将其最佳路径发送到 VPC 网络。

在涉及多个 Cloud Router 路由器软件任务的情况下,某个特定软件任务的前缀最佳路径的 AS 路径长度与另一个软件任务的同一前缀的最佳路径长度可能不同。

配置具有 SLA 的高可用性 VPN 隧道和 Cloud Interconnect VLAN 连接时,需要多个 Cloud Router 路由器软件任务。因此,为了确保结果可预测,Google 建议您执行以下操作:

  • 通告具有相同 AS 路径长度的本地前缀
  • 仅使用 MED 值影响生成的动态路由的优先级

下表提供了示例场景以及每个场景中 Google Cloud 用于实现 Cloud Router 路由器的软件任务数量。

  • 对于表中列出的高可用性配置,使用两个软件任务来提供软件冗余。
  • 对于 VLAN 连接,使用单独的软件任务来处理每个具有连接的边缘可用性网域。
示例场景 用于实现 Cloud Router 路由器的软件任务数量
一个或多个接口,每个接口连接到一个传统 VPN 隧道。 1
一个或多个接口,每个接口连接到一个 VLAN 连接,VLAN 连接位于同一边缘可用性网域中。 1
任意数量的接口,每个接口连接到一个高可用性 VPN 隧道,隧道都连接到一个或多个高可用性 VPN 网关上的相同接口编号。例如,两个隧道分别连接到不同高可用性 VPN 网关上的 interface 0 1
至少两个接口,一个接口连接到一个边缘可用性网域中的 VLAN 连接,另一个接口连接到一个高可用性 VPN 隧道,边缘可用性网域编号和 VPN 网关接口编号相同。例如,一对边缘可用性网域中的第一个边缘可用性网域和第一个 VPN 网关接口。 1
至少两个接口,均连接到路由器设备实例,其中一个接口配置为冗余接口。如需创建冗余接口,请使用 redundant-interface 标志 (Google Cloud CLI) 或 redundantInterface 字段 (Compute Engine API)。路由器设备是 Network Connectivity Center 的一部分。 2
至少两个接口,每个接口连接到一个 VLAN 连接,VLAN 连接位于不同的边缘可用性网域中。 2
至少两个接口,每个接口连接到一个高可用性 VPN 隧道,每个隧道连接到不同的高可用性 VPN 网关接口编号。例如,一个隧道连接到高可用性 VPN 网关的 interface 0,另一个隧道连接到相同网关的 interface 1 或另一个网关。 2
至少满足以下条件的 Cloud Router 路由器:
  • 一个接口连接到 edge availability domain 0 中的一个 VLAN 连接和/或一个接口连接到一个高可用性 VPN 隧道,该隧道连接到高可用性 VPN 网关的 interface 0
  • 一个接口连接到 edge availability domain 1 中的一个 VLAN 连接和/或一个接口连接到一个高可用性 VPN 隧道,该隧道连接到高可用性 VPN 网关的 interface 1
  • 一个接口连接到传统 VPN 隧道。
3

软件维护和任务自动重启

Google Cloud 会定期执行维护事件,以发布新功能并提高可靠性。在维护期间,系统会预配新的软件任务。您的本地路由器日志指示由这些软件任务管理的 BGP 会话出现故障并恢复(BGP 抖动)。

系统会自动维护 Cloud Router 路由器,旨在确保不会中断路由。维护事件用时预计不会超过 60 秒。在维护之前,Cloud Router 路由器会将优雅重启通知(TCP FIN 数据包)发送到本地路由器。

如果您的本地路由器可以处理安全重启事件,则会在 Cloud Router 路由器维护期间记录安全重启事件。对于不支持安全重启的本地路由器,请确保将本地路由器的保留计时器设置为 60 秒。如需了解详情,请参阅管理 BGP 计时器

Cloud Router 路由器维护事件不会提前通知,因为路由不会在正确配置的本地路由器上丢失。如需获取有关已完成的维护事件的详细信息,请参阅识别路由器维护事件

如需了解优雅重启如何与双向转发检测 (BFD) 搭配使用,请参阅优雅重启和 BFD

路由通告模式

通过使用 BGP 以及其他资源部分中列出的产品,Cloud Router 会向您的本地网络通告地址范围。这允许本地网络中的客户端将数据包发送到 VPC 网络中的资源以及从 VPC 网络中的资源接收数据包。

Cloud Router 路由器提供两种路由通告模式:默认通告模式和自定义通告模式。

默认通告模式

使用默认通告模式会配置 Cloud Router 或 BGP 会话,以通告以下类型的子网地址范围的前缀。VPC 网络的动态路由模式控制通告的子网地址范围是仅来自 Cloud Router 所在的区域还是来自所有区域:

如果您通告以非公开方式使用的公共 IPv4 地址,则本地系统可能会无法访问使用这些公共 IPv4 地址的互联网资源。

子网路由通告会自动更新,如子网路由通告的自动更新中所述。

自定义通告模式

通过自定义通告模式,您可以控制 Cloud Router 路由器通告的前缀。您可以为 Cloud Router 上的所有 BGP 会话或个别 BGP 会话指定自定义通告路由(包括默认路由前缀、IPv4 路由的 0.0.0.0/0 或 IPv6 路由的 ::/0)。自定义通告路由分为两类:

  • 您只能通告自定义 IPv4 和 IPv6 前缀。这种类型的自定义通告路由会忽略使用默认通告模式进行通告的子网路由。

  • 除了子网路由之外,您还可以通告自定义 IPv4 和 IPv6 前缀。这种类型的自定义通告路由包括使用默认通告模式进行通告的相同子网路由。

如果您选择通告子网路由,则其通告会自动更新,如子网路由通告的自动更新中所述。

如果满足 IPv6 路由通告的条件,则在您选择通告子网路由时,Cloud Router 路由器会通告内部 IPv6 子网范围。您必须将所有外部 IPv6 子网范围添加到自定义路由列表中,才能通告它们。

如需了解每个 BGP 会话上可以通告的自定义通告路由数上限,请参阅 Cloud Router 路由器限制页面上每个 BGP 会话的自定义通告路由数量上限。此上限适用于整个 Cloud Router 路由器的自定义通告路由,以及每个 BGP 会话的自定义通告路由。

有关详情,请参阅以下文档:

有效的通告前缀

路由通告模式可在整个 Cloud Router 路由器和 Cloud Router 路由器的各个 BGP 会话上配置。下表介绍了根据 Cloud Router 路由器和 BGP 会话的所选通告模式在 BGP 会话上通告哪些前缀。

Cloud Router 的模式 BGP 会话的模式 BGP 会话上的有效通告前缀
默认 默认 BGP 会话继承 Cloud Router 路由器配置。子网路由按默认通告模式中的说明进行通告。
自定义 默认 BGP 会话继承 Cloud Router 路由器配置。整个 Cloud Router 路由器上配置的自定义路由会按照自定义通告模式中的说明进行通告。通告的路由可能包含部分或全部子网路由。
默认或自定义 自定义 BGP 会话不继承 Cloud Router 路由器配置。在 BGP 会话本身上配置的自定义通告路由会按照自定义通告模式中的说明进行通告。通告的路由可能包含部分或全部子网路由。

子网路由通告的自动更新

在以下情况下,Cloud Router 会自动更新子网路由通告:

IPv6 路由通告的条件

当满足以下所有条件时,Cloud Router 路由器可以通告 IPv6 路由:

  • 与 Cloud Router 路由器搭配使用的产品(例如高可用性 VPN 网关)配置为使用 IPv4 和 IPv6(双栈)栈类型。

  • IPv6 BGP 会话已配置并启用,或者 IPv4 BGP 会话已专门配置为启用 IPv6 路由交换。

    如需详细了解如何配置 BGP 会话,请参阅建立 BGP 会话

要通告内部 IPv6 子网范围,您的 VPC 网络必须具有分配的内部 (ULA) IPv6 范围,并且您必须使用内部 IPv6 子网范围创建至少一个双栈子网

通告的前缀和优先级

当 Cloud Router 向 BGP 对等体通告前缀时,它会包含通告中每个前缀的优先级(BGP 消息)。 通告的优先级作为 MED 进行实现。

您可以控制 Cloud Router 向其所有或部分 BGP 会话通告的前缀。您可以通过为前缀定义基准优先级来控制通告的优先级 (MED)。

  • 如果您的 VPC 网络使用区域动态路由模式,除非您通告自定义范围,否则每个 Cloud Router 仅通告 Cloud Router 所在区域内的子网范围。 每个范围都作为前缀提供,其中 MED 是基准优先级。

  • 如果您的 VPC 网络使用全局动态路由模式,则除非您通告自定义范围,否则每个 Cloud Router 都会以 MED 匹配的前缀形式发布本区域内的子网范围。此外,Cloud Router 路由器会将来自不同区域的子网范围作为前缀,这些子网的 MED 等于基准优先级加上区域间开销。Google Cloud 会根据网络性能、距离和区域间可用带宽等因素自动计算区域间费用。每个区域间开销都有特定于一对区域的值,即子网的区域和通告 Cloud Router 的区域。

当本地路由器收到通告的前缀及其优先级时,它们会创建用于将数据包发送到 VPC 网络的路由。

基本优先级指南

在 Cloud Router 路由器上配置边界网关协议 (BGP) 会话时,您可以为 BGP 会话指定基准通告优先级。基准通告优先级适用于该 BGP 会话通告的所有前缀(目标)。

基准优先级是 065535 之间的整数。可能的最高基准优先级为 0。 默认基准优先级是 100。如果您未指定基础优先级,则系统会使用默认优先级。

通过基准优先级,您可以指定本地系统使用哪些 VPN 隧道或 VLAN 连接将数据包发送到 VPC 网络。您可以使用基准优先级创建这些拓扑的主动-主动、主动-被动或自定义组合。如需查看使用高可用性 VPN 隧道的示例,请参阅 Cloud VPN 文档中的高可用性 VPN 的主动-主动和主动-被动路由选项

选择基准优先级时,请注意以下几点:

  • 区域间费用介于 2019999 之间(含边界值)。该值取决于两个区域之间的距离、延迟时间以及其他因素。 Google 会生成区域间费用值,您无法修改这些值。

  • 区域中 Cloud Router 之间的基准优先级建议介于 0200 之间(含边界值)。由于区域间费用至少为 201,因此,如果您使用 201 或以上的基准优先级,则可能会无意中为 Cloud VPN 隧道或 VLAN 连接分配低于您的预期的优先级。不同区域中的另一个 BGP 会话可能会以更高的整体优先级(MED,等于基本优先级加上区域间费用)通告相同的前缀。如果未在其他区域精心设置基准优先级,则可能会导致通过预期之外的 Cloud VPN 隧道或 VLAN 连接将本地流量传递到 VPC 网络。

  • 基准优先级为 10200 或更高,以确保前缀的整体通告优先级(MED、基准优先级加上区域间开销)始终低于基准优先级为 200 或更低的所有其他通告前缀。

如需详细了解如何设置基准优先级,请参阅更新通告路由的基准优先级

示例

本部分提供的示例说明了使用全球动态路由时区域级费用如何影响通告 MED。

具有主动/主动隧道的高可用性 VPN

在此示例中,您的 VPC 网络具有以下内容:

  • 以下每个区域中的某个子网:us-central1europe-west1us-west-1
  • 用于管理 us-central1 中两个高可用性 VPN 隧道的两个 BGP 会话的 Cloud Router
  • 用于管理 us-west1 中两个高可用性 VPN 隧道的两个 BGP 会话的 Cloud Router

下图为此示例的图示,其中包含区域间开销的示例值。

具有主动/主动隧道的高可用性 VPN。
具有主动/主动隧道的高可用性 VPN(点击可放大)

假设每个 BGP 会话的默认基准优先级均为 100

以下表格显示了如何使用基准优先级和区域间开销来计算从本地网络到每个子网的流量的通告 MED 值。

10.0.1.0/24 (us-central1)

下表显示了通告位于 us-central1 中的子网 IPv4 地址范围 10.0.1.0/24 的 BGP 会话。

来自本地网络的流量使用 us-central1 中的高可用性 VPN 隧道,因为其 BGP 会话的通告 MED 值最低。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
100 0 100 第 1 个选择
west-tunnel-0,
west-tunnel-1
100 250 350 第 2 个选择

10.0.2.0/24 (europe-west1)

下表显示了通告位于 europe-west1 中的子网 IPv4 地址范围 10.0.2.0/24 的 BGP 会话。

来自本地网络的流量使用 us-central1 中的高可用性 VPN 隧道,因为其 BGP 会话的通告 MED 值最低。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
100 300 400 第 1 个选择
west-tunnel-0,
west-tunnel-1
100 350 450 第 2 个选择

10.0.3.0/24 (us-west1)

下表显示了通告位于 us-west1 中的子网 IPv4 地址范围 10.0.3.0/24 的 BGP 会话。

来自本地网络的流量使用 us-west1 中的高可用性 VPN 隧道,因为其 BGP 会话的通告 MED 值最低。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
100 250 350 第 2 个选择
west-tunnel-0,
west-tunnel-1
100 0 100 第 1 个选择

具有主动/被动隧道的高可用性 VPN

此示例使用与上例相同的拓扑,但修改了基准优先级,以便在每个区域中实现主动/被动高可用性 VPN 隧道对:

  • BGP 会话的默认基准优先级为 100 的主隧道
  • 其 BGP 会话的优先级低于 351 的辅助隧道

以下表格显示了如何使用基准优先级和区域间开销来计算从本地网络到每个子网的流量的通告 MED 值。

10.0.1.0/24 (us-central1)

下表显示了通告位于 us-central1 中的子网 IPv4 地址范围 10.0.1.0/24 的 BGP 会话。

来自本地网络的流量使用 us-central1 中的主要 VPN 隧道,因为其 BGP 会话的通告 MED 数量最低。如果该隧道不可用,则流量将使用 us-west1 中的主隧道。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0 100 0 100 第 1 个选择
central-tunnel-1 351 0 351 第 3 个选择
west-tunnel-0 100 250 350 第 2 个选择
west-tunnel-1 351 250 601 第 4 个选择

10.0.2.0/24 (europe-west1)

下表显示了通告位于 europe-west1 中的子网 IPv4 地址范围 10.0.2.0/24 的 BGP 会话。

来自本地网络的流量使用 us-central1 中的主要 VPN 隧道,因为其 BGP 会话的通告 MED 数量最低。如果该隧道不可用,则流量将使用 us-west1 中的主隧道。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0 100 300 400 第 1 个选择
central-tunnel-1 351 300 651 第 3 个选择
west-tunnel-0 100 350 450 第 2 个选择
west-tunnel-1 351 350 701 第 4 个选择

10.0.3.0/24 (us-west1)

下表显示了通告位于 us-west1 中的子网 IPv4 地址范围 10.0.3.0/24 的 BGP 会话。

来自本地网络的流量使用 us-west1 中的主要 VPN 隧道,因为其 BGP 会话的通告 MED 数量最低。如果该隧道不可用,则流量将使用 us-central1 中的主隧道。

VPN 隧道 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0 100 250 350 第 2 个选择
central-tunnel-1 351 250 601 第 4 个选择
west-tunnel-0 100 0 100 第 1 个选择
west-tunnel-1 351 0 351 第 3 个选择

全球首选专用互连

本示例与之前的示例类似,唯一的区别在于将 us-west1 区域中的两个 Cloud VPN 隧道替换为两个 VLAN 连接。

下图为此示例的图示。

全局首选专用互连
全球首选专用互连(点击可放大)

您希望优先使用 VLAN 连接。您可以为 us-central1 区域中的高可用性 VPN 隧道指定较大的基准优先级,以降低其优先级。

以下表格显示了如何使用基准优先级和区域间开销来计算从本地网络到每个子网的流量的通告 MED 值。

10.0.1.0/24 (us-central1)

下表显示了通告位于 us-central1 中的子网 IPv4 地址范围 10.0.1.0/24 的 BGP 会话。

来自本地网络的流量使用 us-west1 中的 VLAN 连接,因为其 BGP 会话的通告 MED 值最低。

VPN 隧道或 VLAN 连接 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
351 0 351 第 2 个选择
west-attachment-0,
west-attachment-1
100 250 350 第 1 个选择

10.0.2.0/24 (europe-west1)

下表显示了通告位于 europe-west1 中的子网 IPv4 地址范围 10.0.2.0/24 的 BGP 会话。

来自本地网络的流量使用 us-west1 中的 VLAN 连接,因为其 BGP 会话的通告 MED 值最低。

VPN 隧道或 VLAN 连接 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
351 300 651 第 2 个选择
west-attachment-0,
west-attachment-1
100 350 450 第 1 个选择

10.0.3.0/24 (us-west1)

下表显示了通告位于 us-west1 中的子网 IPv4 地址范围 10.0.3.0/24 的 BGP 会话。

来自本地网络的流量使用 us-west1 中的 VLAN 连接,因为其 BGP 会话的通告 MED 值最低。

VPN 隧道或 VLAN 连接 基准优先级 区域间费用 通告的 MED 路径排名
central-tunnel-0,
central-tunnel-1
351 250 601 第 2 个选择
west-attachment-0,
west-attachment-1
100 0 100 第 1 个选择

已知路由

已知路由是 Cloud Router 路由器用来访问另一个网络的路由。另一个网络可能是您的本地网络、其他云服务提供商的网络,或者另一个 VPC 网络。已知路由有时称为“已收到的路由”。

Google Cloud 中有两种类型的已知路由:

  • 通过 BGP 从外部路由器获知的路由

  • 您手动为单个 BGP 会话配置的路由(自定义已知路由)

使用这两种类型的已知路由时,Cloud Router 路由器会在您的 VPC 网络中创建动态路由。Cloud Router 路由器创建的每个动态路由都派生自一个或多个已知路由。

如果对于同一目的地前缀,Cloud Router 路由器有多个已知路由,Cloud Router 路由器会使用路由指标(在某些情况下使用 AS 路径长度)来创建动态路由。以下部分详细介绍了此过程以及已知路由的概况。

自定义的已知路由

如上一部分所述,您可以将 BGP 会话配置为具有自定义已知路由。配置自定义已知路由时,Cloud Router 的行为就像它从 BGP 对等方获知这些路由一样。

如果您想要避免静态路由的限制,自定义已知路由会很有帮助。例如,如果路由的下一个跃点不可达,静态路由无法检测到该情况。而自定义已知路由可以检测到失去可达性,并做出相应的反应,以避免在未通知的情况下丢弃流量。

如需了解详情,请参阅自定义已知路由

动态路由模式的影响

VPC 网络的动态路由模式决定了已知路由的应用方式:

  • 在区域动态路由模式下,Cloud Router 路由器会为 Cloud Router 路由器所在区域中的目的地和下一个跃点创建动态路由。Cloud Router 路由器将该动态路由的优先级设置为基准优先级,这是 Cloud Router 从本地路由器通告的多出口鉴别器 (MED) 获取的。

  • 在全局动态路由模式下,Cloud Router 路由器会为每个 Google Cloud 区域中的目的地和下一个跃点创建动态路由。在包含学习了该路由的 Cloud Router 路由器的区域中,Cloud Router 路由器会将动态路由的优先级设置为基准优先级。在所有其他区域中,Cloud Router 会将优先级设置为基准优先级加上相应的区域间开销。

您可以为导出到本地路由器的 Google Cloud 路由定义路由优先级。但是,本地路由器可能会替换此路由优先级,具体取决于其配置。

对于 Cloud Router 路由器获知的本地路由,Cloud Router 路由器会获取 AS 路径长度和 MED 值,并计算基准优先级,如以下两个部分所述

AS 路径在前和 AS 路径长度

AS 路径在前是一种方法,通过该方法,系统有意地降低目标(前缀)的下一个跃点的优先级,以便选择同一目标的其他下一个跃点(该跃点具有较短的 AS 路径长度)。仅当下一个跃点的 AS 路径长度相同时,系统才会考虑 MED。

Google Cloud 可以使用 AS 路径在同一 Cloud Router 路由器软件任务实现的 BGP 会话中选择下一个跃点。

Google Cloud 如何使用 AS 路径

AS 路径在前与控制层面和 VPC 网络无关。仅在每个 Cloud Router 路由器软件任务中考虑 AS 路径长度,如以下情况所述。

如果单个 Cloud Router 路由器软件任务从两个或多个 BGP 会话学习了相同目的地:

  • 该软件任务选择 AS 路径长度最短的下一个跃点 BGP 会话。
  • 软件任务会将目的地、下一个跃点和 MED 信息提交到 Cloud Router 路由器控制层面。
  • 控制层面使用该信息来创建一个或多个候选路由。每个候选者的基准优先级设为“接收 MED”。

如果两个或多个 Cloud Router 路由器软件任务从两个或多个 BGP 会话学习了相同目的地:

  • 每个软件任务会选择 AS 路径长度最短的下一个跃点 BGP 会话。
  • 每个软件任务会将目的地、下一个跃点和 MED 信息提交到 Cloud Router 路由器控制层面。
  • 控制层面使用该信息来创建两个或更多候选路由。每个候选者的基准优先级设为“接收 MED”。

Cloud Router 路由器控制平面随后根据 VPC 网络的动态路由模式在 VPC 网络中安装一个或多个动态路由。在全局动态路由模式下,每个区域动态路由的优先级在与 Cloud Router 路由器区域不同的区域中进行调整。如需详细了解 Google Cloud 如何选择路由,请参阅 VPC 文档中的路由顺序

基准优先级、MED 和来源

Cloud Router 使用对等路由器通告的 MED 值来计算基准优先级:

  • 如果目的地前缀的 MED 值介于 0231 -1(含)之间,则 Cloud Router 会将基准优先级设置为 MED 值。
  • 如果目的地前缀的 MED 值介于 231 232 -1(含)之间,则 Cloud Router 会将基准优先级设置为 231 -1

要使 MED 在同一目标的多个已知路由之间选择最佳路径期间生效,接收到的路由的 BGP 来源属性值必须相同。否则,系统会根据来源属性值进行选择,该属性值位于最佳路径选择过程 (RFC 4271) 中的 MED 比较步骤之前。

Cloud Router 路由器在来源属性值设置为 Incomplete 的情况下,向其对等方通告 BGP 路由。此值是路由选择中最不推荐的来源类型。

Cloud Router 路由器在 VPC 网络中创建动态路由时设置的最终优先级值取决于网络的动态路由模式。如需了解详情,请参阅动态路由模式的影响

静态路由

当实例发送数据包时,Google Cloud 会尝试根据路由顺序从一组适用的路由中选择一个路由。如需了解详情,请参阅 VPC 文档中的路由顺序部分。

重叠的 IPv4 或 IPv6 地址范围

如果您的 VPC 子网和本地路由通告具有重叠的地址范围,Google Cloud 会根据其地址范围定向出站流量。

如需了解详情,请参阅 VPC 文档中的适用的路由

站点到站点数据传输

如果您需要在 Google Cloud 外部的两个网站之间转移数据,请使用 Network Connectivity Center。Network Connectivity Center 与 Cloud Router 路由器搭配使用,可让您在 BGP 会话之间动态通告路由。

Cloud Router 路由器本身不支持此功能(动态或通告配置与已知前缀匹配的自定义通告路由)。如果您将自定义通告路由添加到一个 BGP 会话,并且该通告路由与另一个 BGP 会话中的已知路由重叠,则已知路由可能会被丢弃。

已知路由的限制

有几个限制会影响已知路由。如需了解详情,请参阅限制

IPv4 和 IPv6 路由计入相同的上限,没有单独的限制。

如需根据限制监控您的用量,请使用以下指标:

  • router.googleapis.com/dynamic_routes/learned_routes/used_unique_destinations
  • router.googleapis.com/dynamic_routes/learned_routes/unique_destinations_limit
  • router.googleapis.com/dynamic_routes/learned_routes/any_dropped_unique_destinations

如需了解与这些限制相关的日志消息、可用于监控这些资源的指标以及问题的解决方法,请参阅“问题排查”页面上的检查配额和限制

默认路由

如果没有为特定 IPv4 或 IPv6 目的地指定路由,则流量会被发送到默认路由,这是在没有其他选项时的最后选择。例如,Google Cloud VPC 网络会自动包含将流量发送到互联网网关的默认路由。IPv4 的默认路由为 0.0.0.0/0,IPv6 的默认路由为 ::/0

有时,您可能希望默认将流量定向到本地网络。为此,您可以通告从本地路由器到 Cloud Router 的默认路由。使用 Cloud Router,您无需创建和管理静态路由。如果您通告来自本地网络的默认路由,请检查该路由是否优先于其他自动创建的默认路由(具有较低的 MED 值)。 请转到“路由”页面,查看目标 IP 地址范围0.0.0.0/0下一个跃点Default internet gateway 的路由的优先级

冗余 Cloud VPN 隧道

如果本地网关不支持安全重启,则 BGP 会话任一端发生故障时,都会导致会话失败并且流量中断。超过 BGP 超时限制后(Cloud Router 超时限制为 60 秒),系统便会从两端撤消路由。

如果系统不支持安全重启,则需部署两个本地网关(每个网关一个隧道),以提供冗余和故障切换。此配置可让一个隧道及其设备脱机进行软件升级或维护,而不会中断流量。此外,如果一个隧道发生故障,另一个隧道可以使路由保持活动,流量不中断。

维护事件

Cloud Router 会定期进行维护,耗时不到 60 秒。Cloud Router 路由器在维护事件期间不可用。BGP 保留定时器确定在对等互连的 BGP 路由器不可用时将已知路由保留多长时间。BGP 保留定时器通过协商确定为两端两个值中的较低者。Cloud Router 使用值 60 秒(默认情况下)作为 BGP 保留计时器。我们建议您将本地(对等)路由器上的 BGP 保留计时器设置为 60 秒或更长时间。这样一来,两个路由器都将在这些升级期间保留其路由,并且流量可持续流动。

在单个 Cloud VPN 网关的维护周期内,使用 Cloud Router 路由器会增加大约 20 秒的隧道恢复时间,因为 BGP 会话会被重置且需要重新获知路由。Cloud VPN 网关恢复时间通常约为一分钟。如果存在冗余 Cloud VPN 网关,则流量就不会受到影响,因为系统一次只关闭一个 Cloud VPN 网关。

BGP 标识符(路由器 ID

每个 Cloud Router 都有一个 BGP 标识符,也称为“路由器 ID”。根据 RFC 6286 的要求,Virtual Private Cloud 中每个 Cloud Router 的 BGP 标识符都是唯一的。

通常,系统会自动分配 BGP 标识符,但您可以使用明确的 BGP 标识符范围配置 Cloud Router。如果您选择分配自己的 BGP 标识符范围,则系统会在您选择的范围内为您的 Cloud Router 分配一个稳定的 BGP 标识符。未配置 BGP 标识符范围的 Cloud Router 将根据其最高 IPv4 接口地址分配 BGP 标识符。

当您将第一个 IPv6 接口添加到未配置 BGP 标识符范围的 Cloud Router 时,系统会自动分配 BGP 标识符范围。

如需了解详情,请参阅配置 Cloud Router 的 BGP 标识符范围

BGP 会话重启

活动 Cloud Router 的 BGP 标识符可能会因以下任一原因而发生变化:

  • 您手动更新或移除已配置的 BGP 标识符范围。
  • 您从 Cloud Router 中移除了 IPv4 接口,并且该接口没有已分配的 BGP 标识符范围。

当活动 Cloud Router 的 BGP 标识符更改时,该 Cloud Router 上的每个 BGP 会话都会重启。

Cloud Router 的标识符范围也会在重启以进行定期维护时更改,并且它没有已分配的 BGP 标识符范围。

其他资源

如需详细了解如何对支持的服务使用静态路由和动态路由,请参阅以下文档:

产品 路由 文档
专用互连 要求使用 Cloud Router 进行动态路由 创建 VLAN 连接
合作伙伴互连 要求使用 Cloud Router 进行动态路由 创建 VLAN 连接
路由器设备 要求使用 Cloud Router 进行动态路由 创建路由器设备实例
高可用性 VPN 要求使用 Cloud Router 进行动态路由 创建连接到对等 VPN 网关的高可用性 VPN 网关
在 Google Cloud 网络之间创建高可用性 VPN
传统 VPN 使用 Cloud Router 进行动态路由是可选操作 使用动态路由创建传统 VPN
使用静态路由创建传统 VPN

后续步骤

  • 如需使用 Cloud Router 构建网络拓扑,请参阅最佳实践

  • 如需查找 Cloud Router 术语的定义,请参阅关键术语

  • 如需排查使用 Cloud Router 时遇到的问题,请参阅问题排查