Automatic Repeat ReQuests, oft als ARQ abgekürzt, ist ein Protokoll zur Fehlerkontrolle bei der Datenübertragung. Durch die Verwendung von Fehlererkennungscodes und Bestätigungen können ARQ-Protokolle eine fehlerfreie Datenübermittlung garantieren und sicherstellen, dass der Empfänger eine genaue Kopie der vom Sender übertragenen Daten erhält.
Die Ursprünge und die frühe Geschichte automatischer Wiederholungsanfragen
Die Wurzeln von Automatic Repeat ReQuests lassen sich bis in die Anfänge der Telegrafie im 19. Jahrhundert zurückverfolgen. Telegraphenbetreiber forderten manuell die erneute Übertragung unklarer oder verstümmelter Nachrichten an. Die erste Erwähnung eines automatisierten Systems ähnlich ARQ findet sich jedoch im Patent von A. Harry Nyquist aus dem Jahr 1924 für ein „Telegraph Repeat System“.
Mit dem Aufkommen der digitalen Datenkommunikation im 20. Jahrhundert nahm die Entwicklung und Verfeinerung von ARQ-Protokollen rasch zu. Der bedeutendste Fortschritt in dieser Ära war möglicherweise die Einführung der zyklischen Redundanzprüfung (CRC) in den 1960er Jahren, einem Codierungsschema zur Fehlererkennung, das in modernen ARQ-Implementierungen immer noch weit verbreitet ist.
Das Wesentliche an automatischen Wiederholungsanfragen
Automatische Wiederholungsanforderungen sind für Datenkommunikationssysteme von grundlegender Bedeutung und stellen die Integrität der Daten während der Übertragung sicher. Um dies zu erreichen, umfassen ARQ-Protokolle drei Hauptmechanismen: Fehlererkennung, Bestätigung und erneute Übertragung.
In einem ARQ-System fügt der Absender den ausgehenden Daten einen Fehlererkennungscode (wie einen CRC) hinzu. Nach dem Empfang verwendet der Empfänger denselben Fehlererkennungsalgorithmus, um die Daten zu validieren. Sind die Daten fehlerfrei, sendet der Empfänger eine Bestätigung an den Sender zurück. Wenn ein Fehler erkannt wird, sendet der Empfänger eine negative Bestätigung (NAK) oder schweigt in manchen Fällen einfach und fordert den Sender auf, die Daten erneut zu übertragen.
Die Mechanismen hinter automatischen Wiederholungsanfragen
ARQ-Protokolle basieren im Allgemeinen auf den oben beschriebenen Prinzipien, unterscheiden sich jedoch in der Art und Weise, wie sie mit bestimmten Situationen umgehen. Zu den Überlegungen beim ARQ-Design gehören:
- Was löst eine erneute Übertragung aus?
- Wie gehe ich mit Paketen außerhalb der Reihenfolge um?
- Wie können Effizienz und Durchsatz des Systems optimiert werden?
Die genauen Regeln für den Umgang mit diesen Szenarien definieren das Verhalten und die Leistungsmerkmale des ARQ-Protokolls. Beispielsweise kann die Reaktion des Protokolls auf mehrere fehlgeschlagene Übertragungen seine Zuverlässigkeit in lauten oder unzuverlässigen Kommunikationsumgebungen beeinträchtigen.
Hauptmerkmale automatischer Wiederholungsanfragen
Zu den herausragenden Merkmalen von ARQ-Protokollen gehören:
- Fehlerfreie Datenübermittlung: ARQ-Protokolle können garantieren, dass der Empfänger eine genaue Kopie der vom Sender übermittelten Daten erhält.
- Anpassungsfähigkeit: ARQ kann sich an unterschiedliche Rauschpegel und Fehlerraten im Kommunikationskanal anpassen.
- Effizienz: Indem nur fehlerhafte Daten erneut übertragen werden, vermeidet ARQ die Verschwendung von Bandbreite durch unnötige Übertragungen.
Arten von automatischen Wiederholungsanfragen
In Datenkommunikationssystemen werden üblicherweise drei Arten von ARQ-Protokollen verwendet:
- Stop-and-Wait-ARQ: Die einfachste Form von ARQ. Der Absender stoppt und wartet nach jeder Übertragung auf eine Bestätigung. Wenn innerhalb eines bestimmten Timeout-Zeitraums keine Bestätigung empfangen wird, überträgt der Absender die Daten erneut.
- Go-Back-N ARQ: Bei diesem Ansatz kann der Absender bis zu einem bestimmten Grenzwert (N) eine Reihe von Paketen übertragen, ohne auf Bestätigungen zu warten. Wenn ein Fehler erkannt wird, geht der Absender „zurück“ und überträgt ab diesem Zeitpunkt alle Pakete erneut.
- Selective Repeat ARQ: Selective Repeat ARQ ist eine Verbesserung gegenüber Go-Back-N und ermöglicht es dem Empfänger, Pakete außerhalb der Reihenfolge zu akzeptieren und nur die erneute Übertragung der fehlerhaften anzufordern.
Praktische Anwendungen und Herausforderungen
ARQ-Protokolle finden in nahezu allen Aspekten der digitalen Datenkommunikation Anwendung, einschließlich Mobilfunknetzen, Wi-Fi, Satellitenkommunikation und Dateiübertragungen über das Internet.
Allerdings ist der Einsatz von ARQ nicht ohne Herausforderungen. Beispielsweise können die zusätzlichen Daten, die zur Fehlererkennung und -quittierung benötigt werden, die nutzbare Bandbreite verringern. Darüber hinaus können sich die durch Neuübertragungen verursachten Verzögerungen auf Echtzeit-Kommunikationsanwendungen wie VoIP und Video-Streaming auswirken.
Vergleich mit anderen Fehlerkontrollprotokollen
Neben ARQ werden in der Datenkommunikation zwei weitere primäre Fehlerkontrollprotokolle verwendet:
-
Forward Error Correction (FEC): FEC kodiert die Daten so, dass der Empfänger eine begrenzte Anzahl von Fehlern korrigieren kann. Im Gegensatz zu ARQ erfordert FEC keine erneute Übertragung von Daten, erfordert jedoch mehr Bandbreite für die zusätzlichen Fehlerkorrekturcodes.
-
Hybrid ARQ (HARQ): HARQ kombiniert Elemente von ARQ und FEC. Wenn ein empfangenes Paket Fehler aufweist, versucht HARQ zunächst, die Fehler mithilfe von FEC zu korrigieren. Wenn dies fehlschlägt, wird auf den ARQ-Mechanismus zur Anforderung einer erneuten Übertragung zurückgegriffen.
Zukunftsperspektiven und Technologien
Mit der kontinuierlichen Weiterentwicklung der Datenkommunikationstechnologien werden auch ARQ-Protokolle verfeinert und optimiert. Protokolle, die für neue 5G-Netzwerke entwickelt wurden, verwenden beispielsweise ausgefeilte HARQ-Schemata, die sich in Echtzeit an die Bedingungen des Kommunikationskanals anpassen können, wodurch der Datendurchsatz maximiert und die Latenz minimiert wird.
Darüber hinaus könnte die zukünftige Forschung im Bereich der Quantenkommunikation und -verarbeitung zu neuen Arten von Fehlerkontrollprotokollen führen, die möglicherweise die traditionelle ARQ ersetzen oder ergänzen.
Proxyserver und automatische Wiederholungsanfragen
Auch Proxyserver, wie sie von OneProxy bereitgestellt werden, können von ARQ-Protokollen profitieren. Als Vermittler zwischen dem Client und dem Internet können Proxyserver ARQ nutzen, um die Integrität der über sie übertragenen Daten sicherzustellen. Beispielsweise könnte ein Proxyserver ARQ verwenden, um Daten erneut zu übertragen, wenn Fehler aufgrund von Netzwerküberlastung, Paketverlust oder anderen Problemen auftreten.
Dadurch können Proxyserver die Zuverlässigkeit der Clientverbindung verbessern, insbesondere in Szenarien mit instabilen oder unzuverlässigen Netzwerken.
verwandte Links
Weitere Informationen zu automatischen Wiederholungsanforderungen und verwandten Konzepten finden Sie in den folgenden Ressourcen: