英特尔® Tofino™ 可扩展架构让你的网络飞起来

英特尔® Tofino™ 可扩展架构结合了完全可编程的英特尔® Tofino™ 智能结构处理器 (IFP)、英特尔® CPU 以及英特尔® FPGA 和英特尔® IPU 等加速器,让每秒网络流量达到 Tb 级。

执行概要

为了帮助企业应对当下面临的网络挑战,英特尔开发了英特尔® Tofino™ 可扩展架构。这一新产品使网络所有者和运营商能够利用英特尔® Tofino™ 智能结构处理器 (英特尔® Tofino™ IFP) 的 P4 可编程性进行数据包处理,同时借助英特尔® 至强® 可扩展处理器的强大性能以及英特尔® FPGA 和/或英特尔® 基础设施处理单元 (英特尔® IPU) 的加速能力来扩展和增强英特尔® Tofino™ IFP 的功能。

与独立的数据中心交换机专用集成电路 (ASIC) 相比,英特尔® Tofino™ 可扩展架构将表和缓冲区容量提高了两个数量级1,并能通过添加新的网络功能类型支持网络转型。

强大的性能和扩展能力、灵活性、开放标准以及能够节省总体拥有成本,这些都是当今不断增长和发展的网络的关键要素。英特尔® Tofino™ 可扩展架构能够帮助提供以上各要素,满足当下和未来的网络需求。

缩写

  • ASIC 专用集成电路
  • FPGA 现场可编程门阵列
  • IFP 智能结构处理器
  • IPU 基础设施处理单元
  • SLBA 服务器负载均衡加速

网络挑战

一场多个数字化趋势带来的 “完美风暴” 导致云服务提供商 (CSP)、通信服务提供商 (CoSP),甚至是企业,迫切需要改造其网络,以处理更多流量、实现轻松扩展并支持新的网络功能。事实上,几乎一切都在以惊人的速度走向数字化:
 

  • 数据大爆炸:全球创建、捕获、复制和使用的数据总量预计将从 2020 年的 64.2 ZB 增至 2025 年的 180 ZB,增加近两倍2。全球每天访问 Web 规模服务的用户有数十亿,其中包括 Meta、Google 和 Twitter 的用户3
  • 移动办公和居家办公人数迅速增加:在固定地点办公的模式正在向随处办公的模式转变4。无论是在当地咖啡店、家庭办公室还是机场大厅,员工都希望能够随时连接到网络。
  • 混合云和多云更趋普及:目前有 94% 的企业使用了云服务,这意味着他们要靠网络来运行工作负载5
  • 智能手机和 5G 使用量增长:2021 年年底,全球每部智能手机的月平均使用流量为 12 GB,到 2027 年年底预计这一数字将达到 40 GB6。这一趋势部分由在线视频消费推动。预计 2022 年在线视频消费将占全部消费者互联网流量的 82% 以上,比 2017 年高出 15 倍7
  • 客户期望:如今网络服务的消费者,无论是在 Instagram 上还是访问企业虚拟专用网络 (VPN),都希望获得快速、可靠的连接8。他们无法忍受缓冲、抖动和掉线,因此出现这些现象可能会导致客户流失,催生员工负面情绪。
     

对更多、更快带宽的需求显而易见。但简单地通过部署更多服务器进行横向扩展并不是一种可持续的解决方案。一方面,服务器采购、管理和维护成本高居不下。另一方面,流量速度的提升往往要快过每核性能的提升,导致在调整系统大小的时候出现超额订阅和额外余量,这会进一步增加成本。

网络所有者和运营商面临的另一个挑战是,使用传统的固定功能网络设备无法满足目前的网络需求,主要原因有二。其一,设备的设计和功能由设备架构师决定,而不是由网络所有者和运营商决定。设备设计的发展速度跟不上网络发展的速度。其二,硬编码的表和缓冲区大小可能不支持现代网络流量所需的会话规模。简言之,固定功能网络设备限制了网络的功能和可扩展性。

要克服这些重大挑战,网络必须能够随流量的增长而不断扩展,并且还要变得更加智能以支持网络功能虚拟化 (NFV)、云原生微服务、分布式工作负载和数据。

