使用 BGP 在 Cato 云中

BGP 简介

BGP 是一种标准化的外部网关协议,旨在在互联网上的自治系统 (AS) 之间交换路由和可达性信息。

基于您的配置并利用 BGP 路由信息,Cato 云可以在不需要您手动配置多个静态路径和/或采取任何操作的情况下做出实时路由决策。 这增强了对某些场景的支持,例如 AWS 中的直连和/或主动-主动配置、使用虚拟 IP 的灾难恢复 (DR)、与站点内自治系统 (AS) 的集成,以及在渐进部署中的更大灵活性。

Cato 如何支持 BGP?

本节描述 Cato 的 BGP 组件(包括全局对象),以及 Cato 的 BGP 支持的设计和性能。

Cato 的 BGP 组件

Cato BGP 支持由三个主要组件组成:BGP 邻居、动态范围和浮动范围。

注意

注意: 在整个本节中,称为站点本地范围中的所有范围都称为“静态范围”。

BGP 邻居

需要连接性才能与邻居建立 BGP 会话。 以下是 BGP 邻居可以驻留的位置选项,以及与 Cato 云中账户的相应交互。

  • BGP在Cato Networks PoP和隧道内的BGP路由器之间 - Cato宣告账户范围,包括默认路由 (0/0),并接收站点的静态、动态范围浮动范围。 例如,BGP 是在 Amazon AWS IPSec 连接中交换路由的首选模式。

  • BGP 在 Cato Cloud 和局域网上的 BGP 路由器之间 / Alt. WAN 链接 - Cato 可以通过插座中已建立的范围与 BGP 邻居通信:直接范围、本地范围或 VLAN 范围。

    BGP 会话只能在已路由的范围内建立,只要所有范围的下一跳都与 BGP 对等节点相同。

注意

注意:

  • 此选项不依赖于隧道的建立。

  • Cato 假定所有 BGP 连接都是“next-hop-self”:邻居始终是 Cato 选择的下一跳,Cato 宣告其邻居的 IP 作为所有宣告路由的下一跳。

  • 当 BGP 在 Alt 上时。 WAN 中,它通常接收其他站点的范围(所有可以通过 Alt 到达的其他站点)。 WAN 链接)。 Cato 在考虑动态和浮动范围之前会过滤这些范围。

  • 当 Socket 与 Cato 云断开连接时,所有其他站点范围都将被撤回。 这允许在 BGP 对等方具有次要路径的情况下继续保持可达性,如果它暂时从 Cato 云断开,它可以作为替代的下一跳。 (支持自版本 17.0 及更高的 Socket 版本)

有关配置BGP邻居的更多信息,请参阅定义BGP邻居

BGP 连接如何建立

建立 BGP 连接有几个阶段。 根据您的连接类型,BGP 连接的建立如下:

  • 初始 TCP 会话开始。 如果无法建立 TCP 会话,则每 30 秒计划尝试一次,直到会话成功建立

  • 在 TCP 会话建立后,立即启动 BGP 会话

  • 如果无法建立BGP会话,将每隔15秒安排一次尝试

  • 如果在建立后 BGP 会话终止,则每 1 秒计划下一次尝试

动态范围

动态范围是由 Cato 从 BGP 邻居动态学习的 IP 范围。 一旦被 Cato 接受,它们将传播到整个账户,并通过该邻居在网络中的任何地方都可以访问。

注意

注意: 由于动态范围是从 BGP 邻居动态学习的,因此无法在 Cato 管理应用程序中配置为全局对象,因此无法在网络和/或安全性规则中明确使用,因此根据它们所在站点的策略进行行为。

浮动范围

浮动范围是全局 IP 范围,与特定站点无关,但可以从任何具有 BGP 邻居的站点学习。 例如,在灾难恢复 (DR) 场景中,许多应用程序(例如 VMware NSX)可以在保持其 IP 地址的同时将服务器从一个位置移动到另一个位置。 在这些情况下,BGP 帮助更新剩余的网络对象并声明这些服务器现在的位置。

浮动范围被定义为全局对象。 浮动范围不与特定站点关联,必须在安全性或网络规则中定义(站点关联可以动态更改)。 您可以利用全局对象定义根据组织的政策需求明确创建网络和/或安全规则。

为了使 BGP 动态范围继承浮动范围的安全性或网络策略,它必须与浮动范围完全匹配。 例如,如果 BGP 动态范围是 192.168.1.0/24,而浮动范围被定义为 192.168.1.1/32,则它们之间没有连接,BGP 动态范围不继承浮动范围的策略。

注意

注意: 浮动范围不能与静态范围重叠。

Cato 中的 BGP 的设计和性能

路由处理

Cato 云中的 BGP 邻居连接到 Cato PoP 或站点连接。 站点连接可以是 Socket 或 IPsec 隧道。 当Cato Cloud接收到新的或更新的BGP路由时,它始终与全球WAN网络(站点连接和Pops)进行同步。

当接收到BGP路由时,Cato将其与相关对象关联如下:

  • 定义为浮动范围的IP 范围被与其定义的对象相关联,并遵循分配给对象的所有网络和安全策略。

  • 所有其他IP 范围被视为动态范围,并遵循分配给站点的所有网络和安全策略。

