mikrocontroller.net

Forum: PC-Programmierung CRQ Protokoll, Timeout implementation


Autor: CRQli (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.