软件定义网络和完全可编程性使网络更灵活

为了打造更智能、可扩展的网络,网络所有者和运营商把目光投向了软件定义网络 (SDN) 和可编程交换机 ASIC,使用软件来定义实际进行的数据包处理 (即支持的协议和报头、表大小和数据包处理功能)。借助这些 ASIC,管道能够完全针对工作负载进行优化。 

英特尔® Tofino™ 智能结构处理器 (英特尔® Tofino™ IFP) 就是这类完全可编程交换机的一个例子。英特尔® Tofino™ IFP 使用开源 P4 语言进行编程9,支持叶脊和架顶式交换等传统交换用例,以及其他跨云、电信和企业的广泛网络用例 (见图 1)。

具有完全可编程性的英特尔® Tofino™ 智能结构处理器 (英特尔® Tofino™ IFP) 可用于众多网络应用  

图 1. 具有完全可编程性的英特尔® Tofino™ 智能结构处理器 (英特尔® Tofino™ IFP) 可用于众多网络应用

英特尔® Tofino™ IFP 是一款高性能的智能数据包处理器,它支持以太网交换机为整个网络提供更好的可见性和控制能力,具备上述用例所需的高带宽和灵活性,并且能够提供高达 25.6 Tbps 的整机交换容量。但在某些用例中,英特尔® Tofino™ IFP 只能通过以上功能/特性来帮助网络所有者和运营商实现可扩展性和可编程性目标。要支持与上述部分用例相关的超大会话规模,如宽带网络网关 (BNG),或者支持通信服务提供商网络所需的超大缓冲区,网络所有者和运营商还需要其他解决方案。

英特尔® Tofino™ 可扩展架构带来 Tb 级速度和会话规模

如图 2 所示,英特尔® Tofino™ 可扩展架构结合了英特尔® Tofino™ IFP、英特尔® CPU 以及一个或多个加速器,如英特尔® FPGA 和/或英特尔® 基础设施处理单元 (英特尔® IPU)。这种组合下, 每个系统可以处理数 Tb 网络流量,并能支持大量会话和/或深度缓冲区。例如,英特尔® Tofino™ IFP 片上内存可以存储包含数百万个条目的表。而英特尔® Tofino™ 可扩展架构可以存储多达数亿个表条目,支持多达数十 GB 的缓冲区10

对于需要比标准交换机提供的表更大、缓冲区更深的用例而言, 英特尔® Tofino™ 可扩展架构是非常好的选择。

这些用例包括但不限于以下各项: 
 

  • 云网络功能,如 L4 (第四层) 负载均衡、防火墙、隧道终结和转换以及网络地址转换 (NAT)。
  • 电信网络功能,如运营商级网络地址转换 (CG-NAT)、高端路由、网络数据包代理或各种用户平面功能。 
  • 电信网关用例,如宽带网络网关 (BNG) 或接入网关功能 (AGF), 需要超大缓冲区来执行高级整形和调度功能。
     

由于英特尔® Tofino™ 可扩展架构基于开放的行业标准,因此客户可以从丰富多样的产品中做出选择来优化大规模用例的总体拥有成本。至于附加价值,作为英特尔® Tofino™ 可扩展架构一部分的英特尔® FPGA 和 / 或英特尔® IPU 可以进行编程以支持浮点计算和分层服务质量 (HQoS) 等其他高价值用例。

现在,已有多家公司在使用英特尔® Tofino™ 可扩展架构对网络进行现代化改造。

英特尔® Tofino™ 可扩展架构实操

了解云服务提供商如何扩展网络带宽和功能。

百度智能云将英特尔® Tofino™ 可扩展架构应用于自己的云网关,帮助处理自动驾驶、车联网 (V2X) 通信、物联网 (IoT)、电子商务、在线视频和网络游戏等云工作负载产生的 Tb 级网络流量11

英特尔® Tofino™ 可扩展架构高级视图  

图 2. 英特尔® Tofino™ 可扩展架构高级视图

实施方案

