Firewall a NAT

Stavové sledování spojení (connection tracking)

Bezstavový packetový filtr neví, zda je daný packet součástí nějakého běžícího TCP spojení nebo jestli je součástí nějakého řetězce UDP datagramů, který představuje souvislou transakci. Zde se hodí připomenout, že i když UDP nemá explicitní začátek a konec spojení, mnohé služby, které UDP používají, fungují obdobně jako krátce trvající TCP spojení. Nakonec i protokol QUIC (známý též jako HTTP/3) používá UDP místo TCP.

Vedle toho jsou ale UDP protokoly, které se zcela vymykají běžné sémantice navázání spojení, komunikaci přes tento kanál a následnému ukončení spojení. Například dnes už zastaralé, ale stále občas používané NFSv2 používá UDP k přenosu vzdálených volání procedur (RPC), které jsou prakticky operacemi se vzdáleným filesystémem. A tato volání jsou realizována pomocí Sun / ONC RPC a s podporou programu portmap, což vede k tomu, že UDP porty pro přenos souborů přes NFSv2 se volí náhodně při každém restartu NFS serveru. Pro NFSv2 se tedy velmi těžko vymýšlí pravidla pro packetový filtr.

Jiný příklad z opačného spektra jednorázových interakcí je protokol DNS ve své části mezi autoritativním a rekurzivním serverem. Tím myslíme to, že klient má nastaven rekurzivní server a toho se podle potřeby ptá na domény, které potřebuje přeložit na IP adresy. Tento rekurzivní server může klientovi odpovídat z cache, pokud si z minulosti pamatuje relevantní odpovědi (a jsou-li stále platné). Pokud rekurzivní server odpověď neví, kontaktuje řadu autoritativních serverů - začne v nejnižším bodě hierarchie domény, pro kterou má záznam ve své cache. V nejhorším případě začíná u DNS root serverů (ty má nakonfigurované staticky) a pokračuje dotazy až k poslednímu autoritativnímu serveru pro doménu nejvyššího řádu v dotazu. Na tom je ze síťového hlediska zajímavé, že rekurzivní server se autoritativního serveru zpravidla zeptá jediným UDP datagramem a jako odpověď běžně dostane také jeden jediný UDP datagram a tím komunikace na dlouho končí - rekurzivní server si odpověď uloží do cache, takže se po dobu platnosti záznamu nebude ptát na to samé znovu.