dpdk/spdk/网络协议栈/存储/网关开发/网络安全/虚拟化/ 0vS/TRex/dpvs技术专家成长体系教程

课程围绕安全,网络,存储,云原生4个维度去讲解核心技术点。

6个专栏组成:dpdk网络专栏、存储技术专栏、安全与网关开发专栏、虚拟化与云原生专栏、测试工具专栏、性能测试专栏

一、dpdk网络

dpdk基础知识

  • 多队列网卡,vmxnet/e1000
  • igb_uio 与 vfio 模块
  • kni 模块
  • hugepage 的理解
  • 零拷贝
  • dpdk 与netmap 区别
  • dpdk 的工作环境

网络协议栈

  • dpdk-arp .
  • netsh 静态 arp 表设置
  • dpdk-icmp
  • dpdk-udp
  • udp 协议格式分析
  • udp 协议 sendto,recvfrom 实现
  • dpdk-ip .
  • dpdk-tcp
  • tcp 协议栈 bind,listen,accept 实 现
  • tcp 协议栈 recv,send, close 的实现
  • tcp 三次握手实现
  • tcp 四次挥手实现
  • tcp acknum 与 seqnum 的确认机制实现
  • tcp 的并发连接设计
  • epoll 并发的实现
  • tcp 协议栈与 epoll 之间的回调实现

dpdk组件项目

  • dpdk-acl
  • dpdk-kni
  • /dev/kni 的原理分析
  • kni_dev 的流程
  • kni 的 tx缓冲区,rx缓冲区
  • kni 的用户空间与内核空间映射
  • mbuf 如何转化为 kernel 的 sk_buff
  • dpdk-timer
  • bpftrace 的使用
  • dpdk-bpf 源码流程

dpdk经典项目

  • dpdk-dns
  • dpdk-gateway
  • dpdk-ddos 熵计算源码
  • ddos-attach 检测精确度调试
  • ddos attach 测试工具 hping3
  • 布谷鸟 hash 原理与使用

二、存储

高效磁盘io读写 spdk ©

  • 存储框架 spdk,为技术栈打开一扇存储的大门
  • spdk 运行环境与 vhost
  • NVMe 与 PCI 的关系
  • 手把手实现spdk_ server
  • nvme 与 pcie 以及手写 nvme 读写操作
  • bdev 与 blob 之间的关系
  • 实现 blob 异步读写
  • blobstore 的读写操作实现与 rpc 的关系
  • fio 性能测试性能对比 libaio,io_uring, psync
  • fio plugin 工作流程
  • fio plugin 开发

spdk文件系统的实现

  • 文件系统功能拆解
  • spdk_env_init 与 spdk_app_init 的差 别
  • spdk_thread_poll 实现 rpc 回调
  • fs_operations 结构体定义
  • file_operat ions 结构体定义
  • dir_operat ions 结构体定义
  • syscall 的 hook 实现
  • io 内存管理
  • 基数树对文件系统内存管理
  • spdk_blob 的 open, read, write, close
  • 测试用例与调试入口函数

spdkkv存储的实现

  • KV 存储拆解 Set, Get, Mod, Del
  • app/. a库/. so库对于kv存储的选择
  • bdev 与 blob 对于kv存储的选择
  • kv service 启动 blob 资源操作
  • kv service 关闭 blob 资源回收
  • kv service 接口 set, get, modify, delete
  • kv遍历与查找实现
  • page 存储 chunk 的管理
  • pagechunk 的 get 与 put
  • page 单查找与多页查找
  • btree,artree, hashmap,radixtree, rbtree之 间的选择
  • slab 的实现
  • slab 分配 slot 与释放 slot
  • 为kv加上 conf 文件
  • 测试用例与性能测试

三、安全与网关开发

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

  • vpp 命令详解
  • mac/ip 转发 plugin
  • load_balance plugin
  • flowtable plugin
  • vpp 源码
  • 多网卡数据接收与转发
  • 解决 plugin 编译加载
  • vpp 启动 load so 的流程
  • vpp 的结构体 vlib_main
  • vpp 的结构体 vnet_main
  • vector 的操作实现
  • vpp vcl 库与 LD_PRELOAD
  • vcl 原理讲解
  • vcl tcpserver 实现原理
  • vc| tcpclient 实现原理
  • vcl 与 iperf3 的客户端与服务器
  • vcl 与 nginx 的 wrk 性能测试
  • vcl 与 haproxy 的性能测试
  • vpp 1801版本与vpp 2206版本之间的差异
  • vpp httpserver 的实现源码
  • vpp plugin quic 源码分析
  • vpp plugin hs_app 的源码实现分析
  • vpp plugin rdma 的实现分析
  • vpp plugin loadbalance 实现分析
  • vpp plugin nat 的源码分析
  • vpp host-stack tcp 协议实现
  • vpp plugin 的测试用例实现

golang的网络开发框架nff- go (go lang)

  • nff-go 实现的技术原理
  • nff-go/low.h 实现分析
  • nff-go 数据接收的实现
  • nff-go 数据发送的实现
  • ipsec 协议解析与 strongswan 的 ipsec
  • nff-go 的缺陷与不足

