人工精选DPDK网络协议栈(VPP_OvS_DDoS_SDN_NFV_虚拟化_高性能专家教程)
这门课解决什么工作场景 这套教程聚焦于数据中心底层基础设施的极致性能优化,核心解决“传统内核网络栈处理高并发流量时算力瓶颈”的问题。如果你在日常工作中遇到网卡利用率打满但吞吐量上不去、系统调用开销过大导致延迟抖动,或者需要从零构建高性能负载均衡器、分布式KV存储引擎,这门课提供的是从内核旁路到用户态
会员可免费下载本篇月会员可免费领取。
开通会员 ›会员 · 按档位
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
这门课解决什么工作场景
这套教程聚焦于数据中心底层基础设施的极致性能优化,核心解决“传统内核网络栈处理高并发流量时算力瓶颈”的问题。如果你在日常工作中遇到网卡利用率打满但吞吐量上不去、系统调用开销过大导致延迟抖动,或者需要从零构建高性能负载均衡器、分布式KV存储引擎,这门课提供的是从内核旁路到用户态协议栈的完整实现思路。它不是讲如何使用现成的商业软件,而是讲这些软件(如DPVS、SPDK)在DPDK框架下是如何被设计和实现的。
适合什么基础、建议先看哪几块
**适合基础**:具备C语言编程能力,熟悉Linux网络编程(socket、epoll),对TCP/IP协议栈有基本原理认知。如果完全不懂内核网络机制,直接上手会有难度。
**学习路径建议**:
1. **先打地基**:优先学习“基础组件”模块。重点理解`mbuf`与`mempool`的内存管理模型,以及`KNI`源码分析。这是DPDK应用开发的基石,搞不清这两个,后面的代码读起来会非常痛苦。
2. **深入内核**:接着看“TCP并发”部分。课程通过手写`epoll`和基于BPF的监控工具(ntyco),让你彻底理解高并发下的协程调度与系统调用Hook原理,这对排查线上复杂网络问题极有帮助。
3. **掌握存储与计算分离**:SPDK系列(KV存储与文件系统)是进阶重点。了解bdev与blob的抽象层设计,以及B-tree、Hashmap在用户态存储引擎中的选择,能帮助你在设计高性能存储架构时避开内核锁的陷阱。
4. **实战演练**:最后通过TRex/Dpdk-pktgen进行流量生成与测试,以及DPVS的NAT/负载均衡实现,形成闭环。
学完能独立做什么、资料怎么配合练习
**学完能独立做**:
* 能够阅读并二次开发基于DPDK的高性能网络应用。
* 理解并部署类似DPVS的四层负载均衡集群,掌握其SNAT/DNAT转发逻辑及TC流控配置。
* 具备构建用户态KV存储引擎或轻量级文件系统原型的能力,理解其IO路径优化手段。
* 使用专业工具(TRex, iperf3)对网络服务进行压测与性能瓶颈定位。
**资料配合练习**:
教程中的视频涵盖了从接口定义、数据结构设计到测试用例的全过程。建议不要只看不练,对照视频中的源码,手动复现`Set/Get/Mod/Del`等核心接口的实现,并尝试修改`conf`配置文件观察行为变化。对于DPVS部分,建议在虚拟机中搭建测试环境,实际配置OSPF与NAT模式,观察转发性能变化,这样能将视频中的理论转化为实际的工程直觉。
课程目录
17.spdk kv存储的实现(8节)8 集
- 121--slab分配slot与释放slot.mp4 [2.9 MB]
- 118--kv service接口 set,get,modify,delete.mp4 [2.9 MB]
- 116--KV存储拆解 Set, Get, Mod, Del.mp4 [2.9 MB]
- 123--kv存储测试用例与性能测试.mp4 [2.9 MB]
- 119--pagechunk的get与put.mp4 [2.9 MB]
- 122--为kv存储加上conf文件.mp4 [2.9 MB]
- 120--btree hashmap radixtree rbtree之间的选择.mp4 [2.9 MB]
- 117--bdev与blob对于kv存储的选择.mp4 [2.9 MB]
16.TRex-iperf3-dpdk-pktgen(4节)4 集
- 114--流编排与自动化框架.mp4 [2.9 MB]
- 113--TRex的运行原理与dpdk的关系.mp4 [2.9 MB]
- 112--vcl与iperf3性能测试 客户端与服务器.mp4 [259.0 MB]
- 115--dpdk-pktgen命令讲解.mp4 [2.9 MB]
15.高性能4层负载均衡器 DPVS(6节)6 集
- 110--dpvs测试用例 ipset,tc,mempool.mp4 [2.9 MB]
- 109--通过quagga配置ospf.mp4 [2.9 MB]
- 108--dpvs的FNat NAT SNAT模式.mp4 [2.9 MB]
- 107--dpvs 与lvs+keepalived的关系.mp4 [2.9 MB]
- 106--dpvs的技术组件与功能实现.mp4 [2.9 MB]
- 111--dpvs的tc流控操作与源码实现.mp4 [2.9 MB]
14.spdk文件系统实现(7节)7 集
- 104--测试用例与调试入口函数.mp4 [568.9 MB]
- 103--基数树对文件系统内存管理.mp4 [857.2 MB]
- 101--从blob读写到文件系统的原语操作实现.mp4 [748.5 MB]
- 100--文件系统四层架构设计与构建git版本管理.mp4 [398.7 MB]
- 98--文件系统功能拆解与设计分析.mp4 [502.0 MB]
- 99--件系统引入线程与json配置解析.mp4 [527.1 MB]
- 102--syscall的hook实现.mp4 [683.4 MB]
13.tcp并发(5节)5 集
- 97--bpf与bpftrace应用程序ntyco的挂载监控.mp4 [200.8 MB]
- 93--tcp并发连接的设计.mp4 [266.4 MB]
- 96--bpf与bpftrace系统,网络挂载实现.mp4 [371.0 MB]
- 95--tcp并发协议栈与epoll的回调与并发测试.mp4 [175.1 MB]
- 94--tcp并发epoll的实现.mp4 [254.2 MB]
12.基础组件(5节)5 集
- 92--rcu的实现与互斥锁,自旋锁,读写锁.mp4 [381.8 MB]
- 91--dpdk-kni源码分析.mp4 [230.6 MB]
- 88--mempool与mbuf的源码分析讲解.mp4 [278.6 MB]
- 89--dpdk-ringbuffer源码分析.mp4 [187.1 MB]
- 90--dpdk-igb_uio源码分析.mp4 [375.7 MB]
11.virtio-vhost虚拟化(10节)10 集
- 87--vhost与virtio的总结.mp4 [260.0 MB]
- 84--gpa,gva,hva,hpa之间的关系.mp4 [423.1 MB]
- 83--virtio的setmem与vring的设置.mp4 [656.5 MB]
- 81--vhost与virtio通信与recvmsg的作用.mp4 [584.1 MB]
- 79--vhost与qemu通信协议实现.mp4 [420.3 MB]
- 78--virtio与vhost的工作原理.mp4 [427.0 MB]
- 80--vhost通信协议解析get feature.mp4 [565.0 MB]
- 85--ifreq的tap-tun创建.mp4 [715.2 MB]
- 86--vring的物理内存与虚拟内存映射.mp4 [700.2 MB]
- 82--virtio的前后端网卡与ifreq的作用.mp4 [758.1 MB]
10.DPDK的虚拟交换机框架 OvS(8节)8 集
- 77--ovs-openflow与json请求.mp4 [482.1 MB]
- 76--virsh启动虚拟网卡与ovs-vsctl操作的流程.mp4 [518.9 MB]
- 75--qemu-kvm多vm管理以及对应虚拟化技术.mp4 [289.1 MB]
- 74--ovs-vsctl的网桥,网口操作.mp4 [403.4 MB]
- 72--ovs编译安装,ovs核心组件内容.mp4 [238.0 MB]
- 71--cpu虚拟化到ntytcp的使用.mp4 [499.4 MB]
- 73--网络命名空间与vsctl的vlan划分.mp4 [206.7 MB]
- 70--硬件虚拟化,系统虚拟化,进程虚拟化.mp4 [464.6 MB]
09.高效磁盘io读写 spdk(C)(4节)4 集
- 69--fio ioengine模块开发与blobl操作.mp4 [616.3 MB]
- 68--fio ioengine plugin开发与性能对比.mp4 [515.3 MB]
- 67--blobstore的读写操作实现与rpc的关系.mp4 [475.2 MB]
- 66--bdev与blobstore的代码关系.mp4 [377.7 MB]
08.高效磁盘io读写 spdk(C)(5节)5 集
- 65--nvme与pcie以及手写nvme读写操作.mp4 [628.8 MB]
- 64--手把手实现spdk_server(2).mp4 [497.4 MB]
- 63--手把手实现spdk_server(1).mp4 [381.4 MB]
- 62--spdk环境与vhost,NVMe分析.mp4 [298.2 MB]
- 61--存储框架spdk,为技术栈打开一扇存储的大门.mp4 [532.0 MB]
07.golang的网络开发框架 nff-go(golang)(4节)4 集
- 60--ipsec协议解析与strongswan的ipsec.mp4 [350.7 MB]
- 59--nff-go收发数据与包解析显示.mp4 [196.9 MB]
- 57--nff-go的技术原理分析.mp4 [310.7 MB]
- 58--nff-go数据接收代码实现.mp4 [189.3 MB]
06.可扩展的矢量数据包处理框架VPP(cc++) 源码(8节)8 集
- 55--vcl与posx对比,与vcl分层模型.mp4 [302.8 MB]
- 53--vcl与posix对nginx,redis性能对比.mp4 [318.9 MB]
- 52--vpp结构体 vnet_main以及vpp内容总结.mp4 [212.5 MB]
- 51--vpp的结构体vlib_main.mp4 [365.3 MB]
- 50--vpp的运行流程 协程的实现,node的运行.mp4 [374.3 MB]
- 49--vpp启动load so,注册node,函数init.mp4 [476.9 MB]
- 56--vcl的session管理与fd.io文档.mp4 [319.9 MB]
- 54--vppcom实现tcpserver以及vcl配置.mp4 [379.2 MB]
05.可扩展的矢量数据包处理框架VPP(cc++) 实战(8节)8 集
- 47--vpp多网口数据接收与转发.mp4 [233.5 MB]
- 46--flowtable流程分析.mp4 [159.4 MB]
- 44--flowtable的get flowinfo实现.mp4 [286.6 MB]
- 43--flowtable的plugin的运行流程.mp4 [391.6 MB]
- 42--vpp源码-plugin流程.mp4 [522.7 MB]
- 41--vpp环境部署与vpp命令讲解.mp4 [465.2 MB]
- 45--flowtable的loadbalancer的框架.mp4 [286.6 MB]
- 48--解决plugin编译加载失败.mp4 [119.4 MB]
04.dpdk基础组件(10节)10 集
- 37--dpdk ddos熵计算代码实现.mp4 [196.6 MB]
- 36--基于熵的ddos检测的数学理论.mp4 [295.5 MB]
- 35--dpdk dns处理流程(2).mp4 [468.1 MB]
- 34--dpdk dns处理流程(1).mp4 [472.6 MB]
- 31--kni抓包调试tcpdump.mp4 [121.0 MB]
- 32--dpdk kni mempool错误与内存泄漏.mp4 [167.1 MB]
- 39--ddos attack 测试工具hping3.mp4 [75.6 MB]
- 33--DPDK的kni内核处理流程(补).mp4 [2.0 GB]
- 38--dpdk ddos attach检测准确度调试.mp4 [69.6 MB]
- 40--dpdk 布谷鸟hash原理与使用.mp4 [393.2 MB]
03.dpd网络协议栈之tcp的实现(10节)10 集
- 30--重构网络协议分发的流程.mp4 [357.2 MB]
- 29--dpdk kni的原理与kni启动.mp4 [357.2 MB]
- 28--tcp协议栈调试之ringbuffer内存错误..mp4 [258.8 MB]
- 27--tcp协议栈调试之段错误与逻辑流程.mp4 [303.2 MB]
- 25--tcp协议api实现之send,recv的实现.mp4 [240.7 MB]
- 24--tcp协议api实现之accept的实现.mp4 [289.9 MB]
- 23--tcp协议api实现之bind,listen的实现.mp4 [323.4 MB]
- 22--tcp数据传输之ack与seqnum代码实现.mp4 [93.3 MB]
- 21--tcp数据传输之ack与seqnum的确认实现.mp4 [338.4 MB]
- 26--tcp协议api实现之close的实现.mp4 [253.2 MB]
02.dpdk网络协议栈之udptcp的实现(10节)10 集
- 20--tcp三次握手实现之dpdk代码调试.mp4 [215.0 MB]
- 18--tcp 三次握手实现之dpdk tcp流程架构设计.mp4 [367.7 MB]
- 17--udp实现之架构设计与调试.mp4 [350.4 MB]
- 15--udp实现之sbuf与rbuf的环形队列.mp4 [385.8 MB]
- 14--udp实现之udp系统api的设计.mp4 [180.7 MB]
- 13--协议栈架构设计优化.mp4 [474.9 MB]
- 11--arp request实现.mp4 [334.8 MB]
- 16--udp实现之发送流程与并发解耦.mp4 [378.4 MB]
- 19--tcp三次握手实现之dpdk tcp11个状态实现.mp4 [474.4 MB]
- 12--arp 调试流程.mp4 [99.5 MB]
01.dpdk网络协议栈之arpicmp的实现(10节)11 集
- 9--dpdk-icmp流程调试与checksum实现.mp4 [77.7 MB]
- 8--dpdk-icmp实现.mp4 [303.1 MB]
- 7--arp 调试流程.mp4 [105.0 MB]
- 4--dpdk发送过程的实现.mp4 [468.2 MB]
- 3--dpdk网卡绑定与arp.mp4 [499.0 MB]
- 5--dpdk发送过程调试.mp4 [152.2 MB]
- 10--arp-table的实现.mp4 [374.7 MB]
- 1--课程学习路线与大纲内容.mp4 [208.2 MB]
- 2--dpdk环境搭建与多队列网卡.mp4 [531.9 MB]
- 6--dpdk-arp实现.mp4 [288.5 MB]
- 资料.exe [78.8 MB]


![大疆维修,无人机维修教程[66.30GB]](/api/uploads/b6a69810-862f-479c-a529-d66880073ebc.jpg)


