Nagle-Algorithmus
Der Nagle-Algorithmus ist ein Algorithmus, der beim Netzwerkprotokoll TCP in Rechnernetzen eingesetzt wird.
Der Nagle-Algorithmus soll zu kleine Pakete verhindern, da viele kleine Pakete den Durchsatz der Verbindung verringern. Dies resultiert daraus, dass für jedes Paket ein Header mit fester Größe erstellt wird. Auf diese Art und Weise fällt bei vielen kleinen Paketen der Header stärker ins Gewicht.
Der Nagle-Algorithmus funktioniert folgendermaßen:
- Ist ein Paket voll, sende es.
- Ist ein Paket nicht voll, sende es, sofern der Empfänger alle bisher gesandten Pakete bestätigt hat.
Ist dieses Verhalten nicht gewünscht, so lässt sich der Nagle-Algorithmus unter POSIX-kompatiblen Betriebssystemen und unter Windows mit der setsockopt-Option TCP_NODELAY abschalten. In der Praxis wird das zum Beispiel bei interaktiven Sitzungsprotokollen wie Telnet oder SSH getan, um die Reaktionszeit der Gegenseite auf Tastatureingaben oder bei Bildschirmausgaben zu verkürzen.
Die genaue Definition findet sich auch in RFC 896 und RFC 1122.
Der Nagle-Algorithmus ist benannt nach John Nagle.