四、虚拟化与云原生

DPDK的虚拟交换机框架OvS

  • ovs编译安装,ovs核心组件内容
  • ovs-vswitchd 的工作原理
  • ovs-vswitchd 与 dpdk 的关系
  • ovs-vsctI 的网桥,网口操作
  • qemu-system-x86_64 构建多子网
  • ovs 与 qemu 数据流分发
  • ovs 搭建 docker 跨主机通信
  • ovsdb-server 与 ovsdb 协议
  • json-rpc 为控制面提供开发
  • ovs-tcpdump/ ovs-l3ping
  • 0vS 4种数据路径
  • VXLAN数据协议
  • ovs流量统计

高性能4层负载均衡器 DPVS

  • dpvs 的技术组件与功能边界
  • Ivs+keepalived 配置高可用 server
  • dpvs 与 Ivs+keepalived 的关系
  • dpvs.conf 的配置文件
  • dpvs 的 FNat/NAT/SNAT模式
  • dpvs 的 DR 模式
  • dpvs 的 tun 模式
  • 通过 quagga 配置 ospf
  • dpvs 的 tc 流控操作与源码实现
  • dpvs 代码架构分析
  • dpvs 测试用例 ipset,tc,mempool

五、测试工具

perf3

  • vpp vcl 的 perf3 接口 hook
  • perf3 测网络带宽
  • tcp 吞吐量测试
  • udp 丢包与延迟测试
  • son 测试结果输出

TRex

  • TRex 的运行原理
  • TRex 与 dpdk
  • 构建 TRex 测试系统
  • t-rex-64-debug-gdb 调试
  • bg-sim-64 模拟单元测试
  • YAML 文件编写
  • 流编排与自动化框架
  • 报文变量设置

dpdk- pktgen

  • pktgen 命令讲解
  • default.cfg 配置文件分析
  • 120M bits/s 的转发速率

fio

  • ioengine 的实现
  • ioengine_ops 的分析
  • iodepth 的分析
  • spdk_nvme 的 fio 分析
  • spdk_bdev 的 fio 分析
  • spdk_blob 的 ioengine 实现
  • psync,io_uring, libaio 性能对比

六、性能测试

性能指标

  • 吞吐量 bps
  • 拆链/建链 pps
  • 并发
  • 最大时延
  • 最小时延
  • 平均时延
  • 负载
  • 包速 fps
  • 丢包率

测试方法

  • 测试用例
  • vpp sandbox
  • perf3 灌包
  • rfc2544

dpdk/spdk/网络协议栈/存储/网关开发/网络安全/虚拟化/0vS/TRex/dpvs技术专家成长体系教程

目标岗位

  • 高级网络开发工程师
  • DPDK开发工程师
  • 云产品研发工程师
  • 云基础开发工程师
  • 高性能优化工程师
  • SDN开发工程师
  • NFV开发工程师

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/158719.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯云 轻量云 上海 VPS 测评

description: 发布于 2023-07-05腾讯云 轻量云 上海 VPS 测评 腾讯云国内机非常稳定,一年用下来没有掉线丢包的情况。国内机适合与备案域名一起建站使用。带宽很小,图片资源使用CDN加速或海外机提供。 规格 CPU - 2核 内存 - 2GB 系统盘 - SSD云硬盘…

Dubbo—Admin 整体架构与安装步骤

​回顾 Dubbo 服务治理体系的总体架构,Admin 是服务治理控制面中的一个核心组件,负责微服务集群的服务治理、可视化展示等。 Admin 部署架构 总体上来说,Admin 部署架构分为以下几个部分: Admin 主进程,包括服务发现…

博客系统(java,MySQL,HTML)

项目展示: 1.输入 http://127.0.0.1:8080/blog_system/login.html 即可进入登录页面 2.输入正确的用户名和密码后进入博客列表页 要是用户名或密码输入错误,会弹出错误提示框 3.点击查看全文,可以进入博客详情页查看详细信息 4.点击写博客&a…

Unity实现摄像机向屏幕中间发射射线射击物体

1.创建一个准星放在屏幕中间 外部找个PNG透明图,拖到Unity文件夹,右上角改成精灵sprite2d 2.添加到UI画布 3.写脚本 首先,我们需要引入一些 "工具",就像我们在玩游戏时要先下载游戏客户端一样。这里的 "工具&quo…

统一观测丨使用 Prometheus 监控 SQL Server 最佳实践

作者:啃唯 SQL Server 简介 SQL Server 是什么? Microsoft SQL Server 是 Microsoft 推出的关系型数据库解决方案,支持企业 IT 环境中的各种事务处理、商业智能和分析应用程序。Microsoft SQL Server 是市场领先的数据库技术之一。 SQL S…

2核4G服务器支持多少用户同时在线访问?卡不卡?

腾讯云轻量2核4G5M带宽服务器支持多少人在线访问?5M带宽下载速度峰值可达640KB/秒,阿腾云以搭建网站为例,假设优化后平均大小为60KB,则5M带宽可支撑10个用户同时在1秒内打开网站,从CPU内存的角度,网站程序效…

