Kas yra modemo klaidų taisymo protokolai?

Modemo klaidų taisymo protokolai yra duomenų perdavimo klaidų aptikimo ir taisymo metodai. Egzistuoja ir aparatinės, ir programinės įrangos protokolai, kurie dažnai naudojami kartu. Atskiras modemas paprastai naudoja integruotą aparatinės įrangos protokolą, kad kompensuotų ryšio ryšio triukšmą. Abiejuose nuorodos galuose esančios sistemos dažnai naudoja programinės įrangos protokolus, kad susidorotų su problemomis, kurių modemas nekontroliuoja.

Perdavimo klaidų taisymas paprastai yra kelių etapų procesas. Prieš siunčiant kiekvieną duomenų paketą per saitą, siunčiantis modemas apskaičiuoja jo kontrolinę sumą ir įtraukia ją į paketą. Kontrolinei sumai nustatyti dažnai taikomas ciklinio atleidimo patikrinimo (CRC) algoritmas. Kai gaunamas paketas, priimantis modemas taip pat apskaičiuoja duomenų kontrolinę sumą ir palygina ją su jau esančia pakete. Jei abu nesutampa, imtuvas praneša siųstuvui, kad reikia iš naujo išsiųsti netinkamą duomenų paketą.

Devintajame dešimtmetyje Microcom, Inc. pristatė aparatinės įrangos modemo klaidų taisymo protokolų šeimą. Vadinamas Microcom tinklo protokolu (MNP), jis susideda iš dešimties sunumeruotų klasių, kurios laikui bėgant pagerino našumą. Pavyzdžiui, MNP klasė 1980 pašalina nereikalingus kadravimo bitus iš atskirų duomenų baitų. MNP klasė 3 suglaudina duomenis prieš juos siųsdama, remdamasi 5–1 klasių patobulinimais. MNP klasė 4 keičia duomenų pralaidumą, prireikus teikdama pirmenybę vienai krypčiai, o ne kitai, ir sumažina ryšio paleidimo laiką.

MNP buvo plačiai naudojamas ir yra integruotas į daugumą telefoninių modemų. Dešimtojo dešimtmečio pradžioje buvo pristatytas vienas iš pažangesnių aparatinės įrangos modemo klaidų taisymo protokolų. Tarptautinės telekomunikacijų sąjungos telekomunikacijų standartizacijos sektoriaus (ITU-T) V.1990 standartas greitai buvo įtrauktas į modemus kartu su MNP. Jo modemų ryšio prieigos procedūra (LAPM) apima geresnį duomenų glaudinimą, palyginti su MNP. Tai taip pat sumažina perduodamų duomenų pridėtinę vertę ir geriau palaiko srauto valdymą bei sinchroninį perdavimą.

Aparatinės įrangos modemo klaidų taisymo protokolai gali labai gerai užtikrinti, kad kiekvienas duomenų paketas būtų nepažeistas. Tačiau daugelis failų perdavimo gali būti tvarkomi efektyviau, kartu naudojant programinės ir aparatinės įrangos protokolus. Jei ryšys nutrūksta siunčiant labai didelį failą, daugelis sistemų reikalauja pradėti nuo failo pradžios. Priešingai, kai kurie programine įranga pagrįsti klaidų taisymo protokolai atsimins, kur buvo nutrauktas perdavimas, ir tęsia nuo ten. Programinės įrangos protokolai taip pat gali geriau valdyti srauto valdymą sistemoje už paties modemo ryšio.

XMODEM buvo vienas iš ankstyvųjų programinės įrangos pagrindu veikiančių modemo klaidų taisymo protokolų, sukurtų aštuntojo dešimtmečio pabaigoje. Tai buvo labai paprasta, įskaitant bloko numerį, primityvią kontrolinę sumą ir kelis žymeklio baitus kiekviename pakete. Jo kontrolinės sumos algoritmas buvo problemiškas, ir daugelis žmonių netrukus įdiegė variantus su papildomomis funkcijomis. Tai apėmė didesnius blokų dydžius, kelių failų perkėlimą ir naujo paketo paleidimą prieš patvirtinant ankstesnį. YMODEM, kuris buvo XMODEM įpėdinis devintojo dešimtmečio viduryje, daugelis jų išvardijo kaip pasirenkamus patobulinimus.
ZMODEM ir jo variantai yra gerokai patobulinti programinės įrangos pagrindu veikiantys modemo klaidų taisymo protokolai. 1986 m. sukurtas YMODEM autoriaus, ZMODEM apima daug geresnį CRC algoritmą, naudojantį 32 bitus. Jis gali pereiti prie kito paketo nelaukdamas, kol bus patvirtintas dabartinis, pagerindamas pralaidumą ar pranešimo pristatymą. ZMODEM taip pat gali iš naujo paleisti didelio failo perkėlimą iš ten, kur jis buvo nutrauktas, jei ryšys nutrūksta. Vėlesni variantai apėmė dar didesnius blokų dydžius ir automatinį paketinių duomenų glaudinimą.