Was sind Modem-Fehlerkorrekturprotokolle?
Modem-Fehlerkorrekturprotokolle sind Verfahren zum Erkennen und Korrigieren von Datenübertragungsfehlern. Sowohl hardwarebasierte als auch softwarebasierte Protokolle existieren und werden häufig zusammen verwendet. Ein einzelnes Modem verwendet normalerweise ein eingebautes hardwarebasiertes Protokoll, um das Rauschen der Kommunikationsverbindung zu kompensieren. Systeme an beiden Enden einer Verbindung verwenden häufig softwarebasierte Protokolle, um Probleme zu bewältigen, die außerhalb der Kontrolle eines Modems liegen.
Die Übertragungsfehlerkorrektur ist im Allgemeinen ein mehrstufiger Prozess. Bevor jedes Datenpaket über die Verbindung gesendet wird, berechnet das sendende Modem seine Prüfsumme und nimmt sie in das Paket auf. Zur Ermittlung der Prüfsumme wird häufig ein CRC-Algorithmus (Cyclic Redundancy Check) verwendet. Wenn das Paket eintrifft, berechnet das empfangende Modem auch die Prüfsumme der Daten und vergleicht sie mit der bereits im Paket enthaltenen. Stimmen die beiden nicht überein, benachrichtigt der Empfänger den Sender, dass er das fehlerhafte Datenpaket erneut senden muss.
In den 1980er Jahren führte Microcom, Inc. eine Familie hardwarebasierter Modem-Fehlerkorrekturprotokolle ein. Es wird als Microcom Networking Protocol (MNP) bezeichnet und besteht aus zehn nummerierten Klassen, die die Leistung im Laufe der Zeit verbessern. MNP Class 3 eliminiert beispielsweise nicht benötigte Framing-Bits aus einzelnen Datenbytes. MNP Class 5 komprimiert die Daten, bevor sie gesendet werden, und baut auf den Verbesserungen in den Klassen 1 bis 4 auf. MNP Class 6 variiert die Datenbandbreite, wobei je nach Bedarf eine Richtung gegenüber der anderen bevorzugt wird, und verkürzt die Verbindungsstartzeit.
MNP wurde weitgehend übernommen und ist in die meisten telefonbasierten Modems integriert. Eines der fortschrittlicheren Hardware-basierten Modem-Fehlerkorrekturprotokolle wurde Anfang der 1990er Jahre eingeführt. Der V.42-Standard des Telekommunikationsstandardisierungssektors (ITU-T) der International Telecommunication Union wurde neben MNP schnell in Modems integriert. Das Verbindungszugriffsverfahren für Modems (LAPM) bietet im Vergleich zu MNP eine überlegene Datenkomprimierung. Außerdem wird der Overhead für die übertragenen Daten verringert und die Flusskontrolle und die synchrone Übertragung werden besser unterstützt.
Hardware-basierte Modem-Fehlerkorrekturprotokolle können sehr gut sicherstellen, dass jedes Datenpaket intakt ankommt. Viele Dateiübertragungen können jedoch effizienter gehandhabt werden, indem sowohl Software- als auch Hardwareprotokolle zusammen verwendet werden. Wenn beim Senden einer sehr großen Datei eine Verbindung unterbrochen wird, müssen viele Systeme am Anfang der Datei neu beginnen. Im Gegensatz dazu merken sich einige softwarebasierte Fehlerkorrekturprotokolle, wo die Übertragung aufgehört hat, und fahren von dort fort. Software-Protokolle können die Flusskontrolle im System auch über die Modemverbindung hinaus besser verwalten.
XMODEM war eines der frühen softwarebasierten Modem-Fehlerkorrekturprotokolle, die Ende der 1970er Jahre erstellt wurden. Es war sehr einfach, einschließlich einer Blocknummer, einer primitiven Prüfsumme und einiger Markierungsbytes in jedem Paket. Der Prüfsummenalgorithmus war problematisch, und viele Leute implementierten bald Variationen mit zusätzlichen Funktionen. Dazu gehörten größere Blöcke, die Übertragung mehrerer Dateien und das Starten eines neuen Pakets, bevor das vorherige überprüft wurde. YMODEM, das Mitte der 1980er Jahre der Nachfolger von XMODEM war, listete viele davon als optionale Erweiterungen auf.
ZMODEM und seine Varianten sind stark verbesserte, softwarebasierte Modem-Fehlerkorrekturprotokolle. ZMODEM wurde 1986 vom Autor von YMODEM entwickelt und enthält einen viel besseren CRC-Algorithmus mit 32 Bit. Es kann zum nächsten Paket übergehen, ohne auf die Bestätigung des aktuellen Pakets zu warten, wodurch der Durchsatz oder die Nachrichtenübermittlung verbessert werden. ZMODEM kann auch eine große Dateiübertragung von der Stelle aus neu starten, an der sie unterbrochen wurde, wenn die Verbindung unterbrochen wurde. Zu den späteren Varianten gehörten noch größere Blöcke und die automatische Komprimierung von Paketdaten.