Hexo+Github+Netlify博客搭建教程

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 博客系列 ✨特色专栏: MyS…

1 随机事件与概率

首先声明【这个括号内的都是批注】 文章目录 1 古典概型求概率1.1 随机分配问题【放球】例子 1.2 简单随机抽样问题【取球】例子 2 几何概型求概率例子 3 重要公式求概率3.1 对立3.2 互斥3.3 独立3.4 条件(要做分母的必须大于0)例子 3.5 不等式或包含例…

结构体对齐规则

1.第一个成员在结构体变量偏移量为0的地址处。 2.其他成员变量对齐到某个数字(对齐数)的整数倍的地址处。(对齐数编译器默认的一个对齐数与该成员大小的较小值)注意:目前有且只有VS编译器有默认为8. 3.结构体总大小为最大对齐数的整数倍。 4.如果嵌套…

Maven Surefire Exclude 无效问题排查日志

昨天有个需求,要在单元测试的时候单线程执行,并且只执行单元测试类特殊结尾的,那么根据以往经验,直接在maven里面配置exclude并且指定include即可。如下尝试 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin&…

【算法|动态规划No.18】leetcode718. 最长重复子数组

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 &#x1f354;本专栏旨在提高自己算法能力的同时&#xff0c;记录一下自己的学习过程&#xff0c;希望…

网格管理安全巡检系统—助企业全面安全检查

通过应用安全巡检管理系统&#xff0c;企业能更好地管理控制安全风险&#xff0c;保障员工生命安全和财产安全&#xff0c;避免出现各种危险隐患&#xff0c;帮助企业快速提高生产发展实力。 一、凡尔码搭建安全巡检系统的功能 1.巡检计划:帮助用户制定巡检计划&#xff0c;包括…

【融合ChatGPT等AI模型】Python-GEE遥感云大数据分析、管理与可视化及多领域案例实践应用

目录 第一章 理论基础 第二章 开发环境搭建 第三章 遥感大数据处理基础与ChatGPT等AI模型交互 第四章 典型案例操作实践 第五章 输入输出及数据资产高效管理 第六章 云端数据论文出版级可视化 更多应用 随着航空、航天、近地空间等多个遥感平台的不断发展&#xff0c;近…

微信小程序备案流程操作详解,值得收藏

目录 一、小程序备案法律法规参考 二、备案前准备 2.1 备案入口 2.1.1、未上架小程序 2.1.2、已上架小程序 (二)备案类型 (三)备案材料准备 3.1、小程序备案材料 3.2、前置审批材料 3.3、个人备案 3.4、非个人备案 三、备案整体流程 (一)备案信息填写 1、主体信息…

iOS- flutter flavor 多环境Configurations配置

一、点击PROJECT的Runner&#xff0c;选择Info选项&#xff0c;在Configurations下方的号添加不同环境的配置&#xff0c;如下图&#xff1a; 二、选择TAGETS的Runner项目&#xff0c;选择Build Settings选项&#xff0c;在输入框输入package&#xff0c;为不同环境配置相应的…

docker 登录本地仓库harbor问题

1、报错如下&#xff1a; 添加目标harbor 仓库的hosts vim /etc/hosts 2、报错如下&#xff1a; 添加修改/etc/docker/daemon.json文件中的 insecure-registries vim /etc/docker/daemon.json 然后 systemctl daemon-reload systemctl restart docker再次登录

“之江创客”跨境电商赛区决赛暨浙南新电商发展论坛圆满落幕

9月26日&#xff0c;由商务部中国国际电子商务中心指导&#xff0c;浙江省商务厅等十个部门主办&#xff0c;浙江省电子商务促进中心、温州市商务局、苍南县人民政府承办的“之江创客”2023全球电子商务创业创新大赛跨境电商赛区决赛暨浙南新电商发展论坛在苍南圆满落幕。浙江省…

Excel 函数大全应用,包含各类常用函数

Excel 函数大全应用&#xff0c;各类函数应用与案例实操。 AIGC ChatGPT 职场案例 AI 绘画 与 短视频制作&#xff0c; Power BI 商业智能 68集&#xff0c; 数据库Mysql8.0 54集 数据库Oracle21C 142集&#xff0c; Office 2021实战&#xff0c; Python 数据分析&#xff0…

【使用 TensorFlow 2】01/3 中创建和训练自定义层

之前我们已经看到了如何创建自定义损失函数 接下来&#xff0c;我写了关于使用 Lambda 层创建自定义激活函数的文章 一、说明 TensorFlow 2发布已经接近2年时间&#xff0c;不仅继承了Keras快速上手和易于使用的特性&#xff0c;同时还扩展了原有Keras所不支持的分布式训练…

蓝桥杯(跳跃 C++)

思路&#xff1a; 1、根据题目很容易知道可以用深度搜索、广度搜索、动态规划的思想解题。 2、这里利用深度搜素&#xff0c;由题目可知&#xff0c;可以往九个方向走。 3、这里的判断边界就是走到终点。 #include<iostream> using namespace std; int max1 0; int …