Iptables过滤性能:TCP和UDP

Iptables过滤性能:TCP和UDP,tcp,udp,iptables,throughput,Tcp,Udp,Iptables,Throughput,我写信是想问一下iptables在TCP和UDP过滤中的性能。我用大量iptables规则测试它。 当前向链中有10000条混合TCP和UDP规则时,我得到的TCP吞吐量为35.5 Mbits/sec,UDP吞吐量为25.2 Mbits/sec 我不明白为什么TCP吞吐量大于UDP?我认为TCP会因为ACK数据包而变慢。我已经用cisco ACL测试过了,UDP速度更快 PC---FW---PC 拓扑防火墙开销对于数据包而不是字节而言最为重要。因此,如果平均UDP数据包小于平均TCP数据包,那么

我写信是想问一下iptables在TCP和UDP过滤中的性能。我用大量iptables规则测试它。 当前向链中有10000条混合TCP和UDP规则时,我得到的TCP吞吐量为35.5 Mbits/sec,UDP吞吐量为25.2 Mbits/sec

我不明白为什么TCP吞吐量大于UDP?我认为TCP会因为ACK数据包而变慢。我已经用cisco ACL测试过了,UDP速度更快

PC---FW---PC
拓扑

防火墙开销对于数据包而不是字节而言最为重要。因此,如果平均UDP数据包小于平均TCP数据包,那么使用UDP的CPU将以低于TCP的每秒比特数最大化

相反,如果UDP数据包大到足以导致碎片,并且防火墙配置为在检查碎片之前重新组装碎片,那么重新组装将导致大量开销,这将降低比特/秒吞吐量


防火墙的实现和配置可能还有其他特定的因素,但我相信这两个因素是第一位的。

防火墙开销对于数据包而不是字节而言最为重要。因此,如果平均UDP数据包小于平均TCP数据包,那么使用UDP的CPU将以低于TCP的每秒比特数最大化

相反,如果UDP数据包大到足以导致碎片,并且防火墙配置为在检查碎片之前重新组装碎片,那么重新组装将导致大量开销,这将降低比特/秒吞吐量


防火墙的实施和配置可能还有其他特定因素,但我相信这两个因素是第一位的。

谢谢您的回复。我用wireshark捕获了发送的数据包。我发现TCP数据包的长度是巨大的。Wireshark有一个重新组装TCP数据包的选项,它将多个数据包连接成一个段。因此,这些大小可能不代表实际的IP级数据报大小。看看是否可以关闭“重新组装”以获得更“原始”的网络视图。如果你真的有将近3000字节长的TCP数据包,那么有一点是非常错误的,因为标准TCP在没有某种配置的情况下不会超过1500 MTU。谢谢你的回复。我用wireshark捕获了发送的数据包。我发现TCP数据包的长度是巨大的。Wireshark有一个重新组装TCP数据包的选项,它将多个数据包连接成一个段。因此,这些大小可能不代表实际的IP级数据报大小。看看是否可以关闭“重新组装”以获得更“原始”的网络视图。如果你真的有将近3000字节长的TCP数据包,那么有些事情是非常错误的,因为标准TCP在没有某种配置的情况下不会超过1500 MTU。