标签: pf-ring

TCP和PF_RING

我正在看看PF_RING在我的应用程序中使用发送和接收.

如果我计划PF_RING用于维护TCP连接,看起来我需要自己手动"伪造"IP和TCP消息,因为pfring_send发送原始数据包.这是否意味着我必须手动重新实现TCP PF_RING

我明白接收使用有明显的优势PF_RING,有没有人试过发送数据PF_RING?与普通的发送呼叫相比,有明显的优势吗?

注意:我没有使用DNA(直接NIC访问),我只是使用具有NIC感知驱动程序的内核部分旁路.

c c++ linux-kernel pf-ring

12
推荐指数
1
解决办法
4962
查看次数

用户空间桥接-Linux与FreeBSD

背景:

我正在将数据包解析/处理程序从FreeBSD移植到Linux(特别是Debian-jessie)。该程序在执行TX操作之前执行解析/操作的同时,在两个物理接口之间实现了双向桥接。

在FreeBSD中,此应用程序使用Pcap进行RX / TX。到目前为止,在Linux中,我已经对Pcap,PACKET_MMAP(使用TPACKET_V2)和Vanilla PF_RING进行了测试。

检测结果:

使用相同的硬件和实验室环境,我观察了通过iperf进行的几次测试的以下(大致)吞吐量结果:

  • FreeBSD内核桥:880Mb / s
  • FreeBSD Pcap(用户空间)网桥:700Mb / s
  • Debian内核桥:880Mb / s
  • Debian Pcap(用户空间)网桥:120Kb / s
  • Debian Vanilla PF_RING(用户空间)网桥:980Kb / s
  • Debian PACKET_MMAP(用户空间)网桥:480Kb / s

思考和问题:

Debian用户空间的速度对我来说似乎很可笑。它们无法使用-我怀疑我缺少了一些东西。我是否需要启用系统选项(“快转”,大声笑)?

还是这仅仅是Linux用户空间桥接的方式?

编辑/更新

我一直怀疑,有一个管理上的限制会影响Debian测试。我正在搜索系统文档以查找(某物/任何东西)无济于事。有什么想法可以限制这一点吗?

linux debian network-programming freebsd pf-ring

5
推荐指数
1
解决办法
472
查看次数

标签 统计

pf-ring ×2

c ×1

c++ ×1

debian ×1

freebsd ×1

linux ×1

linux-kernel ×1

network-programming ×1