100 likes | 251 Views
Čeksuma. Čeksuma – definicija. Čeksuma predstavlja relativno jednostavna forma redundantne provere greške gde se podaci u okviru poruke sabiraju kako bi se generisao karakter o proveri greške. Čeksuma se pridružuje na kraju poruke.
E N D
Čeksuma – definicija • Čeksuma predstavlja relativno jednostavna forma redundantne provere greške gde se podaci u okviru poruke sabiraju kako bi se generisao karakter o proveri greške. • Čeksuma se pridružuje na kraju poruke. • Prijemnik ponavlja operaciju sabiranja i odredjuje svoji sopstveni čeksum-karakter poruke. • Prijemna čeksuma se uporedjuje sa prdruženom čeksumom poruke, i za slučaj da je jednaka, kažemo da do greške u prenosu nije došlo. • Ako se obe čeksume razlikuju, zaključuje se da se javila greška u prenosu • Postoji pet primarnih načina za izračunavanje čeksume, a to su: • karakter provere (check character checksum) • jednostruka preciznost (single precision checksum) • dvostruka preciznost (double precision checksum) • Honeywell (Honeywell checksum) • ostatak (residue checksum)
Karakter provere • Kod čeksume karakter provere, svakom karakteru se dodeljuje decimalna vrednost. decimalne vrednosti svakog karaktera u poruci se zajedno sabiraju pa se nataj način formira čeksum karakter. • Ovaj karakter se pridružuje na kraju poruke u obliku redundantnih bitova i predaje. • Bar kôdovi kôd-39 i POSTNET koriste modifikovane forme ček karaktera kako bi odredili čeksumu.
Jednostruka preciznost • Čeksuma tipa jednostruka preciznost predstavlja verovatno najstandardniji metod za izračunavanje čeksume. • Kod jednostruke (obične) preciznosti, čeksuma se izračunava binarnim sabiranjem podataka u okviru poruke. • No, sa n-bitnim karakterima, ako suma podataka premaši vrednost 2n – 1, tada dolazi do prenosa (carry out). • U ovom slučaju bit prenopsa (carry bit) se ignoriše, a samo se n-bitna čeksuma pridružuje poruci. • Zbog toga, čeksuma kod sabiranja u običnoj preciznosti predstavlja samo LS bajt aritmetičke sume binarnih podataka koji se prenose.
Jednostruka preciznost - primer Odrediti čeksumu jednostruke preciznosti za sledeća pet ASCII kodirana karaktera: HELLO Odgovor Na osnovu ASCII tabele, heksadecimalni kodovi za poruku HELLO su sledeći: smer prenosa H E L L O 48 45 4C 4C 4F čeksuma predtavlja zbir heksadecimalnih karaktera
Dvostruka preciznost • Čeksuma duple preciznodsti se izračunava na isti način kao i suma obične preciznosti sa izuzetkom što je suma obima 2n bitova. • Na primer, ako podaci čine 8-bitni karakteri, čeksuma biće 16-bitna, čime se smanjuje verovatnoća generisanja pogrešne čeksume. • Za slučaj da se u prethodnom primeru koristi čeksuma duple preciznosti, čeksuma biće oblika 0174h, koja se pridružuje poruci podataka koja se prenosi, tako da u konkretnom slučaju imaćemo:
Honeywell čeksuma • Honeywell čeksuma predstavlja jedan drugi oblik čeksume dvostruke preciznosti. • Honeywell čeksuma je obima 2n bitova, ali se čeksuma formira preplitanjem uzastopnih reči podataka sa ciljem da se dobiju reči dvostruke dužine. • Reči dvostruke dužine se sabiraju zajedno pa se formira čeksuma dvostruke preciznosti.
Honeywell čeksuma - primer Primer: Odrediti Honeywell čeksumu za sledeću ASCII kodiranu poruku od četiri karaktera: HELP Na osnovu tabele ASCII kodova za porukui HELP imaćemo:
Čeksuma ostatak • Čeksuma ostatak je prividno identična čeksumi jednostruke preciznosti sa izuzetkom načina sa kojim se manipuliše sa bitom prenosa (carry bit). • Kod čeksume ostatak bit prenosa se dodaje LS bajtu sume (wrappend around and added) čime se operacija sabiranja usložnjava. • Za slučaj Primer-1, čeksuma ostatak se formira dodavanjem 1 vrednosti 74 h, pa se dobija 75 h, tako da preneta poruka ima sledeći oblik.