Sunteți pe pagina 1din 2

Curs 4

Nivelul legatura de date


La acest nivel se poate vorbi despre algoritmi de obtinere a unei comuni eficiente si sigre.
Detectarea si corectarea erorilor
Coduri detectoare de erori
Au fost dezvoltate 2 strategii de baza pentru tratarea erorilor. Una din modalitati e includerea de
suficienta informatie redundanta pe langa fiecare bloc de date de transmis, pentru ca receptorul sa poata deduce
datele corecte. O alta strategie e includerea de date redundante doar atat cat receptorul sa detecteze o eroare, dar
nu care e eroarea si sa ceara o retransmisie.
Prima stratedie reprezinta codurile corectoare de erori, iar cea de a 2-a codurile detectoare de erori.
Un exemplu de cod detector de erori e un cod in care la datele transmise se adauga un bit de paritate.
Acesta e ales in asa fel incat nr de biti de 1 din cuvantul de cod e par sau impar. De exemplu atunci cand
10110101 e trimis in paritate para, prin adaugarea unui bit la sfarsit devine 101101011. 1101001->11010010.
Un cod corector de erori: in practica e larg utilizat un asa numit cod polinomial (cu redundanta ciclica
CRC). Codurile polinomiale sunt bazate pe tratarea sirurilor de biti ca reprezentare de polinoame cu coef 0 si 1.
Un cadru de k biti e vazut ca o lista de coef pentru un polinom cu k termeni, de la xk-1 la x0.
De exemplu 101101 reprez un polin cu 6 coef: x5+x3+x2+1.
Atunci cand e utilizata metoda codului polinomial, emitatorul si receptorul se pun de acord in avans
asupra unui polinom generator G(x). Atat HSB cat si LSB trebuie sa fie 1.
Pentru a calcula suma de control pentru un cadru de n biti, cadrul trebuie sa fie mai lung ca polinomul
generator. Ideea e de a adauga o suma de control la sfarsitul cadrului astfel incat polinomul reprez de cadrul cu
suma de control sa fie divizibil cu G(x). Cand receptorul preia cadrul care contine suma de control incearca sa-l
imparta la G(x), daca se obtine rest inseamna ca a avut loc o eroare.
Sa ne imaginam ca apare o eroare astfel incat in loc sa soseasca un sir de biti, pentru T(x) ajunge T(x)
+E(x). Fiecare bit din E(x) corespunde unui sir care a fost inversat. Daca in E(x) exista k biti de 1 inseamna ca
au aparut k erori de un bit. Daca apare o eroare in rafala caracteriz de un 1 initial, un 1 final si un ameste de 0 si
1, la receptia cadrului cu suma de control, receptorul il imparte la G(x).
Se va calcula [T(x)+E(x)]/G(x). Cum T(x)/G(x)=0, rezulta ca rezultatul va fi E(x)/G(x).
Aceste erori care se intampla sa corespunda unor polinoame care-l au ca factor pe G(x) vor fi detectate.
CRC12= folosim un polin x12+x11+x3+x2+x+1
CRC16=x16+x15+x2+1
CRC-CCITT=x16+x12+x5+1
Exemple de protocoale legaturi de date
SLIP - serial line IP
Conceput in 1984 pentru a conecta statii de lucru cu ajutorul modemurilor. Statia de lucru care transmite
pachete adauga un octet de incadrare la sfarsit si trimite 0xC0. Daca apare 0xC0 in cadrul sirului, atunci e
folosita o forma de umplere, respectiv se transmite 0xDB, 0xDC de doua ori. Cu toate ca era larg utilizat, nu
mai este din cauza unor probleme serioase: -nu face o detectie sau corectie de erori, astfel incat nivelele
superioare trebuie sa detecteze si sa recupereze cadrele pierdute; -SLIP nu suporta decat IP; -nu pot fi alocate
adrese dinamice; -nu ofera metode de autentificare; -SLIP nu e un standard internet existand multe versiuni
diferite si incompatibile.
PPP
Este o metoda de impartire in cadre, formatul cadrului permitand si detectia de erori. Ofera un protocol
de legatura pentru a obtine linii, a le testa, a negocia optiunile si a elibera LCP (link control protocol). PPP
ofera un mod de a negocia optiunile nivelului de retea NCP (network control protocol)
In cadrul conectarii la un provider internet, dupa ce modemul a raspuns si s-a stabilit o conexiune fizica,
clientul trimite o serie de pachete LCP. Aceste pachete si raspunsul lor selecteaza parametrii PPP folositi. Odata
parametrii stabiliti mai multe pachete NCP sunt trimise, de obicei cerand serverului o adresa IP. Dupa
terminarea acestor dialoguri PC-ul are un IP si este o gazda internet. La incheierea legaturii, NCP intrerupe
conexiunea la nivel retea, iar LCP o intrerupe la nivel legatura de date. Modemul inchide legatura fizica.
Subnivelul de acces la mediu
Vom studia modul de alocare a unui singur canal cu difuzare intre mai multi utilizatori concurenti.
Mnodul traditional de alocare a unui canal intre mai multi utilizatori e multiplexarea cu diviziunea frecventei
FDM. Daca exista n utilizatori, banda de transmisie e impartita in n parti egale. Cand e vorba de un nr mic de
utilizatori, FDM e simplu si eficient.
Fig 4.1