路由可以通过BGP消息或通过邻居断开连接(CEASE或物理断开)被撤回,并且Cato Cloud会立即传播撤销。

Cato 上的隧道指标(路由表)

Cato中的站点,例如IPSec或Socket站点,可能有多个连接的隧道用于通过局域网或互联网发送流量。 如果连接了多个隧道,其优先级基于链接质量和其他因素。 路由表屏幕(监控 > 路由表)显示了路线的隧道度量。 这是Cato指定的值,以确保流量通过最佳隧道发送。 隧道度量的值越低,表示该隧道的优先级越高。 例如,在Socket高可用性部署中,活动隧道的度量可能为5,而来自被动Socket的隧道的度量为10。

路由的优先级如何设定

与常规静态范围相反,BGP允许多个路由,这些路由可能会重叠甚至在网络的不同部分中重复。 那么,Cato Cloud如何决定通过哪条路径来路由数据包?

当多个路由可以应用于目标IP地址时,路由决策将按照以下优先级进行:

  1. 更具体的路由优先于不太具体的路由(/24优于/22,依此类推)。

  2. 以下IP范围的优先顺序:

    1. 静态范围

    2. 浮动范围

    3. 动态范围

  3. 优选较低的邻居度量。

  4. 优选较短的AS-PATH。

  5. 优选较低的隧道度量。

  6. 优选来自路由ID的较低BGP MED(多出口判别器)。

由于Cato Cloud执行第7层基于策略的路由,因此避免不对称路由的需求是决定性的。 出于这个原因,路由优先级在同一个账户内是通用的:换句话说,从Cato Cloud网络内的任何位置将选择单一路由来源。

路由如何传播

当BGP邻居接受路由时,与之关联的信息(AS-path、BGP-communities)将被保留。 当动态范围向BGP邻居宣告时,AS路径将附加上Cato Cloud的AS号(与BGP一样)。

Cato透明地传播标有传递标志(RFC 4271)的所有路径属性,包括社区。

以Cato Socket邻居ASN作为起源ASN的账户范围(静态)被宣告(自治系统编号 - 见下文邻居ASN分配)。

有关BGP路由摘要的更多信息,请参见处理BGP摘要路由

注意

注意: 一些众所周知的社区在出口时不会被Cato传播给BGP邻居,例如no-export。

向邻居分配 ASN

ASN是一个介于64,512到65,534(私有ASN)之间的数字,表示建立通信的路由实体。 Cato Networks 的默认ASN是64,515。

Cato Cloud支持eBGP,因此BGP邻居必须具有与Cato Cloud侧不同的ASN。

注意

注意: 最佳实践是在所有BGP会话中,全球使用单个ASN来代表Cato Cloud侧的通信。 如果您考虑对不同的邻居使用不同的ASN,请联系支持

如何防止环路

当Cato接收到路由时,将扫描AS路径以查找邻居的Cato Cloud ASN。 任何包含此ASN的路由都会被丢弃。 请注意,邻居只会扫描当前邻居的ASN。

注意

注意: Cato不支持舒适重启。

安全性和网络设备

动态范围自动与接收路由的站点相关联,并继承站点的所有策略组、网络和安全策略。 浮动范围是全局定义的,安全规则直接应用于它们,或者通过将它们与策略组关联来应用。

开始使用 BGP 之前

我可以使用哪些站点连接类型?

  • Cato 支持使用Sockets、vSockets和IPsec站点(Cato发起的IPsec IKEv1,IPsec IKEv2)的站点的BGP。 此外,您必须需要与现有BGP路由器的连接性。

BGP邻居将如何与Cato建立BGP会话?

  • BGP会话需要在本地路由的sockets或通过IPSec隧道之间在BGP邻居和站点之间建立连接。

  • 对于Cato Socket部署,仅可使用直接、VLAN和本地范围建立会话

    只要所有范围与BGP对等体具有相同的下一跳,BGP会话就可以在路由的范围上建立。

通过备用WAN链路设置BGP会话

在Cato中,备用WAN目标包括两个(可能带有VLAN标记的)网络:公共和私有。 BGP 邻居必须位于这两个网络之一中,并且 Cato Cloud 端的 BGP 邻居将是该范围的相应 Cato IP。

在公开接口上定义 BGP 会话时,您还可以对通过该链接的流量执行源 NAT。 这意味着对于通过该邻居的所有出站流量,源地址将是 Cato 端的 IP。

已知限制

  • Cato Cloud 仅支持 IPv4。

  • 如果为多个邻居配置多个 ASN,则邻居不会检测到 ASN,并可能导致循环。

  • Cato Cloud 允许包含邻居 ASN 的路由传播,依赖于邻居来扫描循环。

  • 浮动范围不能与静态范围重叠。

  • Cato 不支持路由撤回的优雅重启。

  • 由 Cato 发起的 BGP 路由变更(包括路由撤回)不会生成事件。

  • Cato 不执行路由汇总。

  • 默认情况下,Cato 将每个 BGP 邻居接收的前缀数量限制为 1024。 要增加此限制,请联系 支持

  • 使用静态范围转换的账户不支持 BGP。 如果您需要 BGP 为一个套接字站点的翻译原生范围,请联系 支持

这篇文章有帮助吗?

1 人中有 1 人觉得有帮助

0 条评论