五分钟看懂抓包神技:DPDK

本文通过一个网络监控软件的视角,讲述了DPDK如何解决万兆流量分析中的中断问题、数据包处理和内存管理,提升后端开发效率。通过DPDK,程序可以直接在用户态读取和分析数据包,避免内核态与用户态之间的拷贝和中断,利用大页内存技术提升地址翻译速度,并通过Interrupt DPDK模式解决空转问题。
摘要由CSDN通过智能技术生成

我是一个网络监控软件,我被开发出来的使命就是监控网络中进进出出的所有通信流量。

一直以来,我的工作都非常的出色,但是随着我监控的网络越来越庞大,网络中的通信流量也变得越来越多,我开始有些忙不过来了,逐渐发生丢包的现象,而且最近这一现象越发的严重了。

万兆流量需求

一天晚上,程序员哥哥把我从硬盘上叫了起来。

“这都几点了,你怎么还不下班啊?”,我问小哥哥。

“哎,产品经理说了,让我下个月必须支持万兆网络流量的分析,我这压力可大了,没办法只好加班了。”,说完整理了一下自己那日益稀疏的头发。

“万兆?10Gbps?开玩笑呢吧?这是要累死我的节奏啊”

“可不是吗,可愁死我了。你快给我说说,你工作这么久了,有没有干的不爽的或者觉得可以改进的地方都可以给我说说”,小哥哥真诚的看着我。

我思考了片刻说到:“要说干的不爽的,还真有!就是我现在花了太多时间在拷贝数据包了,把数据包从内核空间拷贝到用户态空间,以前数据量小还行,现在网络流量这么大,可真是要了我的老命了。”

小哥哥叹了口气,“哎,这个改不了,数据包是通过操作系统的API获取的,操作系统又是从网卡那里读取的,咱们是工作在用户空间的程序,必须要拷贝一次,这没办法。你再想想别的?”

我也叹了口气,“那行吧,还有一个槽点,数据包收到后能不能直接交给我,别交给系统的协议栈netfilter框架他们去处理了,反正我拿来后也要重新分析,每次都从他们那里过一次,他们办事效率又低,这不拖累我的工作嘛”

小哥哥皱着眉头,眨了眨眼睛说到:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值