You are on page 1of 26

Kontrola greaka

Postoje dve strategije za obradu greaka. Obe strategije


podrazumevaju da se podacima za slanje dodaju
redundanti podaci (viak podataka).

Jedna strategija je da se uz svaki blok poslatih podataka


ukljui i njihov viak koji bi bio dovoljan da primalac
zakljui ta su bili stvarni podaci. Druga je da ukljueni
viak bude dovoljan da primalac zakljui da se dogodila
greka u prenosu (ne i koja) i da zahteva ponovno slanje
podataka. Prva strategija koristi kodove za ispravljanje
greaka, a druga kodove za otkrivanje greaka.

Kontrola greaka, radna verzija 2015. godina 2


Na visokopouzdanim kanalima (npr. optiko vlakno)
jeftinije je koristiti kod za otkrivanje greaka i samo
povremeno ponovo preneti blok podataka za koji se
utvrdi da je neispravan.

Na kanalima sa velikim brojem greaka kao to su


beine veze bolje je svakom bloku dodati viak dovoljan
za rekonstruisanje stvarnih podataka nego se oslanjati
na ponovno slanje bloka koji isto tako moe da sadri
greku.

Kontrola greaka, radna verzija 2015. godina 3


Poto se i sam zatitni viak bitova prenosi uz jednaku
verovatnou greke kao bitovi podataka nije mogue
otkloniti sve greke nijednim nainom.

Imajte u vidu da se ovi kodovi svuda koriste (i u fizikom sloju i u viim


slojevima) ali ih ovde prvi put obraujemo.

Kontrola greaka, radna verzija 2015. godina 4


Kodovi za otkrivanje greaka
Kod kanala sa malim brojem greaka povremene greke
se otkrivaju i pogreni podaci ponovo alju.

Kontrola greaka, radna verzija 2015. godina 5


Kodovi za otkrivanje greaka

Za potrebe otkrivanja greaka poiljalac izraunava


dodatne bitove i alje ih zajedno sa korisnim podacima.
to se vei broj bitova koristi kao dodatak bolje je
otkrivanje greke ali je i manja efikasnost prenosa.
Kontrola greaka, radna verzija 2015. godina 6
Kodovi za otkrivanje greaka

Primalac iz dobijenih korisnih podataka izraunava


dodatak i poredi ga sa dobijenim. Ako je dodatak isti
kao to ga je poiljalac izraunao, nema greke u
prenosu, a ako je razliit, postoji greka u prenosu.
Kontrola greaka, radna verzija 2015. godina 7
Kodovi za otkrivanje greaka

Kodovi za otkrivanje greaka su:

parnost
kontrolni zbirovi
cikline provere redundanse (CRC) jai kod od
prethodna dva, najei u sloju veze

Kontrola greaka, radna verzija 2015. godina 8


Parnost

Postoji:

parna parnost
neparna parnost

Kontrola greaka, radna verzija 2015. godina 9


Parna parnost

Bitovima podataka se dodaje jedan bit koji se bira tako


da broj jedinica u kodnoj rei koja se alje bude paran.

podaci: 1011010
bit parnosti: 0

alje se: 10110100

Kontrola greaka, radna verzija 2015. godina 10


Neparna parnost

Bitovima podataka se dodaje jedan bit koji se bira tako


da broj jedinica u kodnoj rei koja se alje bude
neparan.

podaci: 1011010
bit parnosti: 1

alje se: 10110101

Kontrola greaka, radna verzija 2015. godina 11


Kako ovo omoguava detekciju greke i u kojim
sluajevima?

Jedan prikljueni bit parnosti moe pouzdano da


otkrije samo jednu jednobitnu greku. Ako doe do
greaka u vie bitova (rafalne greke) verovatnoa da
e greka biti otkrivena iznosi 0.5.

Kontrola greaka, radna verzija 2015. godina 12


Analiza primera za parnu parnost

alju se bitovi 10110100, nije bilo greaka pri prenosu,


ista sekvenca je i na prijemu. Na prijemu se izraunava
bit parnosti tako to se prebroje jedinice. Broj jedinica
je 4, 4 je paran broj znai bit parnosti je 0 to je i
pristiglo.

Kontrola greaka, radna verzija 2015. godina 13


Analiza primera za parnu parnost

alju se bitovi 10110100, dogodi se jedna greka na


poslatim bitovima npr. 10010100. Na prijemu se
izraunava bit parnosti tako to se prebroje jedinice.
Broj jedinica je 3, 3 je neparan broj to znai da je bit
parnosti 1, a pristigao nam je 0. Otkrili smo greku.

Kontrola greaka, radna verzija 2015. godina 14


