Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
天津飞腾信息技术有限公司-网安团队
Phytium Snort3 Libdaq
提交
b86ffc8e
Phytium Snort3 Libdaq
项目概览
天津飞腾信息技术有限公司-网安团队
/
Phytium Snort3 Libdaq
通知
30
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Phytium Snort3 Libdaq
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b86ffc8e
编写于
3月 31, 2021
作者:
weixin_43103506
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update README.md
上级
4cfb55d4
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
37 addition
and
29 deletion
+37
-29
README.md
README.md
+37
-29
未找到文件。
README.md
浏览文件 @
b86ffc8e
**介绍**
Snort从2.9开始在数据包捕获模块中引入了数据采集(Data Acquisition)库DAQ,用于数据包的I/O,DAQ利用一个抽象层libdaq替换了对libpcap函数的直接调用,使得Snort本身不用修改就可以对不同的软、硬件接口进行方便的操作。
Snort在选择具体DAQ接口时可以通过命令行参数或者配置文件进行配置。目前业界实现的数据包捕获模块主要提供了以下几种类型的模块:Pcap、AFPacket、Bpf、Dump、Fst、Trace,这些接口的数据采集方式大都不同程度上依赖于内核态驱动,并通过多层内存拷贝才能将数据上送至应用程序,使得数据包捕获模块成为整体系统的性能瓶颈之一。
基于飞腾平台高性能网络数据采集软件的封装接口,本软件实现了高性能Snort DAQ模块DPDK_DAQ,基于DPDK的零拷贝、应用层驱动轮询等技术,可成倍提升Snort数据包捕获模块的处理性能。
**环境要求**
硬件:FT2000+服务器或者D2000桌面机+X710网卡
操作系统:Centos7.6
软件依赖: Gcc9.3.1、Cmake3.12.0、DPDK19.15
**编译和安装**
步骤一 下载Libdaq。
git clone https://gitee.com/phytium_software/Phytium-snort3-libdaq.git
步骤二 配置和生成Makefile。
cd libdaq
./bootstrap
./configure
步骤三 编译和安装。
make;make install
步骤四 建立软连接。
ln -s /usr/local/lib/libdaq.so.3.0.0 /usr/lib64/libdaq.so
**性能对比**
Libdaq中包含测试Demo,可以对各种DAQ进行性能比较。运行命令如下:
./daqtest-static -i enp4s0f2 -d dpdk -z 10 -p -k
./daqtest-static -i enp4s0f2 -d pcap -p -k
./daqtest-static -i enp4s0f2 -d afpacket -p -k
DAQ类型 性能(Mpps)
Libpcap 0.38
Afpacket 0.46
飞腾版DAQ 8.92
飞腾版DAQ相较于Libpcap和Afpacket性能提升24.8和19.3倍,性能提升显著。性能提升的原因,一部分是飞腾版DAQ能够支持多线程模式以及飞腾平台NUMA架构特性,另一部分是因为采用用户态驱动和轮询的模式来替换内核驱动和中断模式,减少了报文拷贝次数。
基于DPDK的高性能Snort DAQ模块软件
===============================
# **介绍**
Snort从2.9开始在数据包捕获模块中引入了数据采集(Data Acquisition)库DAQ,用于数据包的I/O,DAQ利用一个抽象层libdaq替换了对libpcap函数的直接调用,使得Snort本身不用修改就可以对不同的软、硬件接口进行方便的操作。
<br>
Snort在选择具体DAQ接口时可以通过命令行参数或者配置文件进行配置。目前业界实现的数据包捕获模块主要提供了以下几种类型的模块:Pcap、AFPacket、Bpf、Dump、Fst、Trace,这些接口的数据采集方式大都不同程度上依赖于内核态驱动,并通过多层内存拷贝才能将数据上送至应用程序,使得数据包捕获模块成为整体系统的性能瓶颈之一。
<br>
基于飞腾平台高性能网络数据采集软件的封装接口,本软件实现了高性能Snort DAQ模块DPDK_DAQ,基于DPDK的零拷贝、应用层驱动轮询等技术,可成倍提升Snort数据包捕获模块的处理性能。
<br>
# **环境要求**
`硬件:`
FT2000+服务器或者D2000桌面机+X710网卡
<br>
`操作系统:`
Centos7.6
<br>
`软件依赖:`
Gcc9.3.1、Cmake3.12.0、DPDK19.15
<br>
# **编译和安装**
`步骤一`
下载Libdaq。
<br>
git clone https://gitee.com/phytium_software/Phytium-snort3-libdaq.git
<br>
`步骤二`
配置和生成Makefile。
<br>
cd libdaq
<br>
./bootstrap
<br>
./configure
<br>
`步骤三`
编译和安装。
<br>
make;make install
<br>
`步骤四`
建立软连接。
<br>
ln -s /usr/local/lib/libdaq.so.3.0.0 /usr/lib64/libdaq.so
<br>
# **性能对比**
Libdaq中包含测试Demo,可以对各种DAQ进行性能比较。运行命令如下:
<br>
./daqtest-static -i enp4s0f2 -d dpdk -z 10 -p -k
<br>
./daqtest-static -i enp4s0f2 -d pcap -p -k
<br>
./daqtest-static -i enp4s0f2 -d afpacket -p -k
<br>
飞腾版DAQ相较于Libpcap和Afpacket性能提升24.8和19.3倍,性能提升显著。
<br>
性能提升的原因,一部分是飞腾版DAQ能够支持多线程模式以及飞腾平台NUMA架构特性,另一部分是因为采用用户态驱动和轮询的模式来替换内核驱动和中断模式,减少了报文拷贝次数。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录