Linux。
使用抽头设备与硬件设备(如eth0 )是否会造成性能损失?
目标是创建一个用户空间tcp/ip堆栈,并尽可能避免内核。
我想确定的是,开发上的龙头设备是正确的事情做。
谢谢
发布于 2014-12-19 09:07:07
由于评论权限不足,我将此作为答案发布。
根据我的经验,由于TCP的本质,tcp上的VPN最多只能超过无线连接。当切换到UDP时,不会出现更多的连接超时--更好的是使用tun设备。我建议您在TCP和UDP以及tap/tun两种糟糕的网络连接下进行测试。
发布于 2014-12-19 22:11:37
是的,有。使用抽头设备会导致客户端进程和持有抽头设备的进程之间的上下文切换。它还会导致额外的副本,因为需要将数据从客户端进程复制到内核,然后从内核复制到抽头保持器。
然而,Linux非常擅长上下文切换,而且缓存中的副本相当便宜,因此开销可能足够小。我建议您在用户空间中使用tap实现堆栈,然后执行一些基准测试和分析,以确定是否值得将代码迁移到内核中。
https://serverfault.com/questions/653628
复制相似问题