DPDK(英语:Data Plane Development Kit),是一组快速处理数据包的开发平台及接口。[1][2] ,运行于Intel X86与arm平台上(最新版本也开始支持PowerPC[3])。该平台采用BSD许可证发布。

Quick Facts 当前版本, 原始码库 ...
DPDK
当前版本17.05(2017年5月10日 (2017-05-10)
原始码库 编辑维基数据链接
编程语言C
操作系统FreeBSD, Linux
类型数据包 处理
许可协议BSD
网站dpdk.org
Close

概述

X86结构中,处理数据包的传统方式是CPU中断方式,即网卡驱动接收到数据包后通过中断通知CPU处理,然后由CPU拷贝数据并交给协议栈。在数据量大时,这种方式会产生大量CPU中断,导致CPU无法运行其他程序。

而DPDK则采用轮询方式实现数据包处理过程:DPDK重载了网卡驱动,该驱动在收到数据包后不中断通知CPU,而是将数据包通过零拷贝技术存入内存,这时应用层程序就可以通过DPDK提供的接口,直接从内存读取数据包。

这种处理方式节省了CPU中断时间、内存拷贝时间,并向应用层提供了简单易行且高效的数据包处理方式,使得网络应用的开发更加方便。但同时,由于需要重载网卡驱动,因此该开发包目前只能用在部分采用Intel网络处理晶片的网卡中。

参考资料

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.