英特尔® Tofino™ 可扩展架构可采用不同的方式实施,具体视应用和/或用例的要求而定。下文详述了两种利用 FPGA 增强数据平面功能的实施方案 (见图 3): 

  • 旁路架构。在这一场景下,英特尔® Tofino™ IFP 提供所有前置面板连接,并由英特尔® Tofino™ IFP 中运行的代码决定要转发哪部分网络流量供一个或多个英特尔® FPGA 进一步处理。
  • 内联架构。与旁路架构方案相反,内联架构是将一部分面向网络的端口连接到英特尔® Tofino™ IFP,再将另一部分连接到英特尔® FPGA,这样从网络的一部分流向另一部分的流量就必须同时经过英特尔® Tofino™ IFP 和英特尔® FPGA。

英特尔® Tofino™ 可扩展架构的实施方案  

图 3. 英特尔® Tofino™ 可扩展架构的实施方案

硬件配置方案

网络所有者和运营商可以在三种硬件配置方案中做出选择 (见图 4),这三种方案各有优缺点,如何选择取决于可用空间和用例等因素。

•    英特尔® Tofino™ IFP + 基于英特尔® FPGA 的加速卡和/或英特尔® IPU:这种配置方案结合了基于英特尔® Tofino™ IFP 的现货交换机和基于英特尔® FPGA 的现货加速卡和/或英特尔® IPU。 

  • 优点:配置灵活,基于英特尔® Tofino™ IFP 的交换机与基于英特尔® FPGA 的加速卡和/或英特尔® IPU 之间可通过光缆任意连接。 
  • 缺点:需要一台服务器来放基于英特尔® FPGA 的加速卡和/或英特尔® IPU。

•    服务器交换机:这种配置方案将 CPU、英特尔® FPGA 和/或英特尔® IPU 以及英特尔® Tofino™ IFP 组合在一起放到一个机架式系统内。 

  • 优点:集成平台占用空间小,比采用英特尔® Tofino™ IFP + 基于英特尔® FPGA 的加速卡和/或英特尔® IPU 这种独立方案更具成本效益。
  • 缺点:内部架构已预定义,因此需要根据用例要求选择系统。

•    机箱式平台:在这种配置中,可以使用不同的计算滑板 (sled) 或刀片服务器来实现不同的计算、网络连接和存储配比。

  • 优点:可通过使用滑板或刀片服务器进行扩展和配置。
  • 缺点:受限于供应商生态系统且机箱本身存在物理限制。

英特尔® Tofino™ 可扩展架构提供多种配置方案,方便用户选择适合其用例的配置  

图 4. 英特尔® Tofino™ 可扩展架构提供多种配置方案,方便用户选择适合其用例的配置

开发应用软件

英特尔® Tofino™ 可扩展架构是一种适用于广泛用例的动态解决方案。架构的组件可以组合使用,消费者可以按照自己的意愿灵活选择编程方式 (见图 5),从而充分发挥其潜力。这些方式包括:
 

  • 编程完全由客户拥有和开发:英特尔® Tofino™ 可扩展架构的硬件可以由客户进行编程 {如百度所做的,见补充报道 “Intel® Tofino™ Expandable Architecture In Action” (英特尔® Tofino™ 可扩展架构实操)} 或者由另一生态系统参与者进行编程。在对 FPGA 和 IPU 进行编程时,客户可以使用多种不同的语言和工具。面向英特尔® FPGA 的 P4 编译器目前处于早期开发阶段,仅可供部分客户使用。
  • 客户利用数据平面构建模块:多种数据平面构建模块已可供使用或者很快就将发布。使用这些组件,客户可以开发自己想要的功能,同时提供多项预先集成的功能以缩短上市时间。 
  • 客户获得现有应用的许可:对于正在为某一具体用例寻找完整解决方案的客户,他们可以从各自的供应商 (英特尔、独立软件供应商或系统集成商) 那里获得此类应用的许可。

对英特尔® Tofino™ 可扩展架构的组件进行编程的解决方案堆栈  

图 5. 对英特尔® Tofino™ 可扩展架构的组件进行编程的解决方案堆栈

用例样例:L4 服务器负载均衡

