Durchsuchen von UDP-Paketen langsamer?

Hallo,

hier hab ich gelesen, dass eine firewall beim durchforsten von verbindungslosen daten länger braucht. kann das stimmen? wenn ja, warum? hat vll wer eine verlässliche quelle dafür?

danke!
 
Ich denke nicht, dass das Durchsuchen der Pakete länger dauert. Im Fall der Linux-Firewall dürfte die Ursache wohl am ehesten in der Begrenzung der erlaubten UDP-Pakete in einem festgelegten Zeitraum sein, wodurch es dem Client erscheint, als würde die Verbindung länger dauern. Hinzu kommen natürlich auch mögliche Fehlerquellen wie Konfigurationsfehler (REJECT-Regeln für UDP-Verbindungen, anstatt DROP usw.). Solange also nicht genau spezifiziert ist, wie die Firewall konfiguriert ist, kann man solche Geschwindigkeitsbremsen nicht ausschliessen.
 
dass eine firewall beim durchforsten von verbindungslosen daten länger braucht. kann das stimmen?
Im Endeffekt, ja

Ich denke nicht, dass das Durchsuchen der Pakete länger dauert.
Das stimmt. Nur werden bei stateful Verbindungen eben nicht mehr alle Packete
so intensiv analysiert wie es bei verbindungslosen Packeten der fall ist (sein muss).



Wenn TCP Verbindungen aufgebaut werden, werden die hergestellten Verbindungen in state-tables gelistet.
Das ist dann das was man statefull firewalling nennt. Nach einem erfolgreichen 3-way-handshake behält die Firewall einen ACK oder established state im Speicher.
Wenn dann packete an der Firewall ankommen, muss für TCP Verbindungen eigentlich nur in die State Table der Firewall geschaut werden, die üblicherweise im RAM liegen. Wenn die Kriterien eines reinkommenden Packets den Daten aus der State Table entsprechen darf es durch. Dh es wird geschaut ob das Packet einer bereits etablierten Verbindung zugeordnet werden kann.

UDP ist stateless und von daher muss jedesmal geschaut werden von wo wohin und ob erlaubt. Und das dauert (im kleinen Massstab) lange. Zwar gibt es Eselsbrücken um so etwas wie State Tables für UDP zu führen, aber viele Produkte tun das wahrscheinlich (noch) nicht und dann ist es fraglich ob das wirklich Sinn macht, vermutlich nicht.

hat vll wer eine verlässliche quelle dafür?
Verlässliche Quellen sind Dokumentationen über Stateful Firewalls, SPI.
 
Original von KlausSchiefer
Zwar gibt es Eselsbrücken um so etwas wie State Tables für UDP zu führen, aber viele Produkte tun das wahrscheinlich (noch) nicht und dann ist es fraglich ob das wirklich Sinn macht, vermutlich nicht.

Sofern Connection Tracking mit iptables verwendet wird, werden auch State Tables für UDP in /proc/net/ip_conntrack abgelegt. In dem Fall wäre es also auch in gewisser Weise ein Konfigurationsfehler.
 
Naja, wer ein Protokoll verwendet, das auf UDP aufbaut und kein conntrack nutzt, muss damit rechnen, dass die Geschwindigkeit darunter leidet. Natürlich nur im Kontext von iptables gesehen.
 
Zurück
Oben