DPDK(Data Plane Development Kit),是一组快速处理封包的开发平台及界面。可执行于Intel X86或arm平台上。

在X86平台结构中,处理封包的传统方式是中央处理器(CPU)中断方式,即网络卡驱动程式接收到封包后通过中断通知中央处理器处理,然后由中央处理器拷贝资料并交给协定栈。在资料量大时,这种方式会产生大量中央处理器中断,导致中央处理器无法执行其他程式。

而DPDK则采用轮询方式实现封包处理过程:DPDK需载入支援的网络卡驱动程式,该驱动程式在收到封包后不中断通知中央处理器,而是将封包通过零拷贝技术存入内存,这时应用层程式就可以通过DPDK提供的界面,直接从内存读取封包。

这种处理方式节省了中央处理器中断时间、内存拷贝时间,并向应用层提供了简单易行且高效的封包处理方式,使得网络应用的开发更加方便。但同时,由于需要多载入支援的网卡驱动程式,因此只能在支援网络处理芯片的网络卡中进行开发。