dpdk的基本原理
DPDK(Data Plane Development Kit)是一种用于提高数据处理能力的技术,它通过绕过Linux内核协议栈,直接在用户空间进行数据包处理,从而提高了报文处理效率。DPDK应用程序运行在操作系统的User Space,利用自身提供的数据平面库进行收发包处理,以提升报文处理效率。DPDK原理解释如下:
网络设备(如路由器、交换机、媒体网关、SBC、PS网关等)需要在瞬间进行大量的报文收发。在传统的网络设备上,通常会使用专门的NP(Network Process)处理器,如FPGA或ASIC,这些专用器件通过内置的硬件电路(或通过编程形成的硬件电路)高效转发报文,只有需要对报文进行深度处理的时候才需要CPU干涉。但在某些应用场景下,如公有云、NFV等,基础设施以CPU为运算核心,往往不具备专用的NP处理器,操作系统也以通用Linux为主。
在虚拟化环境中,网络数据包的收发处理路径会更长,由于包处理任务存在内核态与用户态的切换以及多次的内存拷贝,系统消耗变大,以CPU为核心的系统存在很大的处理瓶颈。为了提升在通用服务器(COTS)的数据包处理效能,Intel推出了服务于IA(Intel Architecture)
免费永久的linux服务器系统的DPDK技术。
DPDK是一组lib库和工具包的集合,应用程序运行在操作系统的User Space,利用自身提供的数据平面库进行收发包处理,绕过了Linux内核协议栈,以提升报文处理效率。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论