我有哪些替代方法可以在最快的时间内读取数据包?
在用户空间编写驱动程序?
我从来没有为网卡写过驱动程序(尽管如果它不像写一个完整的操作系统那么难我会感兴趣吗?)。我能否获得已经存在的驱动程序代码,它必须存在于 Linux 的某个地方,并将其“移植”到用户空间?Linux 内核驱动程序和我的驱动程序会尝试竞争相同的数据包吗?
不是编写驱动程序,而是从 C/C++ 应用程序堆栈后立即访问网络数据?
我对这种方法知之甚少-因此,如果有人可以在这里提供帮助,我会很感兴趣。
我有兴趣实现我自己的零拷贝技术以尽可能快地获取数据包数据。这台计算机不需要使用普通的互联网——它可以是两台计算机之间的专有网络连接(用于 TCP 和 UDP)。
编辑:
我的意思是延迟,而不是吞吐量