课程介绍
本课程深入剖析 DPDK(Data Plane Development Kit) 的网络协议栈实现,系统讲解从 ARP、ICMP 到 TCP/UDP 的全流程开发与优化调试。课程内容涵盖 协议栈架构设计、内存管理、数据包处理、并发优化 等多个关键技术领域,并结合 实际案例和源码分析,带领学员掌握高性能网络编程的核心技能。
课程亮点:
DPDK核心技术:详解 ARP、ICMP、UDP、TCP 实现过程,包括数据包收发、checksum计算、三次握手等关键环节。
性能优化与调试:通过多队列网卡、环形缓冲区、零拷贝技术等提升网络吞吐量,掌握协议栈调试方法。
高性能组件剖析:深入解析 VPP(矢量数据包处理)、SPDK(高效磁盘IO)、DPVS(四层负载均衡) 等关键模块。
虚拟化与分布式:学习 virtio-vhost、OVS(DPDK虚拟交换机)、TRex-iperf3 等高性能网络技术。
面向实战的案例讲解:结合真实应用场景,涵盖 DDOS检测、流量调度、负载均衡、KV存储 等高阶应用。
课程章节目录
01.dpdk网络协议栈之arpicmp的实现(10节)
02.dpdk网络协议栈之udptcp的实现(10节)
03.dpd网络协议栈之tcp的实现(10节)
04.dpdk基础组件(10节)
05.可扩展的矢量数据包处理框架VPP(cc++) 实战(8节)
06.可扩展的矢量数据包处理框架VPP(cc++) 源码(8节)
07.golang的网络开发框架 nff-go(golang)(4节)
08.高效磁盘io读写 spdk(C)(5节)
09.高效磁盘io读写 spdk(C)(4节)
10.DPDK的虚拟交换机框架 OvS(8节)
11.virtio-vhost虚拟化(10节)
12.基础组件(5节)
13.tcp并发(5节)
14.spdk文件系统实现(7节)
15.高性能4层负载均衡器 DPVS(6节)
16.TRex-iperf3-dpdk-pktgen(4节)
17.spdk kv存储的实现(8节)
资料
课程详细目录
(1)\01.dpdk网络协议栈之arpicmp的实现(10节);目录中文件数:10个
├─1–课程学习路线与大纲内容.mp4
├─10–arp-table的实现.mp4
├─2–dpdk环境搭建与多队列网卡.mp4
├─3–dpdk网卡绑定与arp.mp4
├─4–dpdk发送过程的实现.mp4
├─5–dpdk发送过程调试.mp4
├─6–dpdk-arp实现.mp4
├─7–arp 调试流程.mp4
├─8–dpdk-icmp实现.mp4
├─9–dpdk-icmp流程调试与checksum实现.mp4
(2)\02.dpdk网络协议栈之udptcp的实现(10节);目录中文件数:10个
├─11–arp request实现.mp4
├─12–arp 调试流程.mp4
├─13–协议栈架构设计优化.mp4
├─14–udp实现之udp系统api的设计.mp4
├─15–udp实现之sbuf与rbuf的环形队列.mp4
├─16–udp实现之发送流程与并发解耦.mp4
├─17–udp实现之架构设计与调试.mp4
├─18–tcp 三次握手实现之dpdk tcp流程架构设计.mp4
├─19–tcp三次握手实现之dpdk tcp11个状态实现.mp4
├─20–tcp三次握手实现之dpdk代码调试.mp4
(3)\03.dpd网络协议栈之tcp的实现(10节);目录中文件数:10个
├─21–tcp数据传输之ack与seqnum的确认实现.mp4
├─22–tcp数据传输之ack与seqnum代码实现.mp4
├─23–tcp协议api实现之bind,listen的实现.mp4
├─24–tcp协议api实现之accept的实现.mp4
├─25–tcp协议api实现之send,recv的实现.mp4
├─26–tcp协议api实现之close的实现.mp4
├─27–tcp协议栈调试之段错误与逻辑流程.mp4
├─28–tcp协议栈调试之ringbuffer内存错误..mp4
├─29–dpdk kni的原理与kni启动.mp4
├─30–重构网络协议分发的流程.mp4
(4)\04.dpdk基础组件(10节);目录中文件数:10个
├─31–kni抓包调试tcpdump.mp4
├─32–dpdk kni mempool错误与内存泄漏.mp4
├─33–DPDK的kni内核处理流程(补).mp4
├─34–dpdk dns处理流程(1).mp4
├─35–dpdk dns处理流程(2).mp4
├─36–基于熵的ddos检测的数学理论.mp4
├─37–dpdk ddos熵计算代码实现.mp4
├─38–dpdk ddos attach检测准确度调试.mp4
├─39–ddos attack 测试工具hping3.mp4
├─40–dpdk 布谷鸟hash原理与使用.mp4
(5)\05.可扩展的矢量数据包处理框架VPP(cc++) 实战(8节);目录中文件数:8个
├─41–vpp环境部署与vpp命令讲解.mp4
├─42–vpp源码-plugin流程.mp4
├─43–flowtable的plugin的运行流程.mp4
├─44–flowtable的get flowinfo实现.mp4
├─45–flowtable的loadbalancer的框架.mp4
├─46–flowtable流程分析.mp4
├─47–vpp多网口数据接收与转发.mp4
├─48–解决plugin编译加载失败.mp4
(6)\06.可扩展的矢量数据包处理框架VPP(cc++) 源码(8节);目录中文件数:8个
├─49–vpp启动load so,注册node,函数init.mp4
├─50–vpp的运行流程 协程的实现,node的运行.mp4
├─51–vpp的结构体vlib_main.mp4
├─52–vpp结构体 vnet_main以及vpp内容总结.mp4
├─53–vcl与posix对nginx,redis性能对比.mp4
├─54–vppcom实现tcpserver以及vcl配置.mp4
├─55–vcl与posx对比,与vcl分层模型.mp4
├─56–vcl的session管理与fd.io文档.mp4
(7)\07.golang的网络开发框架 nff-go(golang)(4节);目录中文件数:4个
├─57–nff-go的技术原理分析.mp4
├─58–nff-go数据接收代码实现.mp4
├─59–nff-go收发数据与包解析显示.mp4
├─60–ipsec协议解析与strongswan的ipsec.mp4
(8)\08.高效磁盘io读写 spdk(C)(5节);目录中文件数:5个
├─61–存储框架spdk,为技术栈打开一扇存储的大门.mp4
├─62–spdk环境与vhost,NVMe分析.mp4
├─63–手把手实现spdk_server(1).mp4
├─64–手把手实现spdk_server(2).mp4
├─65–nvme与pcie以及手写nvme读写操作.mp4
(9)\09.高效磁盘io读写 spdk(C)(4节);目录中文件数:4个
├─66–bdev与blobstore的代码关系.mp4
├─67–blobstore的读写操作实现与rpc的关系.mp4
├─68–fio ioengine plugin开发与性能对比.mp4
├─69–fio ioengine模块开发与blobl操作.mp4
(10)\10.DPDK的虚拟交换机框架 OvS(8节);目录中文件数:8个
├─70–硬件虚拟化,系统虚拟化,进程虚拟化.mp4
├─71–cpu虚拟化到ntytcp的使用.mp4
├─72–ovs编译安装,ovs核心组件内容.mp4
├─73–网络命名空间与vsctl的vlan划分.mp4
├─74–ovs-vsctl的网桥,网口操作.mp4
├─75–qemu-kvm多vm管理以及对应虚拟化技术.mp4
├─76–virsh启动虚拟网卡与ovs-vsctl操作的流程.mp4
├─77–ovs-openflow与json请求.mp4
(11)\11.virtio-vhost虚拟化(10节);目录中文件数:10个
├─78–virtio与vhost的工作原理.mp4
├─79–vhost与qemu通信协议实现.mp4
├─80–vhost通信协议解析get feature.mp4
├─81–vhost与virtio通信与recvmsg的作用.mp4
├─82–virtio的前后端网卡与ifreq的作用.mp4
├─83–virtio的setmem与vring的设置.mp4
├─84–gpa,gva,hva,hpa之间的关系.mp4
├─85–ifreq的tap-tun创建.mp4
├─86–vring的物理内存与虚拟内存映射.mp4
├─87–vhost与virtio的总结.mp4
(12)\12.基础组件(5节);目录中文件数:5个
├─88–mempool与mbuf的源码分析讲解.mp4
├─89–dpdk-ringbuffer源码分析.mp4
├─90–dpdk-igb_uio源码分析.mp4
├─91–dpdk-kni源码分析.mp4
├─92–rcu的实现与互斥锁,自旋锁,读写锁.mp4
(13)\13.tcp并发(5节);目录中文件数:5个
├─93–tcp并发连接的设计.mp4
├─94–tcp并发epoll的实现.mp4
├─95–tcp并发协议栈与epoll的回调与并发测试.mp4
├─96–bpf与bpftrace系统,网络挂载实现.mp4
├─97–bpf与bpftrace应用程序ntyco的挂载监控.mp4
(14)\14.spdk文件系统实现(7节);目录中文件数:7个
├─100–文件系统四层架构设计与构建git版本管理.mp4
├─101–从blob读写到文件系统的原语操作实现.mp4
├─102–syscall的hook实现.mp4
├─103–基数树对文件系统内存管理.mp4
├─104–测试用例与调试入口函数.mp4
├─98–文件系统功能拆解与设计分析.mp4
├─99–件系统引入线程与json配置解析.mp4
(15)\15.高性能4层负载均衡器 DPVS(6节);目录中文件数:6个
├─106–dpvs的技术组件与功能实现.mp4
├─107–dpvs 与lvs+keepalived的关系.mp4
├─108–dpvs的FNat NAT SNAT模式.mp4
├─109–通过quagga配置ospf.mp4
├─110–dpvs测试用例 ipset,tc,mempool.mp4
├─111–dpvs的tc流控操作与源码实现.mp4
(16)\16.TRex-iperf3-dpdk-pktgen(4节);目录中文件数:4个
├─112–vcl与iperf3性能测试 客户端与服务器.mp4
├─113–TRex的运行原理与dpdk的关系.mp4
├─114–流编排与自动化框架.mp4
├─115–dpdk-pktgen命令讲解.mp4
(17)\17.spdk kv存储的实现(8节);目录中文件数:8个
├─116–KV存储拆解 Set, Get, Mod, Del.mp4
├─117–bdev与blob对于kv存储的选择.mp4
├─118–kv service接口 set,get,modify,delete.mp4
├─119–pagechunk的get与put.mp4
├─120–btree hashmap radixtree rbtree之间的选择.mp4
├─121–slab分配slot与释放slot.mp4
├─122–为kv存储加上conf文件.mp4
├─123–kv存储测试用例与性能测试.mp4
(18)\资料;目录中文件数:9个
├─conext14_cuckoofilter.pdf
├─Cuckoo HashingCuckoo Hashing.pdf
├─DPDK Kni与协议栈.pdf
├─DPDK高性能处理框架VPP.pdf
├─Linux内核编译与升级.pdf
├─netassist.rar
├─VMWare+ubuntu+DPDK环境搭建.pdf
├─为什么要参加技术写作计划.pdf
├─虚拟化难于理解的概念.pdf
(19)\资料\dpdk paper;目录中文件数:30个
├─An Entropy-Based DDoS Defense Mechanism.pdf
├─DDoS Attack Detection Algorithms Based on.pdf
├─Entropy based Anomaly Detection System to Prevent DDoS Attacks in Cloud.pdf
├─《(Intel DPDK) with VMware vSphere》.pdf
├─《A new model for DPDK-based virtual switches》.pdf
├─《A Simpler and Faster NIC Driver Model for Network Functions》.pdf
├─《Accretion of Suricta with DPDK for Traffic Monitoring using Optimized Detection System IDSIPS》.pdf
├─《Assessing Soft- and Hardware Bottlenecks in PC-based Packet Forwarding Systems》.pdf
├─《BMC Accelerating Memcached using Safe In-kernel Caching and Pre-stack Processing》.pdf
├─《FlowMon-DPDK Parsimonious per-flow software monitoring at line rate》.pdf
├─《Implementing and Comparing Static and Machine-Learning Scheduling Approaches using DPDK on an Integrated CPUGPU》.pdf
├─《Intel® DPDK Boosts Server Appliance Performance》.pdf
├─《Latency optimization and analysis through the use of a high-speed packet IO framework for high-bandwidth data processing》.pdf
├─《Leveraging Programmable Dataplanes for a High Performance 5G User Plane Function》.pdf
├─《Mellanox DPDK Quick Start Guide》.pdf
├─《Metronome adaptive and precise intermittent packet retrieval in DPDK》.pdf
├─《NDN-DPDK NDN Forwarding at 100 Gbps on Commodity Hardware》.pdf
├─《NetVM High Performance and Flexible Networking using Virtualization on Commodity Platforms》.pdf
├─《Network Function Virtualization Using Data Plane Developer’s Kit》.pdf
├─《Network Functions Virtualisation》.pdf
├─《Performance Contracts for Software Network Functions》.pdf
├─《Performance optimization of Snort based on DPDK and Hyperscan》.pdf
├─《Re-architecting Congestion Management in Lossless Ethernet》.pdf
├─《RedLeaf Isolation and Communication in a Safe Operating System》.pdf
├─《SoftNIC A Software NIC to Augment Hardware》.pdf
├─《StackMap Low-Latency Networking with the OS Stack and Dedicated NICs》.pdf
├─《Stateless Network Functions Breaking the Tight Coupling of State and Processing》.pdf
├─《The Path to DPDK Speeds for AF XDP》.pdf
├─《Towards including batch services in models for DPDK-based virtual switches》.pdf
├─《Virtual Switch Acceleration with OVS-TC and Agilio 40GbE SmartNICs》.pdf
(20)\资料\dpdk 企业应用;目录中文件数:7个
├─jun-liang-基于DPDK实现的LB支撑阿里巴巴双11业务——DPDKSummit2018.pdf
├─NFV实验平台的技术方案及搭建过程介绍.pdf
├─中兴通讯高性能5G核心网UPF实现.pdf
├─中国电信DPDK技术白皮书v1.0.pdf
├─打破DPDK的误区: 数据面最流行的工具包DPDK的前世,现在和未来.pdf
├─爱奇艺DPDK网络优化实践.pdf
├─面向网络功能虚拟化的高性能负载均衡机制.pdf
(21)\资料\dpdk官方文档;目录中文件数:14个
├─《DPDK Cookbook – Intel® Developer Zone》.pdf
├─《DPDK for FreeBSD入门》.pdf
├─《DPDK for Linux入门》.pdf
├─《DPDK Testpmd 应用》.pdf
├─《DPDK 中的 NIC 驱动程序》.pdf
├─《DPDK 示例应用》.pdf
├─《Fastpass:集中的“零队列”数据中心网络(英文)》.pdf
├─《Intel(R) DPDK vSwitch Getting Started Guide》.pdf
├─《发布说明:数据平面开发套件》.pdf
├─《含 XEN 的 DPDK》.pdf
├─《在英特尔® 处理器上启用卓越的 Galois-Counter 模式》.pdf
├─《多 Gbps 的流管理:经验教训(英文)》.pdf
├─《程序员指南:数据平面开发套件》.pdf
├─《采用 CUCKOOSWITCH 的可扩展、高性能以太网转发(英文)》.pdf
(22)\资料\dpdk环境;目录中文件数:2个
├─dpdk虚拟机环境下载.txt
├─VMWare+ubuntu+DPDK环境搭建.pdf
(23)\资料\MobileFile;目录中文件数:0个
(24)\资料\网络rfc;目录中文件数:3个
├─arp-rfc826.txt.pdf
├─icmp-rfc792.txt.pdf
├─rfc6928.txt.pdf
(25)\资料\课程代码;目录中文件数:14个
├─01_recv.zip
├─02_send.zip
├─03_arp.zip
├─04_icmp.zip
├─05_arptable.zip
├─06_netarch.zip
├─07_udp.zip
├─08_tcp.zip
├─09_tcp_transmission.zip
├─10_tcp_api.zip
├─11_kni.zip
├─12_ddos.zip
├─13_hash.zip
├─vpp_plugin.zip
(26)\资料\MobileFile\Image
(27)\资料\MobileFile\mpFile
(28)\资料\MobileFile\thumb
请先
!