Hvad er modemfejlkorrigerende protokoller?
Protokoller til korrektion af modem er metoder til at detektere og rette dataoverførselsfejl. Både hardwarebaserede og softwarebaserede protokoller findes og anvendes ofte sammen. Et individuelt modem bruger normalt en indbygget hardwarebaseret protokol til at kompensere for støj til kommunikationsforbindelser. Systemer i begge ender af et link bruger ofte softwarebaserede protokoller til at tackle problemer uden for et modems kontrol.
Rettelse af transmissionsfejl er generelt en multiple-trins proces. Inden hver datapakke sendes over linket, beregner det transmitterende modem sin testsum og inkluderer den i pakken. En CRC-algoritme (Cyclic Redundancy Check) anvendes ofte til at bestemme kontrolsummen. Når pakken ankommer, beregner det modtagende modem også datas kontrolsum og sammenligner det med det, der allerede er i pakken. Hvis de to ikke stemmer overens, meddeler modtageren transmitteren, at den skal sendes den dårlige datapakke igen.
I 1980'erne introducerede Microcom, Inc. en familie af hardware-baserede modemfejlkorrektion protokoller. Kaldes Microcom Networking Protocol (MNP) og består af ti klassificerede klasser, der forbedrede ydeevne over tid. MNP Klasse 3 eliminerer for eksempel unødvendige indrammingsbits fra individuelle databyte. MNP Klasse 5 komprimerer dataene, før de sender dem, og bygger på forbedringerne i klasse 1 til 4. MNP Klasse 6 varierer databåndbredden, hvilket favoriserer den ene retning frem for den anden efter behov og reducerer forbindelsens opstartstid.
MNP blev bredt anvendt og er indbygget i de fleste telefonbaserede modemer. En af de mere avancerede hardwarebaserede protokoller til fejlkorrektion af modem blev introduceret i de tidlige 1990'ere. Den internationale telekommunikationsunions telekommunikationsstandardiseringssektor (ITU-T) V.42-standard blev hurtigt inkluderet i modemer ved siden af MNP. Dens Link Access Procedure for Modems (LAPM) inkluderer overlegen datakomprimering sammenlignet med MNP. Det tilføjer også mindre overhead til de transmitterede data og har bedre understøttelse af flowkontrol og synkron transmission.
Hardwarebaseret modemfejlkorrigeringsprotokoller kan være meget gode til at sikre, at hver datapakke ankommer intakt. Mange filoverførsler kan dog håndteres mere effektivt ved at bruge både software og hardwareprotokoller sammen. Hvis en forbindelse mistes under afsendelse af en meget stor fil, kræver mange systemer at starte fra begyndelsen af filen. I modsætning hertil husker nogle softwarebaserede fejlkorrigerende protokoller, hvor transmissionen slap og fortsætter derfra. Softwareprotokoller kan også bedre styre flowkontrol i systemet ud over selve modemforbindelsen.
XMODEM var en af de tidlige softwarebaserede modemfejlkorrektion protokoller oprettet i slutningen af 1970'erne. Det var meget enkelt, inklusive et bloknummer, et primitivt kontrolsum og et par markørbyte i hver pakke. Dets kontrolsumalgoritme var problematisk, og mange mennesker implementerede snart variationer med ekstra funktioner. Disse omfattede større blokstørrelser, overførsler af flere filer og start af en ny pakke, før den forrige blev verificeret. YMODEM, som var XMODEMs efterfølger i midten af 1980'erne, anførte mange af disse som valgfrie forbedringer.
ZMODEM og dets varianter er meget forbedrede softwarebaserede modemfejlkorrigerende protokoller. ZMODEM blev udviklet i 1986 af forfatteren af YMODEM og inkluderer en meget bedre CRC-algoritme ved hjælp af 32 bit. Den kan gå videre til den næste pakke uden at vente på, at den nuværende bliver bekræftet, forbedret gennemstrømning eller meddelelselevering. ZMODEM kan også genstarte en stor filoverførsel, hvorfra den slap, hvis forbindelsen er ødelagt. Senere variationer inkluderede endnu større blokstørrelser og automatisk komprimering af pakkedata.