BGP 是一种标准化的外部网关协议,旨在在互联网上的自治系统 (AS) 之间交换路由和可达性信息。
基于您的配置并利用 BGP 路由信息,Cato 云可以在不需要您手动配置多个静态路径和/或采取任何操作的情况下做出实时路由决策。 这增强了对某些场景的支持,例如 AWS 中的直连和/或主动-主动配置、使用虚拟 IP 的灾难恢复 (DR)、与站点内自治系统 (AS) 的集成,以及在渐进部署中的更大灵活性。
本节描述 Cato 的 BGP 组件(包括全局对象),以及 Cato 的 BGP 支持的设计和性能。
Cato BGP 支持由三个主要组件组成:BGP 邻居、动态范围和浮动范围。
注意
注意: 在整个本节中,称为站点本地范围中的所有范围都称为“静态范围”。
需要连接性才能与邻居建立 BGP 会话。 以下是 BGP 邻居可以驻留的位置选项,以及与 Cato 云中账户的相应交互。
注意
注意:
-
此选项不依赖于隧道的建立。
-
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 连接的建立如下:
-
初始 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 PoP 或站点连接。 站点连接可以是 Socket 或 IPsec 隧道。 当Cato Cloud接收到新的或更新的BGP路由时,它始终与全球WAN网络(站点连接和Pops)进行同步。
当接收到BGP路由时,Cato将其与相关对象关联如下:
-
定义为浮动范围的IP 范围被与其定义的对象相关联,并遵循分配给对象的所有网络和安全策略。
-
所有其他IP 范围被视为动态范围,并遵循分配给站点的所有网络和安全策略。
路由可以通过BGP消息或通过邻居断开连接(CEASE或物理断开)被撤回,并且Cato Cloud会立即传播撤销。
Cato中的站点,例如IPSec或Socket站点,可能有多个连接的隧道用于通过局域网或互联网发送流量。 如果连接了多个隧道,其优先级基于链接质量和其他因素。 路由表屏幕(监控 > 路由表)显示了路线的隧道度量。 这是Cato指定的值,以确保流量通过最佳隧道发送。 隧道度量的值越低,表示该隧道的优先级越高。 例如,在Socket高可用性部署中,活动隧道的度量可能为5,而来自被动Socket的隧道的度量为10。
与常规静态范围相反,BGP允许多个路由,这些路由可能会重叠甚至在网络的不同部分中重复。 那么,Cato Cloud如何决定通过哪条路径来路由数据包?
当多个路由可以应用于目标IP地址时,路由决策将按照以下优先级进行:
-
更具体的路由优先于不太具体的路由(/24优于/22,依此类推)。
-
以下IP范围的优先顺序:
-
静态范围
-
浮动范围
-
动态范围
-
-
优选较低的邻居度量。
-
优选较短的AS-PATH。
-
优选较低的隧道度量。
-
优选来自路由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是一个介于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不支持舒适重启。
我可以使用哪些站点连接类型?
-
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。
0 条评论
请登录写评论。