Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
本页内容
 

cRPD 上的分片和 UpdateIO

分片

BGP 进程被拆分为不同的线程,以便它们可以通过 RIB 分片在多核路由引擎上同时运行,从而缩短收敛时间并提高性能。BGP RIB 分片将一个 BGP RIB 拆分为多个子 RIB,每个子 RIB 处理一个 BGP 路由子集。每个子 RIB 都由一个单独的 RPD 线程提供服务,以实现并行处理。

默认情况下,BGP RIB 分片处于禁用状态。此功能仅在 64 位路由协议进程 (rpd) 上受支持,其中路由引擎具有多个内核。我们建议在至少具有 4CPU 内核和 16GB 内存的设备上配置此功能。

如果在路由引擎上配置 RIB 分片,RPD 将创建分片线程。默认情况下,创建的分片线程数与路由引擎上的 CPU 核心数相同。或者,您可以指定要创建的分片数量。范围目前是 1 到 31。

cRPD 上的 BGP RIB 分片支持以下表:

  • inet.0inet6.0

  • bgp.l3vpn.0bgp.l3vpn-inet6.0

  • bgp.rtargetinet6-vpn unicastroute-target

要启用此功能,您可以在层级进行配置rib-shardingedit system processes routing bgp。分片取决于 UpdateIO 线程功能。因此,配置分片时,UpdateIO 线程功能是必需的。要启用 updateIO,您需要在[edit system processes routing bgp]层次结构级别进行配置update-threading,以便rib-sharding配置通过提交检查。

更新IO

BGP 协议用于为 BGP 组中的对等方生成更新消息。主 RPD 线程中的 BGP 工作被拆分为不同的线程,称为 BGP UpdateIO 线程。每个 UpdateIO 线程负责为一个或多个 BGP 对等体组生成更新。BGP 更新线程为并行且独立于由不同更新线程提供服务的其他组的组构造更新。

这可能会在涉及向许多对等方播发、分布在许多组的写入繁重工作负载中提供显著的收敛性改进。BGP UpdateIO 线程可以与 RIB 分片功能分开配置。但是,它们对于 RIB 分片是必需的,因为它们改进了出站 BGP 更新中的前缀打包并提高了性能。

默认情况下,BGP 更新线程处于禁用状态。如果在路由引擎上配置更新线程,RPD 将创建更新线程。默认情况下,创建的更新线程数与路由引擎上的 CPU 内核数相同。更新线程仅在 64 位路由协议进程 (RPD) 上受支持。或者,您可以在层次结构级别使用 set update-threading <number-of-threads> 语句 edit system processes routing bgp 来指定要创建的线程数。目前范围为 1 到 128。