Analiza primera za parnu parnost

alju se bitovi 10110100, dogode se dve greke na


poslatim bitovima npr. 10000100. Na prijemu se
izraunava bit parnosti tako to se prebroje jedinice.
Broj jedinica je 2, 2 je paran broj to znai da je bit
parnosti 0. Pristigao bit parnosti je 0. Nismo otkrili
greku iako imamo 2 greke.

Kontrola greaka, radna verzija 2015. godina 15


Analiza primera za parnu parnost

alju se bitovi 10110100, dogode se tri greke na


poslatim bitovima npr. 10001100. Na prijemu se
izraunava bit parnosti tako to se prebroje jedinice.
Broj jedinica je 3, 3 je neparan broj to znai da je bit
parnosti 1. Pristigao bit parnosti je 0. Otkrili smo
greku.

Kontrola greaka, radna verzija 2015. godina 16


Parna parnost omoguava da se otkrije neparan broj
greaka, a paran broj greaka ostaje neotkriven. To je
polovina otkrivenih greaka tj. verovatnoa otkrivanja je
0.5.

Isto se moe zakljuiti i za neparnu parnost.

Postoji poboljanje ove tehnike a to je tehnika preplitanja.

Kontrola greaka, radna verzija 2015. godina 17


Kontrolni zbirovi

Kontrolni zbir je zasnovan na operaciji sabiranja koja se


vri nad podacima koji treba da se provere.

Dobar algoritam za izraunavanje kontrolnog zbira je


onaj koji za male promene u podacima daje potpuno
razliite vrednosti kontrolnog zbira.

Kontrola greaka, radna verzija 2015. godina 18


Kontrolni zbirovi
Primer izraunavanja kontrolnog zbira: saberu se sve
decimalne vrednosti karaktera u poruci pa se ukupna
vrednost podeli sa 255 a ostatak deljenja (1 bajt) je
kontrolni zbir. Najea primena kont. zbira je u
transportnom sloju.

Re kontrolni zbir se esto koristi kao oznaka za grupu kontrolnih bitova pridruenih
poruci, bez obzira na to kako su izraunati.

Kontrola greaka, radna verzija 2015. godina 19


Cikline provere redundanse (CRC)
Sekvenca bitova koja predstavlja poruku za slanje (P)
smatra se polinomom iji su koeficijenti 0 ili 1.

Npr. sekvenca 110001 ima 6 bitova i predstavljena je


polinomom 1x5+1x4+0x3+0x2+0x1+1x0.

Kontrola greaka, radna verzija 2015. godina 20


Cikline provere redundanse (CRC)
Poiljalac i primalac moraju da se dogovore oko
generatorskog polinoma (G). Prvi i poslednji bit
generatora moraju biti jedinice.

Pre prenosa sloj veze podataka deli P sa G. Ostatak


deljenja se dodaje na podatke koji se alju.

Kontrola greaka, radna verzija 2015. godina 21


Cikline provere redundanse (CRC)
Prijemnik deli primljenu poruku sa istim G.

Ukoliko dobije ostatak znai da je dolo do greke pri


prenosu.

Kontrola greaka, radna verzija 2015. godina 22


Cikline provere redundanse (CRC)
Moe se konstruisati jednostavan hardverski sklop sa
registrom za binarno pomeranje koji izraunava i
proverava CRC.

Kontrola greaka, radna verzija 2015. godina 23


Cikline provere redundanse (CRC)
- primer -
okvir mora biti dui od generatorskog polinoma

generatorski polinom (polinom s kojim se deli) je x3+x+1


(1011), pa se radi o 3-bitnom CRC

na okvir dodaj tri nule posle LSB

pomera se do ispod prve jedinice

Kontrola greaka, radna verzija 2015. godina 24


Cikline provere redundanse (CRC)
- primer -
MSB okvir 0x34EC LSB

1 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0
XOR
1 0 1 1
0 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0
XOR
1 0 1 1
0 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0
XOR
1 0 1 1
0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 0 0
XOR
1 0 1 1
0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0
XOR
1 0 1 1
0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0
XOR
1 0 1 1
0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0
XOR
1 0 1 1
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
XOR
1 0 1 1
0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0
XOR
1 0 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0

ostatak

Kontrola greaka, radna verzija 2015. godina 25


Cikline provere redundanse (CRC)
- primer -
Kraj kada dobijem sve nule u levom delu (boldovano)

alje se podaci + ostatak:

1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 0

Na prijemu se radi ovo isto deljenje. Ako se dobije


ostatak znai da je bilo greke prilikom prenosa.

Kontrola greaka, radna verzija 2015. godina 26

You might also like