title: Intel推出DPDK开发包的意义是什么？
desc: 基于intel dpdk的包处理器，相较于基于内核网络协议栈的包处理器，优势和价值在哪里？<br>基于dpdk的包处理性能，是否会比基于内核协议栈高，如果高会高多少，内核网络协议栈的瓶颈又主要在哪里？
topic: 服务器
content: 首先，DPDK和内核网络协议栈不是对等的概念。DPDK只是单纯的从驱动拿数据，然后组织成数据块给人用，跑在用户态。功能相当于linux的设备无关接口层，处于socket之下，驱动之上。只不过linux协议栈的这部分在核心态。你说的包处理器，很多时候是不用linux内核协议栈的，而是用专用包处理程序，类似于DPDK加上层应用处理。通常会有些硬件加速器，包处理效率更高些。缺点是一旦用不上某些功能，那些加速器就白费了。而纯软件处理