网卡驱动及dpdk的使用

网卡

网卡把光电信号转换成数字信号

网络协议栈

通常指tcp/ip各层网络协议,ARP、ICMP、IP、TCP/UDP、HTTP/SFTP等

dpdk使用

数据传输全过程:

非dpdk模式下接收数据

网卡接收到数据,产生中断通知cpu,cpu使用驱动将网卡中的缓存信息读取到内存中,后续各协议栈、应用层因此解析读取此信息。其中信息,都是通过驱动采集到的sk_buff来传递的。

网卡驱动及dpdk的使用_第1张图片

发送数据

获得目的MAC地址,根据ARP协议找到对应网口,如果找不到,就转发到默认网口。

DPDK

在以上过程中,会出现cpu产生中断,并且从都数据的过程,浪费时间和资源,使用dpdk可以在用户态直接从网卡的缓存中读取数据,绕过了操作系统内核,提高了传输速度。

此外网卡通过DPDK中的多线程和多队列技术,可以同时处理多个数据包。实现了高吞吐量的数据包处理能力。

你可能感兴趣的:(网卡驱动及dpdk的使用)