Modem hata düzeltme protokolleri veri aktarım hatalarını tespit etmek ve düzeltmek için kullanılan yöntemlerdir. Hem donanım hem de yazılım tabanlı protokoller mevcuttur ve çoğu zaman birlikte kullanılır. Tek bir modem iletişim bağlantı gürültüsünü telafi etmek için genellikle yerleşik bir donanım tabanlı protokol kullanır. Bir bağlantının her iki ucundaki sistemler, modem kontrolünün dışındaki problemlerle başa çıkmak için sıklıkla yazılım tabanlı protokoller kullanır.
İletim hatası düzeltmesi genellikle çok adımlı bir işlemdir. Her veri paketi link üzerinden gönderilmeden önce, verici modem kontrol toplamını hesaplar ve pakete dahil eder. Sağlama miktarını belirlemek için genellikle bir Döngüsel Artıklık Kontrolü (CRC) algoritması uygulanır. Paket geldiğinde, alıcı modem aynı zamanda verinin sağlama toplamını da hesaplar ve onu zaten paket içindeki ile karşılaştırır. İkisi uyuşmuyorsa, alıcı vericiye kötü veri paketini tekrar göndermesi gerektiğini bildirir.
1980'lerde Microcom, Inc. donanım tabanlı modem hata düzeltme protokolleri ailesini tanıttı. Microcom Ağ İletişimi Protokolü (MNP) olarak adlandırılan, zaman içinde performansı artıran on numaralı sınıftan oluşur. MNP Sınıf 3, örneğin gereksiz veri bitlerini bireysel veri baytlarından elimine eder. MNP Sınıf 5, verileri göndermeden önce sıkıştırır, Sınıf 1 ila 4'teki gelişmelere dayanarak. MNP Sınıf 6, veri bant genişliğini değiştirir, bir diğerinin yönünü gerektiği gibi seçer ve bağlantı başlatma süresini azaltır.
MNP yaygın olarak benimsendi ve telefon tabanlı modemlerin çoğuna yerleştirildi. Daha gelişmiş donanım tabanlı modem hata düzeltme protokollerinden biri 1990'ların başında tanıtıldı. Uluslararası Telekomünikasyon Birliği'nin Telekomünikasyon Standardizasyon Sektörü (ITU-T) V.42 standardı, MNP ile birlikte modemlere hızlı bir şekilde dahil edildi. Modemler için Link Erişim Prosedürü (LAPM), MNP'ye kıyasla üstün veri sıkıştırması içerir. Ayrıca iletilen verilere daha az ek yük ekler ve akış kontrolü ve senkron iletim için daha iyi desteği vardır.
Donanım tabanlı modem hata düzeltme protokolleri, her veri paketinin bozulmadan gelmesini sağlamada çok iyi olabilir. Bununla birlikte, birçok dosya aktarımı, hem yazılım hem de donanım protokollerini birlikte kullanarak daha verimli bir şekilde gerçekleştirilebilir. Çok büyük bir dosya gönderilirken bir bağlantı koparsa, birçok sistem dosyanın başından itibaren başlatılmasını gerektirir. Buna karşılık, bazı yazılım tabanlı hata düzeltme protokolleri, iletimin nerede kaldığını ve oradan devam ettiğini hatırlayacaktır. Yazılım protokolleri, sistemdeki akış kontrolünü modem bağlantısının ötesinde daha iyi yönetebilir.
XMODEM, 1970'lerin sonunda yaratılan ilk yazılım tabanlı modem hata düzeltme protokollerinden biriydi. Her bir pakette bir blok numarası, ilkel bir sağlama toplamı ve birkaç marker bayt dahil, çok basitti. Sağlama toplamı algoritması sorunluydu ve birçok kişi kısa sürede ekstra özelliklere sahip varyasyonlar uyguladı. Bunlar daha büyük blok boyutları, birden fazla dosya aktarımı ve bir öncekinin doğrulanmasından önce yeni bir paketin başlatılmasıydı. 1980'lerin ortalarında XMODEM'in halefi olan YMODEM, bunların çoğunu isteğe bağlı donanımlar olarak sıraladı.
ZMODEM ve çeşitleri, geliştirilmiş yazılım tabanlı modem hata düzeltme protokolleridir. 1986 yılında YMODEM'in yazarı tarafından geliştirilen ZMODEM, 32 bit kullanan daha iyi bir CRC algoritması içeriyor. Mevcut onaylanmasını beklemeden, işlem hacmini veya mesaj teslimini beklemeden bir sonraki pakete geçebilir. ZMODEM ayrıca, bağlantı koparsa bıraktığı yerden büyük bir dosya aktarımını başlatabilir. Daha sonraki değişiklikler daha da büyük blok boyutlarını ve otomatik paket veri sıkıştırmasını içeriyordu.


