Design and Performance of the OpenBSD Stateful Packet Filter (pf)
Daniel Hartmeier
dhartmei@openbsd.org
Systor AG
Usenix 2002 – p.1/22
Design and Performance of the OpenBSD Stateful Packet Filter (pf) - - PowerPoint PPT Presentation
Design and Performance of the OpenBSD Stateful Packet Filter (pf) Daniel Hartmeier dhartmei@openbsd.org Systor AG Usenix 2002 p.1/22 Introduction part of a firewall, working on IP packet level (vs. application level proxies or ethernet
Daniel Hartmeier
dhartmei@openbsd.org
Systor AG
Usenix 2002 – p.1/22
Usenix 2002 – p.2/22
Usenix 2002 – p.3/22
Usenix 2002 – p.4/22
Usenix 2002 – p.5/22
Usenix 2002 – p.6/22
Usenix 2002 – p.7/22
Usenix 2002 – p.8/22
Usenix 2002 – p.9/22
Usenix 2002 – p.10/22
Usenix 2002 – p.11/22
Usenix 2002 – p.12/22
Usenix 2002 – p.13/22
Usenix 2002 – p.14/22
100 200 300 400 500 600 700 800 900 100 200 300 400 500 600 700 800 900 receiving rate (packets/s) sending rate (packets/s) 1518 bytes/packet
Usenix 2002 – p.15/22
100 200 300 400 500 600 700 800 900 100 200 300 400 500 600 700 800 900 receiving rate (packets/s) sending rate (packets/s) 812 812 1518 bytes/packet
Usenix 2002 – p.15/22
200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 2000 4000 6000 8000 10000 12000 14000 16000 throughput (bytes/s) sending rate (packets/s) 812 1518 bytes
Usenix 2002 – p.16/22
200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 2000 4000 6000 8000 10000 12000 14000 16000 throughput (bytes/s) sending rate (packets/s) 961 1280 bytes
Usenix 2002 – p.16/22
200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 2000 4000 6000 8000 10000 12000 14000 16000 throughput (bytes/s) sending rate (packets/s) 1197 1024 bytes
Usenix 2002 – p.16/22
200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 2000 4000 6000 8000 10000 12000 14000 16000 throughput (bytes/s) sending rate (packets/s) 1586 768 bytes
Usenix 2002 – p.16/22
200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 2000 4000 6000 8000 10000 12000 14000 16000 throughput (bytes/s) sending rate (packets/s) 2349 512 bytes
Usenix 2002 – p.16/22
200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 2000 4000 6000 8000 10000 12000 14000 16000 throughput (bytes/s) sending rate (packets/s) 4528 256 bytes
Usenix 2002 – p.16/22
200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 2000 4000 6000 8000 10000 12000 14000 16000 throughput (bytes/s) sending rate (packets/s) 8445 128 bytes
Usenix 2002 – p.16/22
200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 2000 4000 6000 8000 10000 12000 14000 16000 throughput (bytes/s) sending rate (packets/s) 14880 64 bytes
Usenix 2002 – p.16/22
200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 2000 4000 6000 8000 10000 12000 14000 16000 throughput (bytes/s) sending rate (packets/s) Local OpenBSD GNU/Linux
Usenix 2002 – p.16/22
500 1000 1500 2000 2500 3000 3500 4000 4500 5000 1000 2000 3000 4000 5000 throughput (packets/s) sending rate (packets/s) iptables
Usenix 2002 – p.17/22
500 1000 1500 2000 2500 3000 3500 4000 4500 5000 1000 2000 3000 4000 5000 throughput (packets/s) sending rate (packets/s) iptables ipf
Usenix 2002 – p.17/22
500 1000 1500 2000 2500 3000 3500 4000 4500 5000 1000 2000 3000 4000 5000 throughput (packets/s) sending rate (packets/s) iptables ipf pf
Usenix 2002 – p.17/22
500 1000 1500 2000 2500 3000 3500 4000 4500 5000 200 400 600 800 1000 maximum throughput (packets/s) number of rules iptables ipf pf
Usenix 2002 – p.18/22
3000 3500 4000 4500 5000 5500 6000 6500 7000 7500 5000 10000 15000 20000 maximum throughput (packets/s) number of states ipf pf
Usenix 2002 – p.19/22
Usenix 2002 – p.20/22
Usenix 2002 – p.21/22
Usenix 2002 – p.22/22