Protocoalele de corectare a erorilor modemului sunt metode de detectare și corectare a erorilor de transmisie a datelor. Există și protocoale bazate pe hardware și pe software și sunt adesea folosite împreună. Un modem individual folosește de obicei un protocol încorporat bazat pe hardware pentru a compensa zgomotul legat de comunicație. Sistemele de la ambele capete ale unei legături folosesc adesea protocoale bazate pe software pentru a face față problemelor dincolo de controlul unui modem.
Corectarea erorilor de transmisie este, în general, un proces în mai multe etape. Înainte ca fiecare pachet de date să fie trimis prin legătură, modemul de transmisie își calculează suma de control și o include în pachet. Un algoritm de verificare a redundanței ciclice (CRC) este adesea aplicat pentru a determina suma de control. Când pachetul ajunge, modemul de recepție calculează și suma de control a datelor și o compară cu cea aflată deja în pachet. Dacă cele două nu se potrivesc, receptorul anunță transmițătorul că trebuie să retrimită pachetul de date prost.
În anii 1980, Microcom, Inc. a introdus o familie de protocoale de corectare a erorilor de modem bazate pe hardware. Numit Microcom Networking Protocol (MNP), este format din zece clase numerotate care au îmbunătățit performanța în timp. MNP Clasa 3 elimină biții de încadrare nenecesari din octeții de date individuali, de exemplu. MNP Class 5 comprimă datele înainte de a le trimite, bazându-se pe îmbunătățirile din Clasele 1 până la 4. MNP Class 6 variază lățimea de bandă a datelor, favorizând o direcție față de cealaltă, după cum este necesar, și reduce timpul de pornire a conexiunii.
MNP a fost adoptat pe scară largă și este încorporat în majoritatea modemurilor bazate pe telefon. Unul dintre cele mai avansate protocoale de corectare a erorilor de modem bazate pe hardware a fost introdus la începutul anilor 1990. Standardul V.42 al Uniunii Internaționale de Telecomunicații pentru Sectorul de Standardizare a Telecomunicațiilor (ITU-T) a fost inclus rapid în modemuri alături de MNP. Procedura sa de acces la legături pentru modemuri (LAPM) include o compresie superioară a datelor în comparație cu MNP. De asemenea, adaugă mai puțină supraîncărcare datelor transmise și are un suport mai bun pentru controlul fluxului și transmisia sincronă.
Protocoalele de corectare a erorilor de modem bazate pe hardware pot fi foarte bune pentru a se asigura că fiecare pachet de date ajunge intact. Cu toate acestea, multe transferuri de fișiere pot fi gestionate mai eficient prin utilizarea împreună a protocoalelor software și hardware. Dacă o conexiune se pierde în timpul trimiterii unui fișier foarte mare, multe sisteme necesită o pornire de la începutul fișierului. În schimb, unele protocoale de corectare a erorilor bazate pe software își vor aminti unde s-a oprit transmisia și vor continua de acolo. De asemenea, protocoalele software pot gestiona mai bine controlul fluxului în sistem dincolo de conexiunea modemului în sine.
XMODEM a fost unul dintre primele protocoale de corectare a erorilor de modem bazate pe software, create la sfârșitul anilor 1970. A fost foarte simplu, incluzând un număr de bloc, o sumă de control primitivă și câțiva octeți de marcare în fiecare pachet. Algoritmul său de sumă de control a fost problematic și mulți oameni au implementat în curând variații cu funcții suplimentare. Acestea au inclus blocuri de dimensiuni mai mari, transferuri de fișiere multiple și începerea unui nou pachet înainte ca cel anterior să fie verificat. YMODEM, care a fost succesorul XMODEM la mijlocul anilor 1980, a enumerat multe dintre acestea ca îmbunătățiri opționale.
ZMODEM și variantele sale sunt protocoale de corectare a erorilor de modem bazate pe software mult îmbunătățite. Dezvoltat în 1986 de autorul cărții YMODEM, ZMODEM include un algoritm CRC mult mai bun folosind 32 de biți. Poate trece la următorul pachet fără a aștepta ca cel curent să fie confirmat, îmbunătățind debitul sau livrarea mesajelor. ZMODEM poate, de asemenea, reporni un transfer mare de fișiere de unde a rămas, dacă conexiunea este întreruptă. Variațiile ulterioare au inclus blocuri de dimensiuni și mai mari și comprimarea automată a pachetelor de date.