Cea mai mare problema e atunci cand unii utilizatori sunt inactivi, bucla lor de banda se pierde. Acest
tip de alocare poarta numele de alocare statica.
Alte protocoale sunt cele cu acces multiplu, unul din ele e ALOHA. Ideea acestui protocol e ca
utilizatorii sunt lasati sa transmita ori de cate ori au nevoie. Bineinteles ca vor exista coliziuni, iar cadrele
intrate in coliziune se vor pierde. Datorita proprietatii de reactie a difuzarii, un emitator poate afla oricand daca
mesajul sau a fost distrus, prin ascultarea canalului, asa cum o fac si ceilalti utilizatori.
In cazul in care un mesaj a fost distrus, emitatorul asteapta un iterval aleator si-l trimite din nou.
Sistemele in care mai multi utilizatori partajeaza un canal comun intr-un mod care poate duce la conflicte se
numsec sisteme cu conflicte.
O serie de protocoale imbunatatite sunt cele cu acces multiplu si detectie de purtatori. Acestea au
proprietatile ca statiile asculta mediul pentru a detecta o transmisie.
Un protocol se numeste CSMA1 (carrier sense multiple access). Atunci o statie are ceva de transmis,
mai intai asculta canalul pentru a vedea daca e liber. Daca e ocupat se asteapta eliberarea lui. Intarzierea de
propagare are influenta importanta. Cu cat e mai mare intarzierea de propagare, cu atat e mai probabil sa existe
cel putin o statie care sa fi emis anterior momentului ascultarii. Chiar daca timpul de propagare ar fi zero, tot s-
ar produce coliziuni. Daca 2 statii asteapta ca o a 3-a sa termine de transmis si vor incepe sa transmita simultan,
vor produce coliziuni.
CSMA cu detectia coliziunilor
O alta imbunatatire e abandonarea transmisiei in momentul detectarii unei coliziuni. 2 statii ce incep
emisia simultan vor detecta imediat coliziunea, nemaiavand nici un rost sa continue transmisia. In acest fel se
salveaza timp si largime de banda (CSMA/CD) folosita in LAN.
Nici o portiune de protocoale folosite in LAN-uri nu foloseste o codificare binara directa (0V-0, 5V-1),
deoarece nu se poate face distinctia intre o statie inactiva si una care transmite biti 0. In acest scop se foloseste
codificarea Manchester. Fiecare perioada a unui bit e impartita in 2 perioade egale.
Fig 4.2

Un bit 1 e vazut ca un voltaj ridicat in prima parte a bitului si unul scazut in partea a 2-a, si invers la 0.
Aceasta strategie asigura faptul ca fiecare perioada a unui bit are o tranzitie la mijloc usurand sincronizarea
intre emitator si receptor.

S-ar putea să vă placă și