这是一份关于高性能网络与存储开发的深度技术导读。

DPDK(Data Plane Development Kit)早已不是简单的驱动优化工具,而是构建云原生底层设施的核心引擎。这门课解决的,是传统网络协议栈在应对百万级并发连接或微秒级延迟要求时的瓶颈问题。它不仅仅教你怎么写代码,更教你如何理解从底层内存管理到上层负载均衡、文件系统乃至TCP并发处理的完整链路。对于正在向NFV(网络功能虚拟化)或SDN(软件定义网络)方向转型的工程师,这是理解高性能基础设施的关键一环。

**适合人群与基础门槛**
这门课的内容密度极大,不适合零基础的初学者。你需要具备扎实的C语言功底,深刻理解Linux内核结构,熟悉系统编程,并对网络协议(TCP/IP)有实操经验。如果你连epoll或Socket编程都还需要查文档,建议先补齐Linux系统编程基础。这门课更像是一个“专家之路”的训练,假设你已经是一个能够独立阅读和分析内核或复杂底层源码的后端或基础设施工程师。

**学习路径与核心模块**
建议的学习顺序是从“基础组件”切入,再深入“具体实现”,最后接触“测试与调优”。
首先,重点攻克基础组件部分。这里涉及RCU(读-复制-更新)机制、互斥锁、自旋锁以及MemPool和Mbuf的源码分析。这些是高性能编程的基石,理解了无锁或低锁竞争的设计思想,后续所有模块都会顺理成章。不要跳过DPDK-Ringbuffer和KNI源码分析,它们是你理解数据如何在用户态和内核态之间高效流动的关键。
其次,进入核心应用层。TCP并发部分讲解了epoll的实现与并发测试,结合BPF/eBPF监控系统挂载,展示了现代高性能服务的可观测性设计。接下来是SPDK模块,包括KV存储实现和文件系统构建。这部分展示了如何绕过操作系统内核,直接操作硬件块设备(NVMe),实现微秒级延迟的存储访问。你需要理解BTree、HashMap、RadixTree等数据结构在高性能场景下的选型逻辑。
最后,看负载均衡与测试工具。DPVS作为高性能四层负载均衡器,其FNAT、NAT模式及与Quagga(OSPF配置)的配合,是网络运维必备。TRex、iperf3和dpdk-pktgen则是你验证性能指标的“标尺”,流编排与自动化框架能让你建立科学的测试闭环。

**学完后的能力与资料配合**
学完这套内容,你将具备独立开发高性能网络网关、定制分布式KV存储引擎以及构建低延迟文件系统的能力。你不再是调用现成库的“黑盒用户”,而是能深入源码修改行为、解决死锁、优化内存分配策略的底层开发者。
资料包中的视频是讲解核心逻辑的“地图”,但实战必须依赖你自己搭建的测试环境。建议配合源码,在虚拟机或裸机环境中复现文中的MemPool配置、SPDK绑定步骤以及DPVS的HA高可用部署。不要只看视频,必须动手敲出Set/Get接口,跑通iperf3压测,直到你能解释为什么某次修改导致延迟飙升。这种“看-写-测-调”的闭环,才是消化这些硬核知识唯一的方式。

课程目录

📁 17.spdk kv存储的实现(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节) 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节) 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节) 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节) 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节) 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节) 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节) 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节) 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节) 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节) 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节) 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节) 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节) 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节) 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节) 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节) 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]