Forum: PC-Programmierung CRQ Protokoll, Timeout implementation


von CRQli (Gast)


Lesenswert?

Hallo!

Ich möchte für die sicher Übertragung von Paketen das CRQ-Protokoll mit 
Sliding Window und Timeout implementieren. Ziel ist es einen möglichst 
hohen Datendurchsatz zu erreichen. Deswegen wird mit Sliding Window 
gearbeitet, das ermöglicht, dass mehrere Pakete auch ohne Bestätigung 
übertragen werden können.
Zur Datenübertragung wird eine Vollduplexverbindung verwendet. Ist 
dieses Protokoll dafür überhaupt empfehlenswert? Oder gibt es andere 
Verfahren, die nicht komplizierter in der Implementierung sind? Ich habe 
dazu nichts gefunden und deshalb habe ich mich mal damit befasst. Nun 
habe ich aber eine Frage zur konkreten Implementierung: Damit der Sender 
bei verlorenen ACKs nicht endlos wartet muss eine Timeoutfunktion 
implementiert werden, welche nach einer gewissen Zeit ein Paket neu 
übermittelt. Muss dazu für jedes Paket einen Zeitstempel abgelegt werden 
und dann immer mit der aktuellen Zeit vergleichen um einen Timeout zu 
erkennen, oder ist es auch möglich, bei jedem gesendeten Paket den 
Zeitstempel des vorher gesendeten Pakets zu ersetzen und nur mit diesem 
zu vergleichen?
Ich denke, dass es reicht, einen Zeitstempel zu haben. Denn bei einer 
Neuübertragung wird ja ohnehin nur das Paket, welches sich ganz am 
Anfange (quasi am linken Ende des Fensters) neu gesendet...
Gibt es irgendwo eine konkrete Implementierung zum CRQ, ich habe nichts 
gefunden...

Danke für jede Hilfe

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.