这是我的第一个问题,我希望我做的一切正确。 感谢您设置serverfault – 这样一个网站很长一段时间在互联网上失踪了。
在接下来的几个星期里,我将获得我的VDSL 25连接(最好是25 Mbit下载和5 Mbit上传)。 所以现在我正在考虑为VDSL设置我自己的路由器,因为我不想使用我用VDSL 25获得的Speedport路由器。
我真的进入了OpenBSD,并且发现了一个很好的关于使用OpenBSD和VDSL的指南。 在一篇关于build立基于FreeBSD的pfSense for VDSL的文章中,我读到计算机应该有至less1 GHz的1024 MB内存。
我的机器将是一个800 MHz的奔腾3与512 MB内存,但我认为购买TCO(TCP校验和卸载)30美元的千兆网卡。 一位同事向我提出这个build议,因为他认为这将大大降低CPU负载,而我的800 MHz P3可能足够了。
那么你是否有一些关于VDSL的“硬件要求”的经验,如果有TCO的网卡可以帮助吗?
在此先感谢您的答案!
推荐的pfSense规范是方式,方式,矫枉过正。 你的机器应该很方便地处理这个负载。 作为一个参考点,我在生产中使用了一个Soekris Net5501一小会儿,并以大约45Mbps的速度跌落。 它被指定了一个500MHz的Geode,256MB内存,以及有史以来最糟糕的一些网卡(Via Rhinestone – vr driver)。
根据我的经验,像这样的路由器上最常见的大性能障碍是快速中断所需的上下文切换。 就像水钻一样,低劣的网卡为他们接收到的每一个数据包开火。 这成为一个主要的问题,因为每个数据包都必须处理,但哎呀! 在处理的过程中,另一个进来,所以你把它拉出来,被打断等等。上下文切换是一个昂贵的操作,很快就会压倒一个慢速的CPU。
好的网卡(英特尔和博通都是稳定的)具有中断缓解function,这意味着只有当CPU累积了一定数量的数据包,或者计时器达到0时才会对CPU进行错误操作。以这种方式进行操作远远更有效比不变的上下文切换。
一些操作系统试图通过轮询模仿中断缓解 – 内核忽略NIC的中断,并且每隔一段时间检查缓冲区。 这可能会导致更高的吞吐量和更低的CPU使用率,但是以延迟为代价,如果网卡缓冲区满了,可能会丢失数据包等。OpenBSD尚未实现轮询。 在我的经验中,中断缓解优于轮询,像样的NIC的价格足够低,没有多less借口。
记忆真的不应该是一个问题。 OpenBSD和PF非常高效。 在相当缓慢的一天(今天),我的一台生产路由器的内存大约有17.5k个状态。 它也运行垃圾邮件,logging所有阻止的数据包,并在其最活跃的接口上执行tcpdump。 使用191MB的RAM。
所以,说你的规格绰绰有余,TCO或没有。
OpenBSD不支持TCO,所以你不会从这种卡上得到任何好处。