Quali sono i protocolli di correzione degli errori del modem?
I protocolli di correzione degli errori del modem sono metodi per rilevare e correggere gli errori di trasmissione dei dati. Esistono protocolli basati sia su hardware sia su software e sono spesso impiegati insieme. Un singolo modem di solito utilizza un protocollo basato su hardware integrato per compensare il rumore del collegamento di comunicazione. I sistemi alle due estremità di un collegamento usano spesso protocolli basati su software per far fronte a problemi al di fuori del controllo di un modem.
La correzione degli errori di trasmissione è generalmente un processo in più fasi. Prima che ciascun pacchetto di dati venga inviato tramite il collegamento, il modem trasmittente calcola il proprio checksum e lo include nel pacchetto. Un algoritmo di controllo di ridondanza ciclica (CRC) viene spesso applicato per determinare il checksum. Quando arriva il pacchetto, il modem ricevente calcola anche il checksum dei dati e lo confronta con quello già presente nel pacchetto. Se i due non corrispondono, il destinatario notifica al trasmettitore che è necessario inviare nuovamente il pacchetto di dati errato.
Negli anni '80, Microcom, Inc. ha introdotto una famiglia di protocolli di correzione errori modem basati su hardware. Chiamato Microcom Networking Protocol (MNP), è composto da dieci classi numerate che hanno migliorato le prestazioni nel tempo. MNP Class 3 elimina, ad esempio, i bit di frame non necessari dai singoli byte di dati. La Classe 5 MNP comprime i dati prima di inviarli, basandosi sui miglioramenti nelle Classi da 1 a 4. La Classe 6 MNP varia la larghezza di banda dei dati, favorendo una direzione rispetto all'altra e riducendo i tempi di avvio della connessione.
L'MNP è stato ampiamente adottato ed è integrato nella maggior parte dei modem telefonici. Uno dei più avanzati protocolli di correzione errori modem basati su hardware è stato introdotto nei primi anni '90. Lo standard V.42 del settore delle norme di telecomunicazione dell'Unione internazionale delle telecomunicazioni (ITU-T) è stato rapidamente incluso nei modem insieme a MNP. La sua procedura di accesso ai modem (LAPM) include una compressione dei dati superiore rispetto a MNP. Inoltre aggiunge meno sovraccarico ai dati trasmessi e ha un supporto migliore per il controllo del flusso e la trasmissione sincrona.
I protocolli di correzione degli errori del modem basati su hardware possono essere molto efficaci nel garantire che ogni pacchetto di dati arrivi intatto. Tuttavia, molti trasferimenti di file possono essere gestiti in modo più efficiente utilizzando insieme protocolli software e hardware. Se si perde una connessione durante l'invio di un file molto grande, molti sistemi richiedono di ricominciare dall'inizio del file. Al contrario, alcuni protocolli di correzione degli errori basati su software ricorderanno dove la trasmissione era stata interrotta e continueranno da lì. I protocolli software possono anche gestire meglio il controllo del flusso nel sistema oltre la connessione modem stessa.
XMODEM è stato uno dei primi protocolli di correzione degli errori del modem basati su software creato alla fine degli anni '70. Era molto semplice, incluso un numero di blocco, un checksum primitivo e alcuni byte marker in ciascun pacchetto. Il suo algoritmo di checksum era problematico e molte persone implementarono presto varianti con funzionalità extra. Questi includevano blocchi di dimensioni maggiori, trasferimenti di più file e avvio di un nuovo pacchetto prima che il precedente fosse verificato. YMODEM, che è stato il successore di XMODEM a metà degli anni '80, ha elencato molti di questi come miglioramenti opzionali.
ZMODEM e le sue varianti sono protocolli di correzione errori modem basati su software molto migliorati. Sviluppato nel 1986 dall'autore di YMODEM, ZMODEM include un algoritmo CRC molto migliore a 32 bit. Può passare al pacchetto successivo senza attendere il riconoscimento di quello corrente, migliorando la velocità di trasmissione o la consegna dei messaggi. ZMODEM può anche riavviare un trasferimento di file di grandi dimensioni da dove era stato interrotto in caso di interruzione della connessione. Le varianti successive includevano blocchi di dimensioni ancora maggiori e la compressione automatica dei dati dei pacchetti.