Ethernity Networks:以 FPGA 为核心的可编程网络处理器、SmartNIC 与边缘网络加速企业
Ethernity Networks Ltd. 是一家专注于可编程网络处理和网络安全加速技术的以色列企业,成立于 2004 年,总部位于以色列 Lod 地区,并在英国伦敦证券交易所 AIM 市场上市。
与 Broadcom、Marvell 等主要依靠专用 ASIC 芯片的网络半导体厂商不同,Ethernity 的核心技术路线是把自己的 ENET Flow Processor 网络处理技术部署到 FPGA 上,再进一步提供 FPGA SoC、SmartNIC、网络设备以及完整的软件方案。
公司官方表示,其 ENET 技术已经部署到超过 80 万台设备中,并连接超过 1 亿最终用户。
Ethernity Networks 的核心技术是 Network Processing。它不是一家以 CPU、GPU 或 MCU 为主要业务、顺便拥有网络功能的企业,而是长期围绕 Flow Processor、Packet Processing、Carrier Ethernet、Routing、SmartNIC、NFV、5G 和 Broadband Access 开发产品。
Ethernity Networks 最核心的技术:ENET Flow Processor
Ethernity Networks 最重要的技术是 ENET Flow Processor。
Flow Processor 可以翻译为“流处理器”。这里的 Flow,也就是“流”,指的是具有相同或者相关网络属性的一组数据包。
例如,同一个 TCP 连接、同一个用户业务、同一个 VPN Tunnel 或者同一条网络路径上的数据包,都可以被识别为某一种 Flow。
网络处理器收到数据包之后,可以检查 Ethernet Header、VLAN、IP Address、TCP/UDP Port、MPLS Label 以及其他字段,然后根据这些信息决定数据包应该被转发、丢弃、加密、限速、统计还是重新封装。
Ethernity 的 ENET Flow Processor 本质上是一套可以运行在 FPGA 中的高性能可编程网络数据平面。
公司把它描述为一种具有可编程 Pipeline,也就是可编程处理流水线的网络处理架构,可以用于构建高性能网络与安全设备。
为什么使用 FPGA,而不是固定功能 ASIC
理解 Ethernity Networks,首先要理解 FPGA。
FPGA 是 Field Programmable Gate Array,也就是现场可编程门阵列。它是一种可以在芯片制造完成以后,由设备厂商重新配置内部数字逻辑的芯片。
普通 ASIC 芯片在设计制造完成之后,内部硬件结构基本固定。如果未来出现新的网络协议或者客户需要特殊功能,修改 ASIC 往往需要重新设计芯片。
FPGA 则不同。
开发者可以通过重新配置 FPGA 内部逻辑增加新的 Packet Processing、Security、Routing、QoS 或其他网络功能。
因此 FPGA 的一个重要优势就是:网络硬件可以重新编程。
Ethernity 的商业模式并不是自己建立一套大型芯片制造体系去生产固定功能 Network Processor ASIC,而是把 ENET Flow Processor 网络处理技术部署在 FPGA 中。
公司官方表示,ENET Flow Processor 可以与 AMD/Xilinx 和 Intel FPGA 配合使用,并针对不同吞吐量、端口数量和应用需求选择不同 FPGA。
Ethernity 实际上卖的是什么
如果严格按照半导体产业分类,Ethernity Networks 与传统 Fabless 芯片公司存在明显区别。
传统 Fabless 企业,例如 Broadcom、Marvell 或 MediaTek,主要设计自己的 ASIC,然后交给晶圆代工厂生产真正的芯片。
Ethernity 更接近:
网络处理 IP + FPGA Firmware + FPGA SoC + SmartNIC + Network Appliance 企业。
它可以把 ENET Flow Processor 作为 FPGA 中的网络处理逻辑提供给设备制造商,也可以进一步把 FPGA、网络接口、SmartNIC 和软件整合起来,提供完整产品。
Ethernity 最好理解为:可编程 FPGA 网络处理器企业,而不是传统的固定功能 Network Processor ASIC 厂商。
ENET L2 Flow Processor
Ethernity 把 ENET Flow Processor 分成多个等级。
最基础的一类是 ENET L2 Flow Processor。
L2 指 OSI 网络模型中的 Layer 2,也就是数据链路层。
这一层主要处理 Ethernet Frame、MAC Address、VLAN 等内容。
ENET L2 Flow Processor 主要面向需要特殊可编程行为的工业网络和企业级 Ethernet Switch。客户可以根据端口数量、速度、功耗和成本选择不同规模的 FPGA。
这类产品可以看作一个可编程 Ethernet Switching Engine。
普通 Ethernet Switch ASIC 的数据处理逻辑大部分已经固定,而 FPGA Flow Processor 可以按照客户需求改变其中一部分处理行为。
ENET L2+ Flow Processor
L2+ 在普通 Layer 2 Ethernet Switching 基础上增加更多运营商网络功能。
Ethernity 的 ENET L2+ Flow Processor 支持 Carrier Ethernet、Hierarchical QoS、Policer、Flow Counter 和 Network Monitoring 等功能。
Carrier Ethernet 可以简单理解为运营商级 Ethernet。
普通家庭或办公室 Ethernet 主要连接局部设备,而运营商需要使用 Ethernet 承载大量客户、基站和商业网络,因此还必须提供更强的 QoS、故障检测、流量管理和可靠性能力。
QoS 是 Quality of Service,也就是服务质量。
它可以让不同数据流获得不同优先级。例如实时语音、工业控制或者移动基站数据可能比普通文件下载拥有更高优先级。
Policer,也就是流量监管,则检查某一类流量是否超过规定速度,并根据策略允许、限制或者丢弃数据包。
ENET L3 Flow Processor
再往上是 ENET L3 Flow Processor。
L3 是 Layer 3,也就是网络层,其中最重要的协议就是 IP。
L2 Switch 通常根据 MAC Address 转发 Ethernet Frame,而 L3 Router 则根据 IP Address 决定数据包下一步应该发送到哪里。
Ethernity 的 L3 Flow Processor 支持 FPGA 中的 Unicast 和 Multicast Routing,并同时加入多种安全功能。
Unicast,也就是单播,是一个发送端向一个接收端发送数据。
Multicast,也就是组播,则允许一个发送端把数据高效发送给一组接收者。
因此 ENET L3 Flow Processor 已经不仅是一颗交换引擎,而是真正承担 Router Data Plane 功能。
ENET L3+ Flow Processor
ENET L3+ 又在普通 IP Routing 基础上增加更完整的运营商网络功能。
Ethernity 把它定位为完整 Router Flow Processor,可以支持 MPLS VPN、安全、Layer 3 Monitoring 等功能,并主要面向 5G、SD-WAN、MEC、Customer Edge、Broadband Gateway 和 Cell Site Router。
MPLS 是 Multiprotocol Label Switching,也就是多协议标签交换。
它不是每一次都完全依靠普通 IP 路由表转发数据,而是可以给数据包增加 Label,然后通过 Label 快速决定转发路径,因此长期被运营商骨干网和企业 VPN 广泛使用。
SD-WAN 是 Software-Defined Wide Area Network,也就是软件定义广域网。
MEC 是 Multi-access Edge Computing,也就是多接入边缘计算。
这些应用都需要非常灵活的数据包处理,因此可编程 FPGA 在这里具有明显优势。
Broadband Aggregation Flow Processor
Ethernity 还有专门面向宽带接入网络的 Broadband Aggregation Flow Processor。
Broadband Aggregation,也就是宽带汇聚,是把多个家庭或者企业用户的宽带连接汇聚到运营商更高速的上层网络中。
Ethernity 的 Broadband Aggregation Flow Processor 可以针对 xPON、xDSL 和 MoCA 等接入方式进行定制和升级,主要面向 DPU、MDU 和 Micro-MSAN 等设备。
这里有一个非常容易混淆的专业名词。
在宽带接入网络中,DPU 有时候不是 Data Processing Unit。
这里的 DPU 通常是 Distribution Point Unit,也就是分布点单元。
它主要出现在 G.fast 等宽带接入网络中,部署在靠近用户的位置,把光纤或者高速上行网络转换成最后一段铜线连接。
这和 NVIDIA BlueField、AMD Pensando 等数据中心产品里所说的 Data Processing Unit 完全不是同一个概念。
因此在阅读 Ethernity 的早期宽带资料时,看到“DPU”不能直接理解为今天数据中心里的 DPU。
ENET4820ZXP/99
Ethernity 的 ENET4820ZXP/99 是一个很有代表性的 Broadband Flow Processor。
这款产品主要针对 G.fast Broadband Access,可以连接大约 8 到 24 个 G.fast Modem,并提供 10G 网络连接,同时能够集成 XGS-PON MAC、Carrier Ethernet Switch 以及其他宽带网络功能。
它使用 FPGA SoC,也就是把 FPGA Programmable Logic 与通用 CPU 集成在同一个器件中的系统级芯片。
根据 Ethernity 的资料,ENET4820ZXP/99 所使用的平台包括双核 ARM CPU 和 Programmable Logic。
这种结构与很多现代网络处理器非常相似:
ARM CPU 负责 Control Plane 和管理任务。
FPGA Flow Processor 负责高速 Data Plane。
Control Plane,也就是控制平面,负责配置网络、建立路由和运行管理协议。
Data Plane,也就是数据平面,真正负责一个一个数据包的高速转发和处理。
ENET-D
Ethernity 还提供一个叫做 ENET-D 的 FPGA IP Core。
ENET-D 是一个 DMA Engine,可以配合 ENET Flow Processor 构成完整 Ethernet Controller,而不必额外使用专门的 Ethernet Controller ASIC。
DMA 是 Direct Memory Access,也就是直接内存访问。
正常情况下,如果网络数据从网卡传输到系统内存,每一次复制都让 CPU 参与会产生很大开销。
DMA Engine 可以直接在网络设备和系统内存之间移动数据,从而减少 CPU 工作量。
这也是 SmartNIC、DPU 和各种高速 Network Processor 中非常重要的技术。
ACE-NIC SmartNIC
Ethernity Networks 另一个非常重要的产品系列是 ACE-NIC SmartNIC。
NIC 是 Network Interface Card,也就是网络接口卡。
普通 NIC 的主要任务是连接服务器和 Ethernet 网络。
SmartNIC 则在网卡上增加可编程处理能力,让一些原本由服务器 CPU 执行的网络任务直接在网卡中完成。
这个过程叫做 Offload,也就是卸载。
Ethernity 的 ACE-NIC 系列采用 FPGA,并运行 ENET Flow Processor,可以卸载 Switching、Routing、QoS、Monitoring、Load Balancing、Fault Management 和 Security 等网络任务。
ACE-NIC40
ACE-NIC40 是一款 40G FPGA SmartNIC,拥有四个 10GbE 接口。
它主要针对 NFV Acceleration,可以运行在普通 COTS Server 中,把网络处理从服务器 CPU 转移到 FPGA。
COTS 是 Commercial Off-The-Shelf,也就是商业现成产品。
简单来说,运营商不一定需要购买昂贵的专用通信设备,而可以使用标准服务器,再插入 SmartNIC,让普通服务器获得专业网络处理能力。
NFV 是 Network Functions Virtualization,也就是网络功能虚拟化。
传统防火墙、Router、Load Balancer 等网络功能往往运行在专用硬件设备中。
NFV 则把这些功能变成软件运行在标准服务器中。
但是大量数据包全部由普通 CPU 处理又可能产生性能问题,因此 SmartNIC 可以重新把最耗性能的数据平面任务卸载到 FPGA。
ACE-NIC100
ACE-NIC100 是 Ethernity 更高性能的一款 SmartNIC。
它支持 10G、25G、40G 和 100G Ethernet,并把 FPGA 与 ENET Flow Processor 集成到标准 Network Adapter 中。
它可以卸载 QoS、Policing、OAM、Overlay Networking 和 Security 等网络任务,让服务器 CPU 保留更多资源用于普通计算。
OAM 是 Operations, Administration and Maintenance,也就是运行、管理和维护。
在运营商网络中,OAM 用于检测网络连接、判断故障位置以及监控服务质量。
因此 ACE-NIC100 本质上已经不只是网卡,而是一块具有完整网络数据处理能力的 FPGA 加速卡。
Router-on-NIC
Ethernity 特别强调 ACE-NIC 的一个能力:Router-on-NIC。
顾名思义,就是直接把 Router 的部分功能放进 SmartNIC。
很多 SmartNIC 主要卸载 Layer 2 Switching 或简单网络处理,而 Ethernity 表示 ACE-NIC 可以在 FPGA 上实现 Layer 3 Switching 和 Routing。
这意味着服务器不需要让 CPU 对所有数据包执行 IP Routing。
数据包进入 SmartNIC 以后,就可以在 FPGA 中直接完成查表、转发和部分安全处理。
从架构概念上看,这已经与现代 DPU 有一定相似之处。
Ethernity 与现代 DPU 的关系
Ethernity 的 FPGA SmartNIC 与 NVIDIA BlueField、AMD Pensando 等现代 Data Processing Unit 有部分共同点。
它们都希望解决一个问题:
不要让服务器 CPU 把大量计算能力浪费在网络和基础设施处理上。
因此都使用专门硬件执行 Packet Processing、Security、Virtual Networking 和其他 Offload 工作。
不过典型 DPU 通常集成自己的多核 CPU、Network Accelerator、Memory Controller、PCIe、Security Engine 和 Storage Acceleration 等功能,是高度集成的一颗专用 SoC。
Ethernity 的核心路线则更加偏向:
FPGA + ENET Flow Processor + SmartNIC。
因此把 ACE-NIC 称为 FPGA SmartNIC 最准确。
从技术路线看,它属于 DPU 产业发展的重要相邻领域,但不能简单认为 ACE-NIC 与 BlueField 完全是同一种产品。
5G UPF 加速
Ethernity 的 Flow Processor 还可以用于 5G UPF Forwarding Offload。
UPF 是 User Plane Function,也就是用户面功能。
在 5G Core Network 中,UPF 负责真正传输用户的数据流量。
例如手机访问网站或者观看在线视频,这些数据需要经过 UPF。
因为 5G 网络可能同时处理大量用户和高速数据,所以 UPF 数据平面的 Packet Processing 压力非常大。
如果全部由服务器 CPU 运行软件完成,可能需要大量 CPU Core。
把部分 UPF Forwarding 功能卸载到 FPGA,可以提高吞吐量并减少 CPU 使用。
这正是 Ethernity ENET Flow Processor 擅长的场景。
5G Cell Site Router
Ethernity 还面向 5G Cell Site Router 提供网络处理方案。
Cell Site Router,也就是基站站点路由器,部署在移动通信基站附近,把基站流量连接到运营商承载网。
随着 5G 基站带宽越来越高,Cell Site Router 不仅要高速转发数据,还要支持 QoS、MPLS、安全、Timing 和网络监控。
这种应用既需要高性能,又可能不断出现新的运营商功能,所以 FPGA 的可编程性具有吸引力。
Wireless Backhaul
Wireless Backhaul,也就是无线回传,是 Ethernity 的另一项应用。
基站或者无线接入点接收到用户数据以后,还需要把数据送回运营商核心网络。
这段连接就叫 Backhaul,也就是回传。
Ethernity 可以利用 ENET Flow Processor 在 FPGA 中处理这些高速 Ethernet 和无线回传数据,并支持 Carrier Ethernet、QoS、Bonding 和其他网络功能。
PON OLT
近年来 Ethernity 还把 FPGA 网络处理技术进一步扩展到了 PON。
PON 是 Passive Optical Network,也就是无源光网络,是 FTTH 光纤到户最重要的接入技术之一。
OLT 是 Optical Line Terminal,也就是光线路终端,通常部署在运营商一侧,通过一条光纤网络连接多个 ONU 或 ONT 用户终端。
Ethernity 提供 FPGA SoC PON OLT MAC 产品,可以支持 XGS-PON 和 GPON。
其中 XGS-PON 可以提供大约 10Gbps 对称上下行通信。
Ethernity 的 PON OLT MAC SoC 可以支持最多四个 XGS-PON 接口或者八个 GPON 接口,并把 PON MAC、DBA、AES Encryption、FEC 和其他功能集成到 FPGA SoC 中。
什么是 DBA
DBA 是 Dynamic Bandwidth Allocation,也就是动态带宽分配。
PON 网络的一条光纤可能同时服务几十甚至上百个用户。
这些用户共享上行带宽,因此系统需要决定:
哪个 ONU 可以在什么时间发送多少数据。
DBA 就是负责动态分配这些上行传输机会的机制。
Ethernity 把 DBA Engine 直接放在 FPGA 硬件中,可以降低处理延迟。
UEP Universal Edge Platform
Ethernity 不仅提供网络处理 IP 和 SmartNIC,也推出了完整 Network Appliance。
其中一个代表产品是 UEP,也就是 Universal Edge Platform。
UEP 把 FPGA SoC、ENET Flow Processor 和 Router Software Stack 整合成完整网络设备。
UEP-20 可以提供 20Gbps Full-Duplex Networking 和 Security Performance,并通过模块化接口支持不同网络协议和端口配置。
Full Duplex,也就是全双工,意味着设备可以同时发送和接收数据。
因此 20Gbps Full Duplex 与简单地说“20Gbps 单向吞吐量”并不是完全相同的概念。
FPGA 最大的优势:可升级
Ethernity 网络处理器与固定 ASIC 最大的区别,就是可以在产品部署以后修改网络功能。
例如运营商购买了一台固定 ASIC Router。
如果 ASIC 本身完全不支持某一种新的 Packet Processing 功能,仅靠软件可能很难增加。
FPGA 则可以重新加载逻辑。
理论上设备厂商可以增加新的协议、Packet Header Processing、Security Function 或 Network Monitoring 功能,而不一定需要更换整个网络处理芯片。
对于 5G、Edge Computing、SD-WAN、NFV 和不断演进的运营商网络,这种灵活性具有明显价值。
FPGA 的缺点也很明显
FPGA 并不是在任何情况下都比 ASIC 更好。
如果一种网络功能已经非常成熟,而且需要极大的出货量和最高的性能功耗比,专门设计 ASIC 通常更有优势。
ASIC 可以针对固定任务进行高度优化,因此在相同工艺和任务下通常能够实现更高的性能、更低的功耗和更低的大规模单位成本。
FPGA 则需要使用大量可编程逻辑资源,因此芯片成本和功耗通常高于针对同一功能专门设计的 ASIC。
因此 FPGA 和 ASIC 实际上对应不同的市场需求:
ASIC 强调极致效率和大规模部署。
FPGA 强调灵活性、快速开发和后期升级。
Ethernity 的核心竞争力,就是试图通过高效率 ENET 架构减少 FPGA 资源占用,从而降低 FPGA 网络方案与 ASIC 之间的成本差距。
公司把“在最少 FPGA 空间中实现最多网络功能”作为 ENET 技术的重要特点。
Ethernity 与 Broadcom、Marvell 的区别
Broadcom 和 Marvell 都拥有大量高性能 Ethernet Switch ASIC、PHY、Network Processor 和 Data Center Networking 产品。
它们可以自己设计非常复杂的大规模 ASIC。
Ethernity 的路线明显不同。
Ethernity 更关注:
Flow Processing
SmartNIC
Network Function Offload
Carrier Ethernet
5G Edge
PON
Broadband Access
因此 Ethernity 很适合作为理解“可编程网络处理器”这一技术路线的代表企业。
Ethernity 与 Intel IPU、NVIDIA BlueField 的区别
Intel IPU 和 NVIDIA BlueField 属于高度集成的数据中心基础设施处理器。
它们通常直接集成多核 CPU、高速 Ethernet、PCIe、Memory、Security 和大量硬件加速单元。
Ethernity ACE-NIC 则主要依靠 FPGA 实现可编程网络数据平面。
所以可以把它们简单理解为:
BlueField / IPU:高度集成的专用 Infrastructure Processor。
ACE-NIC:FPGA Programmable SmartNIC。
两条路线最终都可以达到减少 Host CPU 网络负担的目的,但实现方法不同。
Ethernity Networks 的核心优势
Ethernity 最大的技术特点不是拥有世界上吞吐量最高的一颗网络 ASIC,而是 Programmability。
设备厂商可以根据自己的需求选择 FPGA,然后加入相应的 ENET Flow Processor Feature Set。
同一个核心网络处理架构可以被应用到 Ethernet Switch、Router、SmartNIC、5G、Broadband Gateway、PON OLT 和 Wireless Backhaul 等不同产品中。
这种架构尤其适合需求复杂、产品数量相对较小、协议不断变化的运营商和边缘网络设备。
Ethernity Networks 在网络处理器产业中的位置
如果按照网络处理器技术路线分类,Ethernity Networks 可以归入:
Programmable Network Processor
进一步可以归入:
FPGA-based Network Processor
与传统固定 ASIC NPU 相比,Ethernity 更强调可编程性。
与普通 FPGA IP 企业相比,它又拥有非常完整的 Carrier Ethernet、Routing、QoS、Security、SmartNIC 和 Network Appliance 产品。
因此 Ethernity 是网络处理器产业中一个比较独特的企业。
它实际上位于几个产业之间:
Network Processor
FPGA
SmartNIC
DPU / Infrastructure Acceleration
Telecom Edge
Broadband Access
这几个领域正在不断融合,而 Ethernity 正好处于这个交叉位置。
总结
Ethernity Networks 是一家成立于 2004 年的以色列可编程网络处理技术企业,其核心产品是基于 FPGA 的 ENET Flow Processor。
与传统固定功能网络 ASIC 不同,ENET Flow Processor 可以部署在 AMD/Xilinx 或 Intel FPGA 上,根据客户需求选择不同 FPGA、吞吐量、接口和网络功能,并支持 Layer 2 Switching、Carrier Ethernet、Layer 3 Routing、MPLS、QoS、Security、Broadband Aggregation 和其他网络任务。
在 Flow Processor 基础上,Ethernity 又开发了 ACE-NIC40、ACE-NIC50 和 ACE-NIC100 等 FPGA SmartNIC,把 Switching、Routing、QoS、Security 和其他网络任务从服务器 CPU 卸载到 FPGA。ACE-NIC100 可以支持最高 100GbE 网络连接。
同时,公司还把 ENET 技术应用到 UEP Universal Edge Platform、5G UPF、5G Cell Site Router、Wireless Backhaul、Broadband Access 和 PON OLT 等领域。
公司名称:Ethernity Networks Ltd.
成立时间:2004 年
总部:以色列 Lod 地区
上市市场:London Stock Exchange AIM
股票代码:ENET
核心技术:ENET Flow Processor
主要产品:ENET L2/L2+/L3/L3+ Flow Processor、ENET4820ZXP/99、ACE-NIC40、ACE-NIC50、ACE-NIC100、ENET-D、UEP-20、UEP2025、PON OLT MAC SoC
核心架构:FPGA + Programmable Network Processing
主要应用:Carrier Ethernet、Router、SmartNIC、NFV、5G UPF、Cell Site Router、Wireless Backhaul、SD-WAN、Broadband Access、XGS-PON 和 Edge Computing
