Linux小知识---pf_ring开发使用

使用背景

pf_ring主要用来加速流量获取流程,通过创建循环buf和mmap零拷贝技术的使用,缩短数据到达应用层的时间,提高系统处理数据的效率,降低丢包的概率。
具体知识点可以参考
《PF_RING简介》
主要就是下面的图
在这里插入图片描述
目前还没用到DNA技术,听说要付费……
在这里插入图片描述

环境安装

以下内容来自于PF_RING官方网站《PF_RING官方网站》
有部分为本地实测内容,修改了一些,可能这个网站和最新的代码不太一样,有些地方需要先configure才能make。
不过好在依赖的东西不多,还是能顺利安装的。

下载代码

git clone https://github.com/ntop/PF_RING.git

网速不太流畅,多试试吧。

代码结构如下
在这里插入图片描述

安装内核模块

cd PF_RING/kernel
make
make install

加载模块

cd PF_RING/kernel
sudo insmod ./pf_ring.ko [min_num_slots=N] [enable_tx_capture=1|0] [ enable_ip_defrag=1|0]
参数 含义
min_num_slots 内核模块排队的最小数据包数(默认值–4096)
enable_tx_capture 1–捕获发出的包,0–不捕获发出的包
enable_ip_defrag 设置为1以启用IP碎片整理,仅对RX流量进行碎片整理

修改驱动

如果您想在Intel适配器上实现万兆及以上的线速率数据包捕获,那么需要使用零拷贝驱动。首先查看网卡的驱动

ethtool -i eth1 | grep driver
driver: xxx

目前驱动支持

  • 1 Gbit
    e1000e (RX and TX)
    Supported cards: Intel 8254x/8256x/82571/82572/82573/82574/82583
    igb (RX and TX)
    Supported cards: Intel 82575/82576/82580/I210/I350
  • 10 Gbit
    ixgbe/ixgbevf (RX and TX)
    Supported cards: Intel 82599/X520/X540/X55x
  • 10/40 Gbit
    i40e (RX and TX)
    Supported cards: Intel X710/XL710
  • 10/25/50/100 Gbit
    ice (RX and TX)
    Supported cards: E810
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖哥王老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值