智能网卡是一种新型网卡,它超越了传统的数据传输功能。
它们配备了强大的处理器、内存和专用硬件,可以执行各种高级功能。
这些功能包括网络增强、存储加速、安全功能等等。
智能网卡的主要目标是从主机CPU上卸载和加速各种网络相关任务,提供专用处理能力和硬件功能,以增强网络性能、安全性和效率。
1.1 智能网卡的功能
智能网卡提供了一系列高级功能,包括:
- 数据包过滤和负载平衡。
- 服务质量(QoS)实施。
- 存储加速,包括远程直接内存访问(RDMA)、iSCSI和NVMe over Fabrics。
- 安全功能,如防火墙处理和入侵检测系统(IDS)检查。
这些功能使得智能网卡成为适用于各种高级用例的强大工具,从提高网络性能到加强安全性,再到存储加速。
1.2 早期SmartNIC实现
早期的SmartNIC实现使用寄存器驱动的ASIC逻辑,这些设计在性能方面表现出色,具有极低的延迟、高数据包吞吐量和低功耗(通常在15瓦到35瓦之间)。
然而,尽管在性能上具有优势,但它们通常缺乏必要的可编程性和灵活性。
它们通常需要深奥的命令行工具来设置寄存器,缺乏以编程方式管理数据包和流的能力。
1.3 SmartNIC的多种部署方式
SmartNIC在多种不同的部署场景中发挥着关键作用,其中包括存储、安全和网络处理。
SmartNIC可能承担的特定任务包括隧道协议(例如VxLAN)的处理以及复杂虚拟交换,如图1所示。
它的最终目标是消耗更少的主机CPU处理器内核,同时以更低的成本提供更高的性能解决方案。