CRC proti Checksumu
Kadar koli so podatki shranjeni v računalniku z namenom, da jih posredujejo, je treba zagotoviti, da podatki niso poškodovani. Če bi bili poslani poškodovani podatki, bi bili poslani netočni podatki in morda ne bodo delovali po želji. Zato je potreben sistem za zaznavanje napak, ki preverja, ali so vsi vneseni podatki v redu in niso poškodovani, preden pride do šifriranja ali prenosa. Za preverjanje podatkov obstajata dve glavni metodi.
Kontrolni znesek je zagotovo najstarejša metoda, ki je bila uporabljena pri potrjevanju vseh podatkov pred pošiljanjem. Preverjanje pomaga tudi pri avtentifikaciji podatkov, saj naj bi bili surovi podatki in vneseni podatki skladni. Če opazite nepravilnost, ki jo imenujemo neveljavna kontrolna vsota, obstaja sum, da je pri določeni metodi morda prišlo do ogrožanja podatkov..
Ciklično preverjanje odvečnosti ali CRC, kot je običajno omenjeno, je pojem, ki se uporablja tudi pri preverjanju podatkov. Načelo, ki ga uporablja CRC, je podobno kontrolnim vsotam, vendar se pri določanju CRC namesto uporabe 8-bajtnega sistema, ki ga uporablja Checksum pri preverjanju skladnosti podatkov, uporablja polinojska delitev. CRC je najpogosteje dolg 16 ali 32 bitov. Če manjka en bajt, je v podatkih označena neskladnost, saj se ne sešteva v izvirniku.
Razlike
Ena od razlik med dvema je, da CRC uporablja matematično formulo, ki temelji na 16- ali 32-bitnem kodiranju, v nasprotju s Checksum-om, ki temelji na 8 bajtih pri preverjanju podatkovnih anomalij. CRC temelji na hash pristopu, medtem ko Checksum svoje vrednosti dobi iz dodatka vseh okrnjenih podatkov, ki lahko pridejo v 8 ali 16 bitov. CRC ima zato večjo sposobnost prepoznavanja podatkovnih napak kot enega bita, ki manjka v sistemu heš, kar spremeni splošni rezultat.
Po drugi strani pa kontrolna vsota zahteva manjšo preglednost in bo zagotovila dovolj zaznavanja napak, saj uporablja dodatek bajtov s spremenljivko. Zato lahko rečemo, da je glavni namen CRC ujeti različne napake, do katerih lahko pride med prenosom podatkov v analognem načinu. Po drugi strani lahko rečemo, da je Checksum zasnovan samo zato, da opazimo redne napake, ki se lahko pojavijo med izvajanjem programske opreme.
CRC je izboljšanje glede na kontrolne vsote. Kot smo že omenili, so kontrolne vsote tradicionalna oblika računanja, CRC-ji pa le zgolj napredovanje aritmetike, ki povečuje zapletenost izračuna. To v bistvu poveča razpoložljive vzorce in s tem metoda lahko zazna več napak. Pokazalo se je, da kontrolna vsota zazna predvsem napake v enem bitu. CRC pa lahko zazna morebitne dvojne bitovne napake pri izračunu podatkov. Pri razumevanju razlik med dvema metodama preverjanja podatkov se pridobi znanje o tem, zakaj se ti dve metodi uporabljata z roko v roki v internetnem protokolu, saj zmanjšuje ranljivost internetnih protokolov, ki se pojavljajo.
Povzetek:
- CRC je bolj temeljit v nasprotju s Checksum pri preverjanju napak in poročanju.
- Checksum je starejši od obeh programov.
- CRC ima bolj zapleteno računanje v nasprotju s kontrolno vsoto.
- Checksum v glavnem zazna enobitne spremembe podatkov, medtem ko lahko CRC preveri in zazna dvomestne napake.
- CRC lahko zazna več napak kot kontrolne vsote zaradi svoje bolj zapletene funkcije.
- Pri preverjanju podatkov se večinoma uporablja kontrolna vsota pri preverjanju podatkov.
- CRC se uporablja predvsem za vrednotenje podatkov v analognem prenosu podatkov.