Positive Acknowledgement with Retransmission (PAR, deutsch: positive Bestätigung mit erneuter Übertragung) ist ein innerhalb des Transmission Control Protocol (TCP) angewandtes Verfahren, um den Verlust von Datenpaketen in einer Datenübertragung zu vermeiden.
Die wohl einfachste und grundlegendste Technik beim zuverlässigen Datenaustausch besteht darin, ein Datenpaket zu senden und einen Timer mit einem zuvor möglichst günstig gewählten Wert zu starten. Kommt das Paket beim Empfänger an, so sendet dieser eine Empfangsbestätigung (acknowledgement / ACK) an den Sender zurück. Erst wenn der Sender diese Bestätigung erhalten hat, und somit weiß, dass das Datenpaket sicher beim Empfänger angekommen ist, sendet er das nächste Paket. Erhält er aber keine Empfangsbestätigung, bevor der Timer ausläuft, so sendet er das Paket erneut (retransmission).
Probleme entstehen dabei dadurch, dass Pakete und somit natürlich auch die Bestätigungen nicht nur verlorengehen können, sondern auch sehr stark verzögert oder sogar dupliziert werden können. Dieses Problem wird im Allgemeinen dadurch gelöst, dass die Pakete nummeriert werden und die Bestätigung diese Nummer auch enthält.
Insgesamt ist dieses Verfahren aber nicht sehr effizient, da der Sender bei einer hohen Latenzzeit sehr lange untätig warten muss. Betrachtet man z. B. eine Satellitenverbindung mit einer Latenzzeit von einer Sekunde, so muss der Sender zwei Sekunden (Hin- und Rückweg) warten, bis er das nächste Paket senden kann. Selbst bei einer Paketgröße von 100 kB wird so nur ein Datendurchsatz von 50 kB/sec erreicht, obwohl der Satellit eigentlich mehrere MB/sec übertragen könnte. Das verwendete Netzwerk wird also nicht optimal ausgenutzt. Um dies zu umgehen, werden bei TCP mehrere Pakete versendet, so dass das erste Paket bereits quittiert wird, während das letzte noch übertragen wird. Der Empfänger stellt hierzu ein Empfangsfenster für mehrere Pakete zur Verfügung.
Siehe auch
- High-Level Data Link Control (HDLC)