DPDK学习笔记(第一节)

本小白学习DPDK笔记
计划:
1、b站视频入门
2、CSDN等博客总结+DPDK官方文档
3、结合源码梳理框图

b站入门视频笔记

1、DPDK主要应用UIO、HUGEPAGE和CPU Affinity机制3个技术点直接提高高度网络数据的修理性能
2、内核接收数据包处理流程:从网卡收到报文后,通过DMA机制将报文放到内存 -->网卡触发中断通知系统有报文到达(一个报文,一个中断),系统分配sk_buff,将报文copy到这块sk_buff -->经过协议栈处理,将报文传送用户态应用程序处理。
左图:内核处理报文流程,右图:DPDK处理报文流程。DPDK模式网卡完全由DPDK库管理
传统内核流程:硬件中断->获取数据包分发到内核线程->软件中断->内核线程在协议栈中处理数据包->数据包处理完毕通知用户层用户接收数据包->网络层->逻辑层->业务层
DPDK流程:硬件中断->放弃中断流程
用户层通过设备映射获取数据包->进入用户层协议栈->逻辑层->业务层

3、我们常用,以太网(接口带宽:1Gbit/s、10Gbit/s、25Gbit/s、40Gbit/s、100Gbit/s),代表以太接口线路承载最高传输比特率。
满速带宽能跑有效数据可以通过如下公式理论朕转发率:
帧转发率 = (BitRate / 8)/ IPG+SFD+PktSize+Preamble
吞吐率:10G/25G/40G。包长:64 128 256 512 1024

4、DDIO(Intel技术)
该项技术目的:让服务器能够更快处理网络接口数据,提高系统整体吞吐率,降低延迟,同时减少能源的消耗。
DDIO技术处理流程:1)处理器更新报文和控制结构体,处理器会开始就把内存中的缓冲区和控制结构体预取到cache,减少内存读时间。2)NIC收到有报文需要传递到网络上的通知后,通过PCI总线把控制结构体和报文送到NIC内部。运用DDIO技术,I/O访问可以直接将cache的内容传送到PCI总线,减少cache写会时等待的时间。
由于DDIO技术引进,网卡读操作减少访问内存的次数,提高访问效率,减少报文转发延迟。在理想状态,NIC和处理器不需要访问内存,直接通过访问cache就可以完成数据更新、把数据传送到NIC内部,直接送到网络上。
DPDK关键核心技术点:环境抽象层(EAL),轮询模式驱动。避免中断性能瓶颈是DPDK提升数据包处理速度关键技术之一。pipeline模型 / RTC模型。
RTC模型是一个同步模型,在 run-to-completion 模式中,通过调用API来轮询指定端口的RX描述符以获取报文。 紧接着,在同一个core上处理报文,并通过API调用将报文放到接口的TX描述符中以发送报文。
pipeline模型是一个异步模型,在 pipe-line 模式中,一个core轮询一个或多个接口的RX描述符以获取报文。然后报文经由ring被其他core处理。 其他core可以继续处理报文,最终报文被放到TX描述符中以发送出去。

5、DPDK网络设备驱动体系结构
在这里插入图片描述
内存池、大页内存、无锁环形队列(kfifo)、poll-mode网卡驱动、CPU亲和性

虚拟交换机:OVS、VPP、Snabb(存疑)
虚拟路由器:CloudRouter
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值