Hva er modemfeilkorrigerende protokoller?
Protokoller for feilkorrigering av modem er metoder for å oppdage og rette dataoverføringsfeil. Både maskinvarebaserte og programvarebaserte protokoller eksisterer og brukes ofte sammen. Et individuelt modem bruker vanligvis en innebygd maskinvarebasert protokoll for å kompensere for støy i kommunikasjonslenken. Systemer i begge ender av en kobling bruker ofte programvarebaserte protokoller for å takle problemer utenfor et modems kontroll.
Retting av overføringsfeil er vanligvis en flerstegsprosess. Før hver datapakke sendes over lenken, beregner det overførende modemet sitt sjekksum og inkluderer det i pakken. En CRC-algoritme (Cyclic Redundancy Check) brukes ofte for å bestemme kontrollsummen. Når pakken ankommer, beregner også mottaksmodemet dataets kontrollsum og sammenligner det med det som allerede er i pakken. Hvis de to ikke stemmer overens, varsler mottakeren senderen at den trenger å sende den dårlige datapakken på nytt.
På 1980-tallet introduserte Microcom, Inc. en familie av maskinvarebaserte feilkorrigerende protokoller for modem. Kalt Microcom Networking Protocol (MNP), og består av ti nummererte klasser som forbedret ytelsen over tid. MNP Klasse 3 eliminerer for eksempel unødvendige innrammingsbiter fra individuelle databyte. MNP Klasse 5 komprimerer dataene før de sender dem, og bygger på forbedringene i klasse 1 til 4. MNP Klasse 6 varierer databåndbredden, og foretrekker en retning fremfor den andre etter behov, og reduserer oppstartstiden for tilkoblingen.
MNP ble bredt adoptert og er innebygd i de fleste telefonbaserte modemer. En av de mer avanserte maskinvarebaserte protokollene for feilretting av modem ble introdusert på begynnelsen av 1990-tallet. Den internasjonale telekommunikasjonsforeningens telekommunikasjonsstandardiseringssektor (ITU-T) V.42-standard ble raskt inkludert i modemer ved siden av MNP. Dens Link Access-prosedyre for modemer (LAPM) inkluderer overlegen datakomprimering sammenlignet med MNP. Det gir også mindre overhead til de overførte dataene og har bedre støtte for flytkontroll og synkron overføring.
Maskinvarebaserte protokoller om feilretting av modem kan være veldig gode til å sikre at hver datapakke kommer intakt. Mange filoverføringer kan imidlertid håndteres mer effektivt ved å bruke både programvare og maskinvareprotokoller sammen. Hvis en tilkobling går tapt mens du sender en veldig stor fil, krever mange systemer å starte på nytt fra begynnelsen av filen. I kontrast vil noen programvarebaserte feilkorreksjonsprotokoller huske hvor overføringen slapp og fortsette derfra. Programvareprotokoller kan også bedre styre flytkontrollen i systemet utover selve modemforbindelsen.
XMODEM var en av de tidlige programvarebaserte feilkorreksjonsprotokollene for modem opprettet på slutten av 1970-tallet. Det var veldig enkelt, inkludert et blokknummer, et primitivt kontrollsum og noen få markørbyte i hver pakke. Kontrollsumalgoritmen var problematisk, og mange mennesker implementerte snart varianter med ekstra funksjoner. Disse inkluderer større blokkstørrelser, overføringer av flere filer og start av en ny pakke før den forrige ble bekreftet. YMODEM, som var XMODEMs etterfølger på midten av 1980-tallet, listet mange av disse som valgfrie forbedringer.
ZMODEM og dets varianter er mye forbedret programvarebasert feilkorrigerende protokoll for modem. ZMODEM ble utviklet i 1986 av forfatteren av YMODEM og inkluderer en mye bedre CRC-algoritme ved bruk av 32 biter. Den kan gå videre til neste pakke uten å vente på at den nåværende blir bekreftet, forbedret gjennomstrømning eller levering av meldinger. ZMODEM kan også starte en stor filoverføring derfra den slapp hvis forbindelsen er brutt. Senere varianter inkluderte enda større blokkstørrelser og automatisk komprimering av pakkedata.