【网络】TOE、RDMA、smartNIC 是什么和区别|DPU

目录

TOE、RDMA、smartNIC 简介

TOE(TCP/IP Offload Engine)

RDMA

SmartNIC

区别

TOE、RDMA、smartNIC详细说明

TOE(TCP/IP Offload Engine)

RDMA

SmartNIC

DPU

为什么需要DPU

DPU的发展分为三个阶段

第一阶段:Smart NIC(智能设备)

第二阶段:DPU(数据处理芯片)

第三阶段:IPU(基础设施芯片)

摘抄和参考列表


作者:bandaoyu,本文原始连接:https://blog.csdn.net/bandaoyu/article/details/122868925

TOE、RDMA、smartNIC 简介

TOE(TCP/IP Offload Engine 处理器的工作转移到网卡上)

简介:

在主机通过网络进行通信的过程中,

1、CPU 需要耗费大量资源进行多层网络协议的数据包处理工作,包括数据复制、协议处理和中断处理。

2、当主机收到网络数据包时,会引发大量的网络 I/O 中断,CPU 需要对 I/O 中断信号进行响应和确认。

为了将 CPU 从这些操作中解放出来,人们发明了TOE(TCP/IP Offloading Engine)技术(即将上述主机处理器的工作转移到网卡上:https://blog.csdn.net/bandaoyu/article/details/125234243)TOE 技术需要特定支持 Offloading 的网卡,这种特定网卡能够支持封装多层网络协议的数据包。

  • TOE 技术将原来在协议栈中进行的IP分片、TCP分段、重组、checksum校验等操作网络数据流量的处理工作,转移到网卡硬件中进行,服务器只承担TCP/IP控制信息的处理任务。这降低系统CPU的消耗,提高服务器处理性能。
  • 普通网卡处理每个数据包都要触发一次中断,TOE 网卡则让每个应用程序完成一次完整的数据处理进程后才触发一次中断,显著减轻服务器对中断的响应负担。
  • TOE 网卡在接收数据时,在网卡内进行协议处理,因此,它不必将数据复制到内核空间缓冲区,而是直接复制到用户空间的缓冲区,这种“零拷贝”方式避免了网卡和服务器间的不必要的数据往复拷贝。

 RDMA 架构与实践 | https://houmin.cc/posts/454a90d3/

RDMA

RDMA是一种概念,在两个或者多个计算机进行通讯的时候使用DMA, (DMA硬件将数据)从一个主机的内存直接读写到另一个主机的内存。

RDMA是一种host-offload(硬件处理), host-bypass(绕过内核)技术,允许应用程序(包括存储)在它们的内存空间之间直接做数据传输。

详情见:https://blog.csdn.net/bandaoyu/article/details/112859853

SmartNIC

TOE网卡和RDMA网卡,都属于SmartNIC。

上面二者的简介都可以总结为:

      传统网卡仅实现了 L1-L2 层的逻辑,而由 Host CPU 负责处理网络协议栈中更高层的逻辑。即:CPU 按照 L3-L7 的逻辑,负责数据包的封装与解封装;网卡则负责更底层的 L2 层数据帧的封装和解封装,以及 L1 层电气信号的相应处理。

为适应高速网络,现代网卡中普遍卸载了部分 L3-L4 层的处理逻辑(e.g. 校验和计算、传输层分片重组等),来减轻 Host CPU 的处理负担。甚至有些网卡(e.g. RDMA 网卡)还将整个 L4 层的处理都卸载到硬件上,以完全解放 Host CPU。得益于这些硬件卸载技术,Host OS 的网络协议栈处理才能与现有的高速网络相匹配。

区别

最近DPU概念异常火爆,从Mellanox、Fungible、NVIDIA到Intel,各路诸侯纷纷加入战场,各种概念Smart NIC、DPU、IPU层出不穷,各种SDK,FunOS、DOCA、IPDK令人眼花缭乱,比当年AI还要火爆。

相同点:

都具有给cpu减负的功能

不同点:

1、工作原理不同,见上面的简介。

2、RDMA的网卡使用需要两端都支持RDMA技术的网卡才能发挥,TOE只需要单端即可。

3、TOE网卡和RDMA网卡,都属于SmartNIC。

TOE、RDMA、smartNIC详细说明

TOE(TCP/IP Offload Engine)

TOE引擎需要做的一件事情就是将IP头、TCP头、UDP头的checksun计算由网卡来计算,CPU不需要计算IP头、TCP头、UDP头的检验和, 这些工作由网卡来进行。这样可以减轻CPU的负担,如下图所示,但是这样会带来一个问题,就是在user application抓的发送出去的报文的检验和是不对的,如果直接对报文进行回放,会被设备丢弃,导致报文回放失败。
 
 

 普通网卡用软件方式进行一系列TCP/IP相关操作,因此,会在三个方面增加服务器的负担,这三个方面是:数据复制、协议处理和中断处理。


     网络上每个应用程序在收发大量数据包时,要引发大量的网络I/O中断,对这些I/O中断信号进行响应,成了服务器的沉重负担。比如,一个典型的 64Kbps的应用程序在向网络发送数据时,为了将这些数据装配成以太网的数据包,并对网络接收确认信号进行响应,要在服务器和网卡间触发60多个中断事 件,这么高的中断率和协议分析工作量已经是相当可观的了。虽然某些网络操作

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TOE技术是传输控制协议/互联网协议(Transmission Control Protocol/Internet Protocol,TCP/IP)堆栈的一种增强技术。它通过在网卡中集成TCP/IP堆栈来加速网络数据的处理和传输。 TOE网卡是一种具有专用硬件和软件的网卡,它能够在网卡上执行部分TCP/IP协议栈的功能,以减轻主机CPU的负担。TOE网卡通过将网络数据包的处理工作从主机CPU转移到网卡上的专用硬件中来提高网络传输性能。 TOE网卡的工作原理如下: 1. 收包到硬件卸载:当网络数据包到达网卡时,TOE网卡会使用硬件内部的卸载引擎将数据包的网络层和传输层头部解析出来。解析完成后,卸载引擎将数据包的有效负载传递给主机内核。 2. TCP协议处理:在主机内核中,TOE网卡使用特定的驱动程序来处理TCP/IP协议。网卡可以进行数据包的排序、分段、拼接等操作,并执行适当的检错和差错校验。 3. 数据包传输:经过TCP协议处理后,TOE网卡计算出数据包的校验和,并将数据包发送到目标主机。TOE网卡可以使用高性能的DMA(直接内存存取)引擎来加速数据包的传输。 4. 转发回复:当接收到目标主机的数据包回复时,TOE网卡可以通过硬件卸载引擎的加速处理,将数据包直接传递给应用程序,减少了主机CPU的参与。 通过以上的工作原理,TOE技术和TOE网卡可以大大减轻主机CPU的负担,提高网络数据的处理和传输效率。这种技术尤其适用于需要高吞吐量和低延迟的网络应用,如服务器端的数据中心,可以提供更快速、稳定和高效的网络传输能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值