Durchsatzratenbegrenzung
# Durchsatzratenbegrenzung

Eine Durchsatzratenbegrenzung, meist kurz als Durchsatzbegrenzung bezeichnet, ist ein Stabilitätsmuster. Es dient in Computernetzwerken dazu den Netzwerkverkehr an bestimmten Schnittstellen zu begrenzen. Dies dient insbesondere dazu ein Netzwerk vor DoS-Angriffen zu schützen.

## Hardwareimplementierungen

Hardwareimplementierungen können den Durchsatz in den OSI-Schichten 4 und 5 begrenzen.

### Transportschicht

Mittels des ECN-Protokolls kann die Durchsatzrate durch Netzwerk-Scheduler und Router auf der Transportschicht gesteuert werden.

Lösungen die auf der Transportschicht ansetzten sind zwar sehr performant, jedoch nur eingeschränkt nutzbar. Wenn sich z. B. hinter einer einzelnen IP-Adresse eine große Menge an, mittels NAT maskierten, Kunden eines Internetprovider befindet, so kann dies zu einer ungewollten Blockierung der Adresse führen.

### Sitzungsschicht

Deep Packet Inspection (DPI) kann dazu eingesetzt werden, um den Durchsatz mittels Hardware auf der Sitzungsschicht zu begrenzen. Durch die DPI wird jedoch die Verschlüsselung mittels TLS und SSL zwischen der Hardwareimplementierung und dem Webserver ausgehebelt.

## Webserver

Webserver verwenden typischerweise eine In-Memory-Key-Value-Datenbank, wie Redis oder Aerospike, um die Sitzungen zu speichern. Ein, im Server bzw. der Webanwendung implementierter, Durchsatzbegrenzungs-Algorithmus wird verwendet, um zu prüfen, ob eine Sitzung begrenzt werden muss. Hier erfolgt die Begrenzung also auf der Sitzungsschicht.

Werden zu viele Anfragen innerhalb einer Zeitspanne gestellt, so antwortet ein HTTP-Webserver mittels des HTTP-Statuscodes 429.