服务器负载均衡对于有效利用数据中心资源至关重要 —— 实现负载均衡的速度越快,网络时延就越短。本节将介绍使用英特尔® Tofino™ 可扩展架构的有状态服务器负载均衡加速用例。英特尔® Tofino™ IFP 和英特尔® FPGA 的结合能够带来高吞吐量和高会话规模:英特尔® Tofino™ 可扩展架构提供 3.2 Tbps 的网络带宽并支持 2.56 亿个会话。

传统的软件定义负载均衡需要检查每个客户端请求才能确定将请求转发到哪个后端服务器,然后再由该服务器将内容发送至客户端。而英特尔® Tofino™ 可扩展架构可以通过引入上文所述的在服务器交换机架构上运行的会话缓存来加速负载均衡操作。 

以下是加速的工作机制:在会话开始时,数据包处理的流程与传统方法类似,即客户端发送请求,请求再转发到软件负载均衡器,诸如此类。但不同于传统的仅依靠软件进行负载均衡操作,新方案中负载均衡决策也存储在加速器 (在本用例中为内含英特尔® Tofino™ IFP 和英特尔® FPGA 的交换机服务器) 的会话缓存中,以便同一会话中的后续数据包可由加速器直接转发给正确的后端服务器。这种方法显著降低了软件负载均衡器的负载并能提高负载均衡服务的效率。利用英特尔® Tofino™ 可扩展架构来加速服务器负载均衡,使得网络运营商能够部署更多后端服务器,从而可能产生更多收入。

下面,我们来盘点一下服务器交换机各组件的作用:
 

  • CPU 运行控制平面。这一过程基于 SONiC12 网络操作系统进行,其中 SONiC 的现有功能得到了专门的负载均衡功能的补充。该设计的特点是采用基于容器的轻量级微服务,可提供细粒度的故障恢复和零停机在线升级。
  • 英特尔® Tofino™ IFP 执行了大部分数据平面处理和数据包转发任务。
  • 英特尔® FPGA 提供会话表扩展和带内数据平面表管理,从而快速完成表更新。

有状态服务器负载均衡加速 (SLBA) API 基于 Redis,后者能够提供高性能内存键值存储。

SLBA 可以连接到叶脊式 CLOS 网络,而且 SLBA 数据平面 (data plane) 和服务器负载均衡器软件控制平面 (control plane) 可以独立扩展这一点,有利于两者进行冗余备份以及根据流量模式合理配比。

什么时候 1+1 > 2?

此 SLBA 用例中加速的关键是两级缓存。热缓存位于英特尔® Tofino™ IFP 上,温缓存位于英特尔® FPGA 上。图 6 说明了 SLBA 用例中两级缓存的工作机制:

    当客户端请求到达时,首先在热缓存中进行查找:

  • 热缓存命中:数据包被转发到正确的后端服务器。
  • 热缓存未命中:创建查找请求并发送至其中一个英特尔® FPGA (温缓存)。 

•    温缓存查找:

  • 温缓存命中:英特尔® Tofino™ IFP 利用查找结果将数据包转发至正确的后端服务器。
  • 温缓存未命中:此会话不存在规则;数据包被转发到控制平面。

L4 服务器负载均衡加速 (SLBA) 两级缓存决策流程  

图 6. L4 服务器负载均衡加速 (SLBA) 两级缓存决策流程

结论

英特尔® Tofino™ IFP 使网络所有者和运营商能够根据当下及未来的特定工作负载自定义网络。为进一步推动网络转型,支持传统交换功能以外的网络功能,英特尔® Tofino™ 可扩展架构提供了四大关键优势。

•    强大的性能和扩展能力
•    灵活性
•    支持开放标准
•    降低总体拥有成本

同时,英特尔® Tofino™ 可扩展架构还带来了无限的创新机会。网络所有者和运营商可以利用英特尔® Tofino™ IFP 的 P4 可编程性进行数据包处理,同时借助英特尔® CPU 的强大性能以及英特尔® FPGA 和英特尔® IPU 的加速能力来扩展和增强英特尔® Tofino™ IFP 的功能。