Cloud Router 的工作原理
Cloud Router 是一个 API 抽象,由多个冗余 BGP 任务、动态路由控制平面以及 Virtual Private Cloud (VPC) 网络控制平面和数据平面实现。了解这三个软件组件如何协同工作有助于您了解 Cloud Router 操作以及已知路由最佳路径选择选项的工作原理。
Cloud Router 的软件组件
Cloud Router 和 VPC 中包含几个软件组件:
- Cloud Router BGP 任务
- Cloud Router BGP 任务分组到一个区域内。每个 BGP 任务都会与其区域和群组的动态路由控制平面进行通信。BGP 任务不会处理数据包数据处理。不过,BGP 任务会管理 BGP 会话以发送和接收 BGP 前缀。
- 动态路由控制平面
- 每个区域都包含一个动态路由控制平面,用于与其区域和组的 BGP 任务进行通信。在全球动态路由模式下,一个区域中的动态路由控制平面还会与其他区域中的动态路由控制平面通信。每个动态路由控制平面都会向 VPC 网络控制平面发送消息。
- VPC 网络控制平面和数据平面
Trusted Cloud by S3NS 使用 Andromeda 网络虚拟化堆栈(PDF 下载)作为 VPC 网络的集中式控制和数据平面,并包含以下组件:
- VPC 网络控制平面
- 每个区域都包含一个 VPC 网络控制平面,该控制平面会从自己区域中的一组动态路由控制平面接收信息。每个 VPC 网络控制平面都会在接收 VPC 网络中对动态路由进行编程。VPC 网络控制平面还会实施动态路由配额。
- VPC 网络数据平面
- 每个区域都包含一个 VPC 网络数据平面,该数据平面会使用 VPC 网络控制平面中的信息评估和实现动态路由。VPC 网络数据平面执行数据包转发。
Cloud Router BGP 任务
下表展示了 Cloud Router 路由器用于常见场景的 BGP 任务的数量:
示例场景 | 用于实现 Cloud Router 路由器的 BGP 任务的数量 |
---|---|
一个或多个接口,每个接口连接到一个传统 VPN 隧道。 | 一个 BGP 任务 |
一个或多个接口,每个接口连接到一个 VLAN 连接,VLAN 连接位于同一边缘可用性网域中。 | 一个 BGP 任务 |
任意数量的接口,每个接口连接到一个高可用性 VPN 隧道,隧道都连接到一个或多个高可用性 VPN 网关上的相同接口编号。例如,两个隧道分别连接到不同高可用性 VPN 网关上的 interface 0 。 |
一个 BGP 任务 |
至少两个接口,一个接口连接到一个边缘可用性网域中的 VLAN 连接,另一个接口连接到一个高可用性 VPN 隧道,边缘可用性网域编号和 VPN 网关接口编号相同。例如,一对边缘可用性网域中的第一个边缘可用性网域和第一个 VPN 网关接口。 | 一个 BGP 任务 |
至少两个接口,均连接到路由器设备实例,其中一个接口配置为冗余接口。如需创建冗余接口,请使用 redundant-interface 标志 (Google Cloud CLI) 或 redundantInterface 字段 (Compute Engine API)。路由器设备是 Network Connectivity Center 的一部分。 |
两个 BGP 任务 |
至少两个接口,每个接口连接到一个 VLAN 连接,VLAN 连接位于不同的边缘可用性网域中。 | 两个 BGP 任务 |
至少两个接口,每个接口连接到一个高可用性 VPN 隧道,每个隧道连接到不同的高可用性 VPN 网关接口编号。例如,一个隧道连接到高可用性 VPN 网关的 interface 0 ,另一个隧道连接到相同网关的 interface 1 或另一个网关。 |
两个 BGP 任务 |
至少满足以下条件的 Cloud Router 路由器:
|
三个 BGP 任务 |
软件维护
Cloud Router 维护事件会发布新功能并提高可靠性。在维护期间,新的 BGP 任务会接任成为 BGP 发言者和响应者。在维护之前,最后一个 BGP 任务会通过以下方式之一通知其对等路由器:
如果对等路由器支持优雅重启,Cloud Router 会发送优雅重启通知(TCP
FIN
数据包)。如果对等路由器不支持优雅重启,Cloud Router 会向对等路由器发送 BGP
CEASE
通知以终止 BGP 会话。
系统不会提前通知 Cloud Router 维护事件,因为只要对等路由器支持优雅重启,维护事件就会自动进行,不会造成中断。维护事件在不到 120 秒的时间内即可完成,因此 Cloud Router 使用 120 秒的优雅重启计时器。如需了解如何查找已完成的维护事件,请参阅识别路由器维护事件。
如果对等路由器支持优雅重启,它会在 Cloud Router 维护期间记录优雅重启事件。根据 RFC 4724 的第 4.2 条,对等路由器必须遵从 120 秒的 Cloud Router 优雅重启计时器设置,在以下情况下保留已知路由并继续通告路由:
Cloud Router 停止发送 BGP keepalive 数据包。
仅在配置 BFD 时适用:Cloud Router 停止发送 BFD 数据包。因此,对等路由器必须遵从 BFD 控制平面独立位值为
0
的设置,因为 Cloud Router 使用的是依赖控制平面的 BFD 实现。如需了解详情,请参阅优雅重启和 BFD。
如果对等路由器不支持优雅重启,或者对等路由器已停用优雅重启,则 Cloud Router 会根据 RFC 4271 的第 4.5 条发送 BGP CEASE
通知。在收到 CEASE
通知后,BGP 会话会一直处于关闭状态,直到 Cloud Router 替换 BGP 任务。调整 Cloud Router 保留计时器或对等路由器保留计时器并不能阻止 BGP 会话终止。
计划内的 Cloud Interconnect 维护
对于计划内的 Cloud Interconnect 维护,Cloud Router 会发送 BGP CEASE
通知来终止 BGP 会话,并移除该会话的已知路由和通告路由。在计划内的维护事件期间,优雅重启计时器和协商的 BGP 保留计时器均不适用。
BGP 任务意外失败
Cloud Router 使用多个 BGP 任务,因此符合 Cloud Interconnect SLA 的高可用性 VPN 隧道对、路由器设备和 VLAN 连接不会依赖于单个 BGP 任务。如需了解详情,请参阅本文档的 Cloud Router BGP 任务部分。如果 Cloud Router BGP 任务意外失败,Cloud Router 将无法发送在软件维护期间通常会发送的通知。不过,已知路由和通告路由都会在协商的保留计时器期间保留。