我写这篇文章是想问一下tcp和udp过滤中iptables的性能。我用大量的iptables规则测试它。
当前向链中的TCP和UDP混合规则为10000时,我得到TCP吞吐量35.5 Mbits/sec和UDP吞吐量25.2 Mbits/sec。
我很困惑为什么TCP吞吐量比UDP大?我以为TCP会因为ACK包而变慢。我已经用思科acl测试过了,有udp更快。
PC----FW-----PC
拓扑

最佳答案

防火墙开销对于数据包最重要,而不是字节。因此,如果UDP数据包的平均值小于TCP数据包的平均值,那么与TCP相比,使用UDP的CPU每秒将以较小的位数最大化。
相反,如果udp数据包大到足以导致碎片,并且防火墙被配置为在检查碎片之前重新组合碎片,则重新组合将导致大量开销,这将降低每秒的比特吞吐量。
防火墙的实现和配置可能还有其他一些特定的因素,但我相信这两个因素是第一位的。

关于tcp - iptables过滤性能:TCP和UDP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10315535/

10-16 17:39