DPDK /网络协议栈怎么学?

偶然在c++后台开发行业中 发现一个新风口:DPDK开发

什么是风口,就是知道的少,但是又有市场需求,DPDK就是这样,四个字:小众多金

数据统计:搜索全国 dpdk岗位招聘,大概在350条,其中薪资平均是15K-30k

DPDK /网络协议栈怎么学?_第1张图片DPDK /网络协议栈怎么学?_第2张图片 

dpdk开发到底是什么?

大众一点来说就是相当于网络虚拟化

概述:

Intel® DPDK全称Intel Data Plane Development Kit,是intel提供的数据平面开发工具集,为Intel architecture(IA)处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持,它不同于Linux系统以通用性设计为目的,而是专注于网络应用中数据包的高性能处理。目前已经验证可以运行在大多数Linux操作系统上,包括FreeBSD 9.2、Fedora release18、Ubuntu 12.04 LTS、RedHat Enterprise Linux 6.3和Suse EnterpriseLinux 11 SP2等。DPDK使用了BSDLicense,极大的方便了企业在其基础上来实现自己的协议栈或者应用。

需要强调的是,DPDK应用程序是运行在用户空间上利用自身提供的数据平面库来收发数据包,绕过了Linux内核协议栈对数据包处理过程。Linux内核将DPDK应用程序看作是一个普通的用户态进程,包括它的编译、连接和加载方式和普通程序没有什么两样。

主要是做什么?

1:网络研发工程师

2:dpdk开发工程师

关于怎么上手,我近期搜索了网上大量资料,发现DPDK资料空空如也,而网络编程资料偏多

最终在一个平台偶然发现一个学习体系,个人觉得很有参考价值,详情如下:

视频:

后台开发第317讲|c/c++会不会被取缔,了解dpdk以后,彻底改变你的观念 1. dpdk应用场景 2. dpdk的实现原理 3. 实现dpdk的协议栈

后台开发第383讲|【零声教育King】让你的技术提高一个level,高性能网络开发框架vpp|1. dpdk解决了网卡的问题 2. vpp解决了协议栈的问题

 【文章福利】需要C/C++ Linux高级服务器架构师学习资料后台私信“资料”(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等)
可以加入到群里一起探讨技术交流,领取资料
 

技术点:

DPDK网络专栏:

1:网络协议栈项目

2:dpdk组件项目

3:dpdk经典项目

DPDK框架专栏:

1:可扩展的矢量数据包处理框架VPP(c/c++)

2:DPDK的虚拟交换机框架ovs

3:golang的网络开发nff-go(golang)

4:轻量级的switch框架(Lua)

5:高效磁盘io读写sdpk(c)

DPDK源码专栏:

1:内核驱动

2:内存

3:协议

4:虚拟化

5:CPU

6:安全

性能测试专栏:

1:性能指标

2:测试方法

3:测试工具

详细技术点:

DPDK /网络协议栈怎么学?_第3张图片

 如果你对DPDK 也感兴趣,如果你对网络编程也感兴趣,那么抓住风口!

你可能感兴趣的:(Linux服务器开发,网络协议,网络,DPDK,VPP,网络协议栈)