Vad är modemfelkorrigerande protokoll?
Protokoll för modelfelkorrigering är metoder för att upptäcka och korrigera dataöverföringsfel. Både hårdvarubaserade och mjukvarubaserade protokoll finns och används ofta tillsammans. Ett individuellt modem använder vanligtvis ett inbyggt hårdvarubaserat protokoll för att kompensera för kommunikationslänkbrus. System i båda ändarna av en länk använder ofta programvarubaserade protokoll för att hantera problem utanför ett modems kontroll.
Korrigering av överföringsfel är i allmänhet en process i flera steg. Innan varje datapaket skickas över länken beräknar det sändande modemet sitt kontrollsumma och inkluderar det i paketet. En CRC-algoritm (Cyclic Redundancy Check) används ofta för att bestämma kontrollsumman. När paketet anländer beräknar det mottagande modemet också datans kontrollsumma och jämför det med det som redan finns i paketet. Om de två inte matchar, meddelar mottagaren sändaren att den behöver skicka om det dåliga datapaketet.
Under 1980-talet introducerade Microcom, Inc. en familj av hårdvarubaserade protokoll för modelfelkorrigering. Kallas Microcom Networking Protocol (MNP) och består av tio numrerade klasser som förbättrade prestandan över tid. MNP Class 3 eliminerar till exempel onödiga inramningsbitar från enskilda databytes. MNP klass 5 komprimerar data innan den skickar den, bygger på förbättringarna i klasserna 1 till 4. MNP klass 6 varierar databandbredden, föredrar en riktning framför den andra efter behov och reducerar starttiden för anslutningen.
MNP antogs allmänt och är inbyggt i de flesta telefonbaserade modem. Ett av de mer avancerade hårdvarubaserade protokollen för felkorrigering av modem infördes i början av 1990-talet. Internationella telekommunikationsunionens telekommunikationsstandardiseringssektor (ITU-T) V.42-standard inkluderades snabbt i modem bredvid MNP. Dess länkåtkomstförfarande för modem (LAPM) inkluderar överlägsen datakomprimering jämfört med MNP. Det ger också mindre overhead till den överförda datan och har bättre stöd för flödeskontroll och synkron överföring.
Hårdvarubaserat modemfelkorrigerande protokoll kan vara mycket bra på att säkerställa att varje datapaket kommer intakt. Många filöverföringar kan hanteras mer effektivt genom att använda både programvara och hårdvaruprotokoll tillsammans. Om en anslutning går förlorad när du skickar en mycket stor fil kräver många system att börja om från början av filen. Däremot kommer vissa programvarubaserade felkorrigerande protokoll att komma ihåg var överföringen slutade och fortsätter därifrån. Programvaruprotokoll kan också bättre hantera flödeskontroll i systemet utöver själva modemanslutningen.
XMODEM var ett av de tidiga programvarubaserade felkorrigeringsprotokollen för modem som skapades i slutet av 1970-talet. Det var mycket enkelt, inklusive ett blocknummer, en primitiv kontrollsumma och några markörbyte i varje paket. Dess kontrollsumalgoritm var problematisk och många implementerade snart variationer med extra funktioner. Dessa inkluderade större blockstorlekar, överföringar av flera filer och att starta ett nytt paket innan det föregående verifierades. YMODEM, som var XMODEMs efterföljare i mitten av 1980-talet, listade många av dessa som valfria förbättringar.
ZMODEM och dess varianter är mycket förbättrade programvarubaserade modelfelkorrigerande protokoll. ZMODEM utvecklades 1986 av författaren till YMODEM och innehåller en mycket bättre CRC-algoritm med 32 bitar. Det kan gå vidare till nästa paket utan att vänta på att det aktuella ska bekräftas, förbättra genomströmning eller leverans av meddelanden. ZMODEM kan också starta om en stor filöverföring där den slutade om anslutningen är trasig. Senare variationer inkluderade ännu större blockstorlekar och automatisk komprimering av paketdata.