本文主要是介绍【DPDK学习路径】九、学习分支,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第八节给出了如何以轮询的方式从网卡中收取数据报文,目前为止已经学会了一些DPDK的简单用法,接下来的学习路径将有多条:1、开发功能;2、软件架构;3、性能调优。
上述排序依据的是难易程序,对于哪些对网络协议及Linux协议栈不太熟悉的同学而言,这样的顺序更加合适,因为开发功能的过程可以顺便了解网络协议。但对于一个正常的项目来说,这并不是最优解,因为这会导致代码来回改动,因此后续我将先论述一下简单的软件架构,再添加一部分功能,最后继续深入学习DPDK,了解接口的实现,论述性能调优。
DPDK 作为数据处理平面,功能主要集中在 pkt_process 部分,大致就是各层网络功能的具体实现,当然,就如同内核努力通过钩子向上层提供可配置的处理内容一样,DPDK 也需要提供配置接口,以便即时的策略修改,否则为何不使用硬件转发呢?因此,DPDK 必须实现配套的控制平面,数据平面与控制平面配合,就是DPDK软件架构的雏形,就像目前大多数的数据通信方案一样。
之后,基于设计好的软件架构,为其实现对应的功能,拓充其协议栈,就真正实现了使用DPDK构建的项目。
最后,不断提高对DPDK的理解,不断优化系统性能。
后续的文章大体按照此顺序进行,但不完全,因为三者之间具有紧密联系,有时候在实现功能的过程中也避不可免会涉及到性能调优的部分,这是正常的。
这篇关于【DPDK学习路径】九、学习分支的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!