针对多核心架构的功能性网络框架PFQ

PFQ是一款针对Linux操作系统的功能性框架,可帮助研究人员捕捉网络传输数据包(10G、40G及以上),内核功能处理,内核绕过,以及获取多节点间的套接字/数据包。

该工具针对多核心架构以及配备了多硬件队列的网络设备进行了高度的定制优化,可兼容任意NIC,工具提供的脚本还可以生成加速网络设备驱动器。

PFQ允许研究人员自己开发高性能网络应用程序,工具内置了自定义版本的libpcap,可加速或并行处理遗留应用程序。此外,PFQ还支持专为内核数据包处理设计的纯函数语言:pfq-lang。

Pfq-lang受到了Haskell的启发,主要针对的是运行在网络设备驱动器上的特定应用程序。在pfq-lang的帮助下,研究人员可以构建高效的网桥、端口镜像、简单的防火墙以及网络负载均衡器等等。

工具框架包含了PFQ内核模块、用户空间库(C、C++11-14)、Haskell语言和加速pcap库的源代码,而且内置了pfq-lang编译器和一系列诊断工具。

工具功能
1、 获取完整无锁结构的数据路径。

2、 预先分配套接字缓冲区。

3、 兼容大量网络设备驱动器。

4、 对支持异步数据包传输的内核线程提供透明支持。

5、 支持多线程应用程序监控。

6、 通过随机散列或确定性分类进行分组数据包转发。

7、 VLAN数据过滤。

8、 针对C、C++11-14和Haskell语言的用户空间库。

9、 用于分析和编译pfg-lang程序的pfq-lang编译器。

10、针对遗留应用的加速PCAP库。

11、I/O用户<->内核内存映射。

12、Pfq-omatic脚本,自动加速普通驱动程序。

工具下载&安装
$ git clone git://github.com/pfq/PFQ.git
许可证协议
PFQ框架遵循GPL许可证协议。

http://www.45zq.cn/portal/article/index/id/38.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值