Kas yra kontrolinės sumos?

Kontrolinės sumos yra fiksuoti informacijos blokai arba atskaitos taškai, naudojami duomenų vientisumui patikrinti ir palaikyti, kai saugoma ir perduodama kompiuterizuota informacija. Naudodamas matematines funkcijas, kontrolinės sumos algoritmas sulygina bitų skaičių tam tikrame informacijos bloke ir generuoja skaičių, kuris atspindi tikslius duomenis. Kai duomenys dubliuojami bet kokiomis priemonėmis, dublikatas patikrinamas pagal pradinį skaičių pagal apskaičiuotą vertę. Jei skaičiai sutampa, duomenys laikomi išsamiais ir tiksliais.

Daugeliui galiojančių failų perdavimo protokolų (FTP) reikalingas tam tikras duomenų patikrinimas, o daugelis funkcijų gali ne tik aptikti, bet ir ištaisyti nedideles duomenų vientisumo problemas. Kai kurios kontrolinių sumų rūšys – taip pat žinomos kaip maišos sumos – apima md5 ir ciklinius atleidimo patikrinimus (CRC). CRC yra kontrolinės sumos tipas, žinomas kaip daugianario kodo kontrolinė suma, galinti nustatyti atsitiktinius pradinio duomenų formato pakeitimus.

Nors naudingos aptikti klaidas failuose, atsisiųstuose iš interneto arba per lygiaverčius (P2P) tinklus, kontrolinės sumos taip pat naudojamos bet kuriai funkcijai, kai duomenys gali būti sugadinti, kai jie perduodami tinklu arba laikmenoje. Duomenų klaidas dažnai sukelia trūkstami, pasikartojantys arba neteisingi bitai. Kadangi kontrolinės sumos reikšmė apskaičiuojama pagal kiekvieną duomenų bloko bitą, net vienas trūkstamas bitas gali sukelti kontrolinės sumos klaidą.

Dauguma failų užkoduoja kontrolines sumas tiesiai į savo duomenis, paprastai pridedamas prie failo pabaigos. Kai failas perkeliamas į kitą sistemą ar įrenginį, imtuvas nuskaito kontrolinę sumą ir naudoja savo algoritmą, kad patikrintų, ar visas failas buvo gautas be klaidų. Failai su trūkstamais, sugadintais arba pasikartojančiais bitais gali neveikti tinkamai arba iš viso neveikti. Kiti gali atrodyti tinkamai veikiantys, nepaisant to, kad nepavyko atlikti kontrolinės sumos. Neišsamūs arba sugadinti duomenys laikui bėgant gali blogėti, kol tampa netinkami naudoti arba sukels klaidų.

Dėl savo pobūdžio pagrindinės kontrolinės sumos paprastai yra naudingos tik tikrinant ir taisant mažus duomenų blokus. Didėjant informacijos kiekiui, didėja ir klaidos tikimybė, kontrolinė suma negali nei aptikti, nei ištaisyti. Dėl to sugadinti duomenys gali pakartotinai išlaikyti kontrolinę sumą, sukelti daugiau klaidų ir netgi sugadinti kontrolinės sumos atskaitos tašką.

Cikliniai dubliavimo patikrinimai dėl didesnio jų algoritmų sudėtingumo turi daug mažesnį klaidų lygį nei standartinė kontrolinė suma ir gali būti taikomi didesniems duomenų blokams. Nors CRC nėra saugūs, jie vis tiek užtikrina didesnį patikimumą tikrinant ir išsaugant duomenų vientisumą. Kai kuri programinė įranga taip pat suteikia kontrolinės sumos galimybę ir klaidų taisymą pagal pasirinktines funkcijas.