Documente Academic
Documente Profesional
Documente Cultură
Cuprins Aspecte ale proiectarii nivelului legtur de date............................................................................3 Servicii oferite nivelului reea.....................................................................................................3 Incadrarea....................................................................................................................................4 Controlul erorilor........................................................................................................................7 Controlul fluxului........................................................................................................................7 Detectarea i corectarea erorilor......................................................................................................7 Coduri corectoare de erori - coduri Hammiing...........................................................................8 Coduri detectoare de erori...........................................................................................................8 Exemplu de protocol de transmisie datelor - protocoale cu fereastr glisant................................8 Nivelul legturii de date n Internet - protocol PPP.......................................................................10
Fig. 2. Comunicaie virtual (a). Comunicaie efectiv (b). Transmisia efectiv urmeaz calea (b), dar este mai uor de neles n termenii a dou procese ale nivelului legtur de date care comunic utiliznd un protocol al legturii de date.
Nivelul legtur de date poate fi proiectat s ofere diferite servicii. Serviciile efective oferite pot varia de la sistem la sistem. Trei posibiliti de baz, oferite n mod curent, sunt: Serviciu neconfirmat far conexiune. Serviciul neconfirmat fr conexiune const din aceea c maina sursa trimite cadre independente ctre maina destinaie, fr ca maina destinaie s trebuiasc s confirme primirea lor. In acest caz, nu sunt necesare stabilirea i desfiinarea unei conexiuni logice. Dac un cadru este pierdut datorit zgomotului de pe linie, la nivelul legtur de date nu se face nici o ncercare pentru recuperarea lui. Aceast clas de servicii este adecvat atunci cnd rata de erori este foarte sczut, nct recuperarea este lsat n sarcina nivelurilor superioare. De asemenea, este adecvat pentru traficul de timp real, cum ar fi cel de voce, unde a primi date cu ntrziere este mai ru dect a primi date eronate. Majoritatea LAN-urilor utilizeaz la nivelul legturii de date servicii neconfirmate fr conexiune. Serviciu confirmat fr conexiune. Atunci cnd este oferit acest serviciu, nc nu se utilizeaz conexiuni, dar fiecare cadru trimis este confirmat individual. In acest mod, emitorul tie dac un cadru a ajuns sau nu cu bine. Dac nu a ajuns ntr-un interval de timp specificat, poate fi trimis din nou. Acest serviciu este folositor pentru canale nesigure, cum ar fi sistemele far fir. Asigurarea confirmrii la nivelul legturii de date este doar o optimizare, niciodat o cerin. Nivelul reea poate ntotdeauna s trimita un mesaj i s atepte s fie confirmat. Dac confirmarea nu apare n timp util, atunci emitorul poate retrimite ntregul mesaj. Problema cu aceasta strategie este aceea c, de obicei, cadrele au o lungme maxim impus de hardware, iar pachetele nivelului reea nu au aceasta limitare. Dac pachetul mediu este spart n 10 cadre i 20% din totalul cadrelor sunt pierdute, transmiterea acestuia poate lua foarte mult timp. In cazul n care cadrele individuale sunt confirmate i retransmise, pachetele ntregi vor fi transmise mult mai rapid. Pe canale sigure, precum fibra optic, costul suplimentar implicat de un aslfel de protocol al legturii de date poate fi nejustificat, dar pe canale fr fir, costul este pe deplin justificat datoril nesiguranei acestora. Serviciu confirmat orientat-conexiune. n cazul acestui serviciu, mainile surs i destinaie stabilesc o conexiune nainte de a transfera date. Fiecare cadru trimis pe conexiune este numerotat i nivelul legtur de date garanteaz c fiecare cadru trimis este ntr-adevr recepionat. Mai mult, garanteaz c fiecare cadru este recepionat exact o dat i toate cadrele sunt recepionate n ordinea corect. n schimb, n cazul serviciului fr conexiune, este posibil ca, datorit unei confirmri pierdute, un cadru s fie transmis de mai multe ori i, prin urmare, recepionat de mai multe ori. Spre deosebire de acesta, serviciul orientat conexiune furnizeaz proceselor de la nivelul reea echivalentul unui flux de bii sigur. Atunci cnd este utilizat serviciul orientat conexiune, transferurile au trei faze distincte. n prima faz este stabilit conexiune, ambele pri iniializnd variabile i contoare, utilizate pentru a ine evidena cadrelor care au fost recepionate i a celor care nu au fost. n a doua faz, sunt transmise unul sau mai multe cadre. n a treia i ultima faz, conexiunea este desfiinat, elibernd variabilele, tampoanele1 i alte resurse utilizate la meninerea conexiunii.
Incadrarea
n vederea furnizrii unui serviciu nivelului reea, nivelul legtur de date trebuie s utilizeze serviciul furnizat de ctre nivelul fizic. Sarcina nivelului fizic este s primeasc un flux de bii i s ncerce s-l trimit la destinaie. Nu se garanteaz c acest flux de bii nu conine erori. Numrul de bii recepionai poate fi mai mic, egal cu, sau mai mare dect numrul de bii transmii i pot avea valori diferite. Este la latitudinea nivelului legtur de date s detecteze i, dac este necesar, s corecteze erorile. Abordarea uzual pentru nivelul legtur de date este s sparg irul de bii n cadre discrete i s calculeze suma de control pentru fiecare cadru. Atunci cnd un cadru ajunge la destinaie, suma de control este recalculat. Dac noua sum de control este diferil de cea coninut n cadru, nivelul legtur de date tie c a aprut o eroare i face operaiile necesare
1
Tampon - bufer.
pcntru a o rezolva (de exemplu, elimin cadrul eronat i probabil trimite napoi un raport de eroare). Au fost elaborate multe metode pentru elaborarea cadrelor. Printre care se poate de numit: Numrarea caracterelor. Problema cu acest algoritm este c valoarea contorului poate fi alterat de erori de transmisie. Destinaia va pierde sincronizarea i va fi incapabil s localizeze nceputul cadrului urmtor. Chiar daca suma de control este incorect i destinaia tie c a primit cadru eronat, nu exist nici o posibilitate de a determina unde ncepe urmtorul cadru. Din acest motiv, metoda contorizrii caracterelor este rar utilizat (fig. 3).
Fig. 3. Cadru delimitat de octei indicatori (a). Patru exemple de secvene de octei nainte i dup inserare (b). Indicatori cu inserare de octei. Fiecare cadru ncepe i se termin cu o secvena special de octei. Iniial, octeii ce indicau nceputul, respectiv sfritul erau diferii, dar n ultimii ani s-a trecut la utilizarea unui singur octet, numit octet indicator, att ca indicator de nceput, ct i de sfrit. O problem serioas cu aceast metod apare atunci cnd se transmit date binare, cum ar fi un obiect sau numere n virgul mobil. Se poate ntmpla ca n date sa apar octetul folosit ca indicator. Aceast situaie interfereaz cu procesul de ncadrare. O cale de rezolvare a acestei probleme este ca nivelul legtur de date al emitorului s insereze un octet special (ESC) naintea fiecrei apariii accidentale" a indicatorului n date. Nivelul legtur de date al receptorului va elimina acest octet special nainte de a pasa datele nivelului reea. Aceast tehnic poart numele de inserare de octei (eng.: byte stuffing) sau inserare de caractere (eng.; character stuffing). Tot aa aceasta problema se rezolv cnd nnuntru cadrului apare octet special ESC (fig. 4). Un dezavantaj major al utilizrii acestei metode de ncadrare este acela c este limitat la utilizarea caracterelor de 8 bii. Nu toate codurile utilizeaz caractere de 8 bii. De exemplu, UNICODE folosete caractere pe 16 bii.
Fig. 4. Cadru delimitat de octei indicatori (a). Pairu exemple de secvene de octci nainte i dup inserare (b). Indicatori de nceput i de sfrit, cu inserare de bii. Permite cadrelor de date s conin un numr arbitrar de bii i permite coduri de caractere cu un numr arbitrar de bii pe caracter. Funcioneaz astfel: fiecare cadru ncepe i se termin cu un ablon special pe bii, 01111110, numit octet indicator (flag). De fiecare dat cnd nivelul legtur de date al emitorului identific cinci de unu consecutivi n date, insereaz automat un bit 0 n irul de bii de rezultai. Accast inserare de bii (bit stuffing) este similar inserrii de caractere, n care un octet escape este inserat n irul de caractere de ieire, nainte de fiecare octet indicator din date. Atunci cnd receptorul primete o succesiune de cinci bii 1, urmai de un bit 0, extrage automat (adic terge) bitul 0. La fel ca i inserarea de caractere, care este complet transparent pentru nivelul reea din ambele calculaloare, aa este i inserarea de bii.
Fig. 5. Inserare de bii. Datele originale (a). Datele aa cum apar pe linie (b). Datele aa cum sunt stocate n memoria receptorului dup extragerea biilor inserai (c). Violarea codificrilor la nivel fizic. Este aplicabil reelelor n care codificarca pc mediul fizic conine o anumit redundan. De exemplu, unele LAN-uri codific un bit de date utiliznd doi bii fizici. De obicei, un bit 1 este reprezentat de o tranziie sus-jos i un bit 0 de o tranziie jos-sus. Aceasta nseamn c fiecare bit de date are o tranziie n mijloc, receptorului fiindu-i uor s localizeze frontierele biilor. Combinaiile sus-sus i jos-jos nu sunt utilizate pentru date, dar sunt utilizate pentru delimitarea cadrelor in unele protocoale. Multe protocoale de legtur de date utilizeaz, pentru o mai mare siguran, o combinaie de contor de caractere cu una dintre celelalte metode. La sosirea unui cadru, pentru a localiza sfritul acestuia, este utilizat cmpul contor. Cadrul este acceptat ca valid doar dac n
poziia respectiv exist delimitatorul corespunztor i dac suma de control este corect. Altfel, irul de intrare este scanat pentru a detecta urmtorul delimitator.
Controlul erorilor
n afar de serviciul fr conexiune i fr confirmare este necesar transmisia garantat a cadrelor. De obicei protocolul i cere receptorului s trimit napoi cadre de control speciale, purtnd confirmri pozitive sau negative despre cadrele sosite. Dac emitorul recepioneaz o confirmare pozitiv sau negativ. O complicaie n plus vine de la posibilitatea ca defectele de echipament s determine dispariia complet a unui cadru (de exemplu ntr-o rafal de zgomot). n acest caz, receptorul nu va reaciona n nici un fel, din moment ce nu are nici un motiv s reacioneze. Aceaste complicaii a determinat introducerea contoarelor de timp (ceasurilor) la nivelul legturii de date. Atunci cnd emitorul trimite un cadru, pornete de obicei si un contor de timp. Contorul de timp este setat s expire dup un interval suficient de lung pentru ca acel cadru s poat ajunge la destinaie, s fie prelucrat acolo i confirmarea s se propage napoi ctre emitor. n mod normal, cadrul va fi corect recepionat i confirmarea va sosi nainte ca timpul s expire, caz n care contorul va fi anulat. Dar, dac fie cadrul, fie confirmarea se pierd, ntervalul de timp expir, n acest caz, emitorul fiind atenionat c a aprut o problem. Soluia evidenta este retransmiterea cadrului. Dar, atunci cnd cadrele pot fi transmise de mai multe ori, exist pericolul ca receptorul s accepte acelai cadru de dou sau mai multe ori i s-l trimit de mai multe ori nivelului reea. Pentru a evita aceast situaie esle necesar s fiu atribuite numere de secven cadrelor de ieire, aa nct receptorul s poat face distincie ntre cadrele retransmise i cele originale. Intreaga problematic a gestiunii ceasurilor i numerelor de secven, astfel nct fiecare cadru s ajung la nivelul reea de la destinaie o singur dat nici mai mult, nici mai puin, reprezint o parte important a obligaiilor nivelului legturi de date.
Controlul fluxului
Un all aspeci important de proiectare care apare la nivelul legtur de date (i, desigur, i la nive-lurile superioare) este cum trebuie procedat cu un emitor care dorete n mod sistematic s transmit cadre mai repede dect poate s accepte receptorul. Exist dou abordri des utilizate. In cazul celei dinti, controlul fluxului bazat pe reacie, rcceptorul acord emitorului permisiunea de a mai transmite date, sau cel puin comunic emitorului informaii despre starea sa. n cea de-a doua, controlul fluxului bazat pe rat, prolocolul dispune de un mecanism integrat care limiteaz rata la care emitorul poate transmite, fr a folosi informaii de la receptor (nu este folosit la nivel legaturi de date).
indicat de adugat destul informaie redundant fiecrui bloc, n loc s fie efectuat retransmisie, care poate s fie la rndul su afectat de erori.
gratis de ctre urmtorul cadru de date de ieire. Tehnica ntrzierii comfirmrii, astfel nct s poat fi agat de urmtorul cadru de date, este cunoscut ca ataare (eng.: piggybacking). Principalul avantaj al utilizrii tehnicii de ataare n comparaie cu utilizarea cadrelor de comfirmare distincte este o mai bun utilizare a lrgimii de band disponibile. Urmtoarele trei protocoale sunt protocoale bidirecionale care aparin unei clase de protocoale numite protocoale cu fereastr glisant (eng.: slidin; window): 1. Un protocol cu fereastr glisant de un bit; 2. Un protocol de revenire cu n pai (Go Back n) - mrimea ferestrei este egal cu n, dac a aprut o eroare, toate cadrele, dup cadru eronat sunt ignorate. Bine lucreaz n reele cu erori rari ntlnite, dac sunt multe erori, mult timpul se pierde la transmiterea cadrelor de dou ori; 3. Un protocol cu repetare selectiv - mrimea ferestrei este egal cu n, dac a aprut o eroare, receptorul pstreaz n memorie toate cadrele corecte primite dup cadru eronat. Este utilizat n reele cu probabilitatea mare de erori. Cele trei difer ntre ele n termeni de eficien, complexitate i necesar de tampoane. n toate protocoalele cu fereastr glisant, fiecare cadru expediat conine un numr de secven cuprins ntre 0 i o valoare maxim. Esena protocoalelor cu fereastr glisant este aceea c, la orice moment de timp, emitorul menine o mulime de numere de secven care corespund cadrelor pe care are permisiunea s le trimit. Se spune c aceste cadre aparin ferestrei de transmisie (eng.: sending window). Similar, receptorul menine de asemenea o fereastr de recepie (eng.: recciving window), ce corespunde mulimii de cadre care pot fi acceptate. Fereastra emitorului i fereastra receptorului nu trebuie s aib aceleai limite minime i maxime i nici mcar acecai dimensiune. n unele protocoale ele au dimensiune fix, dar n altele ele pot crete sau scdea pe msur ce cadrele sunt ciruse sau recepionate. Canalului fizic de comunicaie, care trebuie s se comporte "ca un fir", adic trebuie s trimit toate cadrele n ordinea emiterii. Numerele de secven din cadrul ferestrei emitorului reprezint cadre transmise sau cadre ce pot fi transmise, dar nc neconfirmate. De fiecare dat cnd de la nivelul reea sosete un nou pachet, acestuia i este atribuit urmtorul numr de secven, iar marginea superioar a ferestrei este avansat cu unu. Atunci cnd sosete o confirmare, crete cu unu limita inferioar a ferestrei. n acest mod, fereastra menine continuu o list de cadre neconfirmate (fig. 6). Deoarece cadrele din fereastra curent a emitorului pot fi pierdute sau modificate pe traseu, emitorul trebuie s pstreze toate aceste cadre n memoria sa pentru o posibila retransmisie. Astfel, dac dimensiunea maxim a ferestrei este n, emitorul are nevoie de n tampoane pentru a pstra cadrele neconfirmate. Dac fereastra crete la dimensiunea maxim, nivclul legtur de date al emitorului trebuie s foreze nchiderea nivelului reea pn cnd se elibereaz un tampon. Fereastra nivelului legtur de date receptor corespunde cadrelor pe care acesta le poate accepta. Orice cadru din afara ferestrei este eliminat fr comentarii. Atunci cnd este recepionat un ca-dru al crui numr de secvena este egal cu marginea inferioar a ferestrei, acesta este trimis nivelu-lui reea, este generat o confirmare i fereastra se deplaseaz cu o unitate. Spre deosebire de fereastra emitorului, fereastra receptorului rmne ntotdeauna la dimensiunea iniial. Fereastr de dimensiune 1 nseamn c nivelul legtur de date accept numai cadre ordonate, dar pentru ferestre mari afirmaia nu mai este valabil. Nivelul reea este, dimpotriv, alimentat ntotdeauna cu date n ordine corect, indiferent de dimensiunea ferestrei nivelului legtur de date.
Fig. 6. O fereastr glisant de dimensiune 1, cu numr de secven de 3 bii. Iniial (a). Dup ce a fost transmis primul cadru (b). Dup ce a fost recepionat primul cadru (c). Dup ce a fost recepionata prima confirmare (d).
negocia opiunile i pentru a elibera liniile. Acest protocol se numete LCP(Link Control Protocol, rom: protocolul de control al legturii). El suport circuite sincrone i asincrone i codificri orientate att pe bit, ct i pe caracter, 3. Un mod de a negocia opiunile nivelului reea ntr-un mod independent de protocolul folosit pentru nivelul reea. Metoda aleas este de a avea un NCP (Network Control Protocol, rom: protocol de control al reelei) pentru fiecare nivel de reea suportat. Principiul de lucru protocolului PPP pe baza unui PC de acas (fig. 7): 1. PC sun de la domiciliu la furnizor de servicii Intemet pentru a transforma PC-ul su de acas ntr-un calculator gazd Internet temporar. PC-ul apeleaz mai nti ruterul furnizorului prin intermediul unui modem. Dup ce modemul ruterului a rspuns la telefon i s-a stabilit o conexiune fzic, PC-ul trimite ruterului o serie de pachete LCP n cmpul de informalie util (payload) al unuia sau mai multor cadre PPP. Aceste pachete i rspunsurile lor selecteaz parametrii PPP ce vor fi utilizai. 2. Odat ce parametrii s-au stabilit de comun acord, mai multe pachete NCP sunt trimise pentru a configura nivelul reea. n mod obinuit, PC-ul vrea s ruleze o suit de protocoale TCP/IP i va avea nevoie de o adres IP. Deoarece nu exist adrese IP suficiente, fiecare furnizor de Intemet ia o parte din ele i asociaz dinamic cte una pentru fiecare PC ataat n reea, pe durata sesiunii de conectare. Dacit un furnizor posed n adrese IP, el poate avea pn la n maini conectate simultan, dar numrul total de clieni poate fi de mai multe ori pe att. NCP pentru IP este folosit pentru a realiza asocierea adreselor IP. 3. n acest moment, PC-ul este un calculator gazd Internet i poate trimite i primi pachete IP, exact aa cum o pot face calculatoarele conectate prin cabluri. 4. Cnd utilizatorul termin, NCP ntrerupe conexiunea la nivelul reea i elibereaz adresa IP. Apoi LCP ntrerupe conexiunea la nivelul legtur de date. n final, calculatorul spune modemului s nchid telefonul, elibernd conexiunea la nivel fizic.