TCP ist ein zuverlässiges Transportprotokoll. Es sorgt dafür, dass Daten vollständig, in der richtigen Reihenfolge und ohne Lücken beim Empfänger ankommen. Damit das funktioniert, bestätigt der Empfänger dem Sender den Erhalt von Daten.
Wenn ein TCP-Segment nicht bestätigt wird oder der Sender Hinweise darauf bekommt, dass ein Segment fehlt, wird dieses Segment erneut übertragen. Diese erneute Übertragung nennt man TCP-Retransmission.
Aus Sicht der Anwendung ist das zunächst positiv: TCP versucht, verlorene Daten zu reparieren. Ohne Retransmissions würden viele Anwendungen fehlerhafte oder unvollständige Daten erhalten.
Für die Netzwerk-Performance sind TCP-Retransmissions aber ein wichtiges Warnsignal. Sie zeigen, dass Daten nicht beim ersten Versuch sauber angekommen sind. Das kann zu Verzögerungen, niedrigerem Durchsatz und schlechterer Anwendungsperformance führen.
Eine einzelne Retransmission ist nicht automatisch kritisch. Wiederholte oder gehäufte Retransmissions deuten jedoch darauf hin, dass auf der Kommunikationsstrecke etwas nicht stabil läuft.
Was bedeutet TCP-Retransmission?
Eine TCP-Retransmission ist die erneute Übertragung eines bereits gesendeten TCP-Segments.
TCP arbeitet mit Sequenznummern und Bestätigungen. Der Sender verschickt Daten in Segmenten. Der Empfänger bestätigt, welche Daten angekommen sind. Bleibt eine Bestätigung aus oder erkennt der Sender anhand der Rückmeldungen, dass Daten fehlen, wird das betroffene Segment erneut gesendet.
Vereinfacht gesagt:
- Ein Sender schickt Daten an einen Empfänger.
- Der Empfänger bestätigt empfangene Daten.
- Eine Bestätigung fehlt oder zeigt eine Lücke.
- Der Sender geht von Verlust oder Störung aus.
- Das betroffene Segment wird erneut übertragen.
Diese erneute Übertragung sorgt dafür, dass die Kommunikation zuverlässig bleibt. Sie verursacht aber zusätzlichen Verkehr und kostet Zeit.