目录


文章目录

  • 目录
  • 1.0 Linux 内核态转发
  • 2.0 Linux 用户态转发
  • 3.0 软硬件融合转发


1.0 Linux 内核态转发

具体来说,传统网卡面向的用户痛点包括:

  1. 随着 VxLAN 等 Overlay 网络协议,以及 OpenFlow、Open vSwitch 等虚拟交换技术的引入,使得基于服务器的网络数据平面的复杂性急剧增加。
  2. 网络接口带宽的增加,意味着在软件中执行这些功能会给 CPU 资源造成难以承受的负载,留给应用程序运行的 CPU 资源很少或根本没有。
  3. 传统 NIC 的固定功能的流量处理功能无法适应 SDN / NFV 技术趋势。

2.0 Linux 用户态转发

在 SmartNIC 出现之前,解决这些问题的方法大概有:

  1. 使用 DPDK 作为加速手段,但处理过程仍然依赖标配(未针对数据传输进行优化)的服务器及网卡,这始终是一个瓶颈,吞吐量性能低下,并且需要大量的 CPU 资源,还是没能节省昂贵的 CPU 资源。

  2. 使用 SR-IOV 技术,将 PF 映射为多个 VFs,使得每个 VF 都可以绑定到 VM。如此,吞吐量性能和 CPU 使用效率确实得到了改善,但灵活性却降低了,复杂性也增加了。并且,大多数 SR-IOV 网卡最多有效支持 1Gb 以太网端口的 8-16 个 VFs,和 10Gb 以太网端口的 40-64 个 VFs。

基于 CPU 的数据面软转发主要面临 2 个问题:

  1. CPU 的单 Core 的性能瓶颈,在大象流和攻击场景下比较容易被打爆,导致故障;
  2. CPU 的摩尔定律逐步失效,CPU 的频率和核数提升空间越来越小,靠 CPU 软转做进一步性能提升的空间有限。

然而另一方面,以太网的接口速率正在飞速发展中,25G NRZ 已经普及,50G PAM4 已经成熟,单模块 400G 已经成为现实。PCIe 的接口速率也在快速发展中,单 lane 16Gb 的 PCIE Gen4 还未规模上线,单 lane 32Gb 的 PCIE Gen5 的规范已经发布。

随着云计算的发展,云网络的流量出现了爆发式增长。游戏、视频、NFV 化对网络性能提出了更高的要求,vSwitch 的网络正在朝 100Gbps 迈进。为了提升云网络的性能和稳定性,满足云计算的技术发展需求和业务发展需求,软硬一体化设计的网络成为了主流。

3.0 软硬件融合转发

而 SmartNIC 的存在能够:

  1. 将 vSwitch 完全 Offload 到 SmartNIC,释放昂贵的 Host CPU 资源,将计算能力还给应用程序。
  2. 可以实现基于服务器的复杂网络数据平面功能,例如:多匹配操作处理、计量整形、流统计等。
  3. 支持网络的可编程性(通过更新的固件或客户编程),即便 SmartNIC 已经被插入到服务器使用。
  4. 与现有的开源生态系统无缝协作,以最大程度地提高软件功能的速度和影响力。

另外,白盒交换机作为最受欢迎的 COTS 硬件,可以加入 Plugin 轻松实现 SDN 和 NFV 的各种计算及网络功能。