c - netmap - Tun / tap vs netmap / pf_ring / dpdk

时间:2014-10-13 07:16:47

标签: networking tcp c stack

Tun / tap设备会避免安装netmap / pf_ring / dpdk吗?如果tun / tap允许绕过内核,那不是一回事吗?

或者那些代码带来了如此多的优化,以至于它们超越了操作系统旁路策略?

最终目标是将tcp / ip从内核移植到用户空间,用于测试目的。

我在这里不太明白。

由于

2 个答案:

答案 0 :(得分:1)

没有。 对于userspace tcpip实现,请参阅lwip或rumpkernel。 您可能知道的dpdk / pfring / netmap是关于尽快将数据包发送到用户空间的。 tun / tap是虚拟接口的东西。可能不是你追求的目标。

答案 1 :(得分:1)

Tun / tap不是特别高效。他们错过了IP堆栈,但仍然涉及很多复制。使用它们来查看一些代码。我认为直接用户空间网络的最佳选择可能是使用环形缓冲区选项的AF_PACKET,但这仍然是一个间接的环形缓冲区,它被复制到网卡环缓冲区而不是直接像dpdk这样的解决方案。这取决于您的性能要求 - 如果只是为了测试正确性,任何解决方案都应该没问题。