"Hoeveel bandbreedte kan PF behandelen?"
"Hoeveel computer heb ik nodig om mijn Internetverbinding te behandelen?"
Er zijn geen gemakkelijke antwoorden op die vragen. Voor sommige toepassingen
zou een 486/66 met een paar goede ISA NICs kunnen filteren en NAT doen aan
bijna 5Mbps, maar voor andere toepassingen zou een veel snellere machine
met veel efficiëntere PCI NICs onvoldoende kunnen blijken te zijn. De echte
vraag is niet het aantal bits per seconde maar veeleer het aantal pakketten
per seconde en de complexiteit van de regelset.
PF prestatie wordt bepaald door verscheidene variabelen:
Aantal pakketten per seconde. Bijna dezelfde hoeveelheid verwerking moet
gedaan worden op een pakket met 1500 byte payload als voor een pakket met
één byte payload. Het aantal pakketten per seconde bepaalt het aantal keren
dat de toestandstabel, en in het geval dat daar geen overeenstemming wordt
gevonden, de filterregels elke seconde geëvalueerd moeten worden, wat de
effectieve vraag op het systeem bepaalt.
Prestatie van uw systeembus. De ISA bus heeft een maximum bandbreedte
van 8MB/sec, en wanneer de processor hem benadert, moet hij zichzelf vertragen
tot de effectieve snelheid van een 80286 die draait op 8MHz, ongeacht hoe
snel de processor werkelijk is. De PCI bus heeft een veel grotere effectieve
bandbreedte en heeft minder impact op de processor.
Efficiëntie van uw netwerkkaart. Sommige netwerkadapters zijn gewoon
efficiënter dan andere. Realtek 8139
(rl(4))
gebaseerde kaarten hebben een neiging tot relatief zwakke presatie terwijl
Intel 21143
(dc(4))
gebaseerde kaarten de neiging hebben om heel goed te presteren. Overweeg voor
maximale performantie het gebruik van gigabit Ethernet kaarten, zelfs als u
ze niet verbindt met gigabit netwerken, aangezien ze veel meer geavanceerde
buffering hebben.
Complexiteit en ontwerp van uw regelset. Hoe complexer uw regelset, hoe
trager hij is. Hoe meer pakketten gefilterd worden door
keep state en quick regels, hoe beter de prestatie.
Hoe meer lijnen voor elk pakket geëvalueerd moeten worden, hoe lager de
prestatie.
Nauwelijks de moeite om te vermelden: CPU en RAM. Aangezien PF een
kernel-gebaseerd proces is, zal het geen swapruimte gebruiken. Dus, indien
u genoeg RAM hebt, draait het, indien niet, panikeert het wegens
pool(9) uitputting. Enorme hoeveelheden RAM zijn niet nodig -- 32MB zou
voldoende moeten zijn voor ongeveer 30.000 toestanden, wat al veel toestanden
is voor een klein kantoor of thuistoepassing. De meeste gebruikers zullen een
"gerecycleerde" computer meer dan genoeg vinden voor een PF systeem -- een
300MHz systeem zal een heel groot aantal pakketten snel laten bewegen, ten
minste als het voorzien is van goede NICs en een goede regelset.
Mensen vragen vaak om PF benchmarks. De enige benchmark die telt is
uw systeemprestatie in uw omgeving. Een benchmark die geen
kopie maakt van uw omgeving, zal u niet goed helpen uw firewallsysteem te
plannen. De beste weg om te volgen is om PF voor uzelf te benchmarken onder
dezelfde, of daar zo dicht mogelijk bij, netwerkomstandigheden als de
eigenlijke firewall zou ondervinden, draaiend op dezelfde hardware als de
firewall zou gebruiken.
PF wordt in enkele heel grote, druk-verkeer toepassingen gebruikt, en de
ontwikkelaars zijn "krachtige gebruikers" van PF. Waarschijnlijk zal het
heel goed werken voor u.