课程简介:精通零声DPDK、网络协议栈、VPP、OVS、DDoS防护、SDN、NFV与虚拟化 —— 高性能专家进阶之路
在当今数字化转型加速的时代,网络技术的飞速发展对高性能、高可靠性的网络解决方案提出了前所未有的需求。为了培养具备前沿技术视野和实战能力的网络高性能专家,我们精心打造了“精通零声DPDK、网络协议栈、VPP、OVS、DDoS防护、SDN、NFV与虚拟化 —— 高性能专家进阶之路”课程。本课程旨在通过系统化的学习与实战演练,引领学员深入掌握网络领域的核心技术,为未来的职业发展奠定坚实的基础。
课程亮点:
- 全面覆盖核心技术:课程从基础的零声DPDK框架讲起,逐步深入到网络协议栈的解析、VPP(Vector Packet Processing)加速技术、OVS(Open vSwitch)虚拟化交换机、DDoS防护策略、SDN(软件定义网络)、NFV(网络功能虚拟化)以及虚拟化技术等关键领域,确保学员能够全面掌握网络高性能技术的核心要点。
- 实战导向的教学模式:课程注重理论与实践相结合,通过大量的实战案例和动手实验,帮助学员将所学知识转化为实际技能。学员将在模拟的真实环境中操作、调试和优化网络系统,提升解决实际问题的能力。
- 行业前沿动态追踪:课程紧跟网络技术的发展趋势,及时引入最新的研究成果和技术动态。学员将了解到最新的技术趋势、行业标准以及未来可能的发展方向,为职业生涯的持续成长奠定坚实的基础。
- 资深专家授课:课程由拥有多年网络高性能技术研究和实战经验的资深专家亲自授课。他们将结合自身的经验和教训,为学员提供宝贵的建议和指导,帮助学员少走弯路、快速成长。
学习收获:
- 深入理解零声DPDK、网络协议栈、VPP、OVS等核心技术的工作原理和实现方式。
- 掌握DDoS防护策略、SDN和NFV的架构设计与部署方法。
- 熟练运用虚拟化技术构建高性能、高可靠性的网络系统。
- 具备解决实际网络问题的能力,能够独立完成网络系统的优化和升级。
- 拓宽职业视野,了解行业前沿动态和发展趋势,为未来的职业发展做好准备。
无论您是网络技术人员希望提升自己的技能水平,还是希望在网络高性能领域有所建树的初学者,本课程都将是您不可多得的学习资源。立即加入我们的行列,开启您的高性能专家进阶之路吧!
为了使课程文件目录更加清晰易读,我们可以按照主题分类并适当调整文件名以保持一致性和连贯性。下面是优化后的课程文件目录:
V-4795: 零声DPDK网络存储虚拟化开发 [39.02G]
01. DPDK 网络协议栈 – ARP/ICMP (10节)
- 课程学习路线与大纲内容
- DPDK 环境搭建与多队列网卡
- DPDK 网卡绑定与 ARP 实现
- DPDK 发送过程实现
- DPDK 发送过程调试
- DPDK-ARP 实现
- ARP 调试流程
- DPDK-ICMP 实现
- DPDK-ICMP 流程调试与校验和实现
- ARP 表实现
02. DPDK 网络协议栈 – UDP/TCP (10节)
- ARP 请求实现
- ARP 调试流程
- 协议栈架构设计优化
- UDP 实现 – 系统 API 设计
- UDP 实现 – 环形队列 sbuf 与 rbuf
- UDP 实现 – 发送流程与并发解耦
- UDP 实现 – 架构设计与调试
- TCP 三次握手实现 – 架构设计
- TCP 三次握手实现 – 11 个状态实现
- TCP 三次握手实现 – 代码调试
03. DPDK 网络协议栈 – TCP 进阶 (10节)
- TCP 数据传输 – ACK 与 SEQNUM 确认实现
- TCP 数据传输 – ACK 与 SEQNUM 代码实现
- TCP 协议 API 实现 – bind, listen
- TCP 协议 API 实现 – accept
- TCP 协议 API 实现 – send, recv
- TCP 协议 API 实现 – close
- TCP 协议栈调试 – 段错误与逻辑流程
- TCP 协议栈调试 – RingBuffer 内存错误
- DPDK KNI 原理与启动
- 网络协议分发流程重构
04. DPDK 基础组件 (10节)
- KNI 抓包调试 tcpdump
- DPDK KNI mempool 错误与内存泄漏
- DPDK KNI 内核处理流程
- DPDK DNS 处理流程 (1)
- DPDK DNS 处理流程 (2)
- 基于熵的 DDoS 检测数学理论
- DPDK DDoS 熵计算代码实现
- DPDK DDoS 检测准确度调试
- DDoS 攻击测试工具 hping3
- DPDK 布谷鸟哈希原理与使用
05. 可扩展的矢量数据包处理框架 VPP (C/C++) 实战 (8节)
- VPP 环境部署与命令讲解
- VPP 源码 – plugin 流程
- FlowTable plugin 运行流程
- FlowTable 获取 FlowInfo 实现
- FlowTable LoadBalancer 框架
- FlowTable 流程分析
- VPP 多网口数据接收与转发
- 解决 plugin 编译加载失败
06. 可扩展的矢量数据包处理框架 VPP (C/C++) 源码 (8节)
- VPP 启动 – 加载 SO,注册 Node,初始化
- VPP 运行流程 – 协程实现,Node 运行
- VPP 结构体 vlib_main
- VPP 结构体 vnet_main 与内容总结
- VCL 与 POSIX 对比 nginx,Redis 性能
- VPPCom 实现 TCP Server 与 VCL 配置
- VCL 与 POSIX 对比与 VCL 分层模型
- VCL Session 管理与 fd.io 文档
07. Golang 网络开发框架 NFF-GO (Golang) (4节)
- NFF-GO 技术原理分析
- NFF-GO 数据接收代码实现
- NFF-GO 收发数据与包解析显示
- IPSec 协议解析与 strongSwan 的 IPsec
08. 高效磁盘 I/O 读写 SPDK (C) (5节)
- SPDK 存储框架 – 技术栈介绍
- SPDK 环境与 vhost,NVMe 分析
- 手把手实现 SPDK Server (1)
- 手把手实现 SPDK Server (2)
- NVMe 与 PCIe 以及手写 NVMe 读写操作
09. 高效磁盘 I/O 读写 SPDK (C) (4节)
- Bdev 与 BlobStore 代码关系
- BlobStore 读写操作实现与 RPC 关系
- FIO IOEngine Plugin 开发与性能对比
- FIO IOEngine 模块开发与 Blob 操作
10. DPDK 虚拟交换机框架 OVS (8节)
- 硬件虚拟化、系统虚拟化、进程虚拟化
- CPU 虚拟化到 ntytcp 使用
- OVS 编译安装与核心组件
- 网络命名空间与 vsctl 的 VLAN 划分
- ovs-vsctl 的网桥与网口操作
- QEMU-KVM 多 VM 管理与虚拟化技术
- virsh 启动虚拟网卡与 ovs-vsctl 操作流程
- OVS OpenFlow 与 JSON 请求
11. Virtio-Vhost 虚拟化 (10节)
- Virtio 与 Vhost 工作原理
- Vhost 与 QEMU 通信协议实现
- Vhost 通信协议解析 – GET Feature
- Vhost 与 Virtio 通信与 recvmsg 作用
- Virtio 的前后端网卡与 ifreq 作用
- Virtio 的 setmem 与 vring 设置
- GPA, GVA, HVA, HPA 之间的关系
- ifreq 的 tap-tun 创建
- vring 的物理内存与虚拟内存映射
- Vhost 与 Virtio 总结
12. DPDK 基础组件 (5节)
- Mempool 与 Mbuf 源码分析
- DPDK RingBuffer 源码分析
- DPDK igb_uio 源码分析
- DPDK KNI 源码分析
- RCU 实现与互斥锁、自旋锁、读写锁
13. TCP 并发 (5节)
- TCP 并发连接设计
- TCP 并发 epoll 实现
- TCP 并发协议栈与 epoll 回调与并发测试
- BPF 与 BPFTrace 系统、网络挂载实现
- BPF 与 BPFTrace 应用程序 ntyco 的挂载监控
14. SPDK 文件系统实现 (7节)
- 文件系统功能拆解与设计分析
- 文件系统引入线程与 JSON 配置解析
- 文件系统四层架构设计与构建 Git 版本管理
- 从 Blob 读写到文件系统的原语操作实现
- Syscall 的 hook 实现
- 基数树对文件系统内存管理
- 测试用例与调试入口函数
15. 高性能 4 层负载均衡器 DPVS (6节)
- DPVS 技术组件与功能实现
- DPVS 与 LVS + Keepalived 的关系
- DPVS 的 FNAT NAT SNAT 模式
- 通过 Quagga 配置 OSPF
- DPVS 测试用例 – IPSet, TC, Mempool
- DPVS 的 TC 流控操作与源码实现
16. TREX – Iperf3 – DPDK-PktGen (4节)
- VCL 与 Iperf3 性能测试 – 客户端与服务器
- TREX 运行原理与 DPDK 的关系
- 流编排与自动化框架
- DPDK-PktGen 命令讲解
17. SPDK KV 存储实现 (8节)
- KV 存储拆解 – SET, GET, MOD, DEL
- Bdev 与 Blob 对于 KV 存储的选择
- KV Service 接口 – SET, GET, MODIFY, DELETE
- PageChunk 的 GET 与 PUT
- BTree Hashmap RadixTree RBTree 之间的选择
- Slab 分配 Slot 与释放 Slot
- 为 KV 存储加上 Conf 文件
- KV 存储测试用例与性能测试
资料
DPDK 相关论文
- 《(Intel DPDK) with VMware vSphere》
- 《A New Model for DPDK-Based Virtual Switches》
- 《A Simpler and Faster NIC Driver Model for Network Functions》
- 《Accretion of Suricata with DPDK for Traffic Monitoring Using Optimized Detection System IDSIPS》
- 《Assessing Soft- and Hardware Bottlenecks in PC-Based Packet Forwarding Systems》
- 《BMC Accelerating Memcached Using Safe In-Kernel Caching and Pre-Stack Processing》
- 《FlowMon-DPDK Parsimonious Per-Flow Software Monitoring at Line Rate》
- 《Implementing and Comparing Static and Machine-Learning Scheduling Approaches Using DPDK on an Integrated CPU/GPU》
- 《Intel® DPDK Boosts Server Appliance Performance》
- 《Latency Optimization and Analysis Through the Use of a High-Speed Packet IO Framework for High-Bandwidth Data Processing》
- 《Leveraging Programmable Dataplanes for a High Performance 5G User Plane Function》
- 《Mellanox DPDK Quick Start Guide》
- 《Metronome Adaptive and Precise Intermittent Packet Retrieval in DPDK》
- 《NDN-DPDK NDN Forwarding at 100 Gbps on Commodity Hardware》
- 《NetVM High Performance and Flexible Networking Using Virtualization on Commodity Platforms》
- 《Network Function Virtualization Using Data Plane Developer’s Kit》
- 《Network Functions Virtualisation》
- 《Performance Contracts for Software Network Functions》
- 《Performance Optimization of Snort Based on DPDK and Hyperscan》
- 《Re-Architecting Congestion Management in Lossless Ethernet》
- 《RedLeaf Isolation and Communication in a Safe Operating System》
- 《SoftNIC A Software NIC to Augment Hardware》
- 《StackMap Low-Latency Networking with the OS Stack and Dedicated NICs》
- 《Stateless Network Functions Breaking the Tight Coupling of State and Processing》
- 《The Path to DPDK Speeds for AF XDP》
- 《Towards Including Batch Services in Models for DPDK-Based Virtual Switches》
- 《Virtual Switch Acceleration with OVS-TC and Agilio 40GbE SmartNICs》
- 更多相关论文…
DPDK 企业应用
- 《基于 DPDK 实现的 LB 支撑阿里巴巴双 11 业务 —— DPDK Summit 2018》
- 《NFV 实验平台的技术方案及搭建过程介绍》
- 《爱奇艺 DPDK 网络优化实践》
- 《打破 DPDK 的误区:数据面最流行的工具包 DPDK 的前世,现在和未来》
- 《面向网络功能虚拟化的高性能负载均衡机制》
- 《中国电信 DPDK 技术白皮书 v1.0》
- 《中兴通讯高性能 5G 核心网 UPF 实现》
- 更多企业应用案例…
DPDK 官方文档
- 《DPDK Cookbook – Intel® Developer Zone》
- 《DPDK for FreeBSD 入门》
- 《DPDK for Linux 入门》
- 《DPDK TestPMD 应用》
- 《DPDK 示例应用》
- 《DPDK 中的 NIC 驱动程序》
- 《FastPass:集中的“零队列”数据中心网络》
- 《Intel(R) DPDK VSwitch Getting Started Guide》
- 《采用 CuckooSwitch 的可扩展、高性能以太网转发》
- 《程序员指南:数据平面开发套件》
- 《多 Gbps 的流管理:经验教训》
- 《发布说明:数据平面开发套件》
- 《含 Xen 的 DPDK》
- 《在英特尔® 处理器上启用卓越的 Galois-Counter 模式》
- 更多官方文档…
DPDK 环境
- DPDK 虚拟机环境下载
- VMware + Ubuntu + DPDK 环境搭建
课程代码
- 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
网络 RFC
- ARP-RFC826.txt.pdf
- ICMP-RFC792.txt.pdf
- RFC6928.txt.pdf
- Conext14 Cuckoo Filter.pdf
- Cuckoo Hashing.pdf
- 更多相关 RFC 文档…
其他资源
- DPDK KNI 与协议栈.pdf
- DPDK 高性能处理框架 VPP.pdf
- Linux 内核编译与升级.pdf
- NetAssist.rar
- 为什么要参加技术写作计划.pdf
- 虚拟化难于理解的概念.pdf
这个目录按照主题进行了分类,并且每项内容都有了更明确的标题,便于查找和理解。如果还有其他特定的需求或者想要进一步的细化,请告诉我。
THE END