1、前言
记得刚开始工作的时,老大将我安排到数据面组,当时第一次听说”数据面“这个概念,感觉挺新鲜的。误打误撞就开始搞了,刚开始接触的时候,由于不懂其中的原理,觉得很神奇,因为报文的转发是在应用层,通过一个进程进行转发。而传统的报文转发是基于内核的,要想控制报文,需要写驱动程序。后面接触了一段时间,发现原来报文转发是基于intel开源的DPDK开发的,分为控制面和数据面。这就是当前比较火热的软件定义网路SDN的一种应用场景。DPDK应用程序是运行在用户空间上利用自身提供的数据平面库来收发数据包,绕过了Linux内核协议栈对数据包处理过程。Linux内核将DPDK应用程序看作是一个普通的用户态进程,包括它的编译、连接和加载方式和普通程序没有什么两样。intel为什么要搞一个DPDK出来呢?有什么优势呢?运用了哪些技术呢?带着这些疑问,加深学习一下。 记得刚开始工作的时,老大将我安排到数据面组,当时第一次听说”数据面“这个概念