Rețele TCP/IP

Previzualizare curs:

Extras din curs:

PROTOCOALE

BAZATE PE CONFIRMARE SI RETRANSMISIE

PENTRU

NIVELUL DE CONTROL AL LEGATURII DE DATE

La baza protocoalelor pentru nivelul (de control al) legaturii de date (DLC) sta principiul cererii de repetare automata [Automatic Repeat reQuest (ARQ)], care consta în detectarea, de catre receptor (destinatar), a cadrelor ce contin erori si cererea ca, în acest caz, emitatorul (sursa) sa retransmita cadrele eronate.

Înainte de a prezenta aceste protocoale, vom face unele ipoteze cu privire la modelul comunicatiei:

1. Nivelul fizic, nivelul (de control al) legaturii de date si nivelul de retea sunt considerate procese independente ce comunica trecându-si unul altuia mesaje. În unele cazuri, procesele din nivelul fizic si cele din nivelul legaturii de date vor fi rulate de un microprocesor din interiorul unui chip special de I/O, iar procesele din nivelul de retea vor fi rulate de unitatea centrala, dar sunt posibile si alte implementari (de exemplu: toate trei procesele într-un singur chip I/O; procesele din nivelurile fizic si legaturii de date ca proceduri apelate de procesele din nivelul de retea, etc.). În orice caz, tratarea celor trei niveluri ca procese separate face abordarea problemelor mai clara din punct de vedere conceptual si, în plus, serveste la evidentierea independentei nivelurilor arhitecturii retelei.

2. O ipoteza esentiala este aceea ca masina (calculatorul) A vrea sa transmita un sir lung de date catre masina B, utilizând un serviciu fiabil, bazat pe conexiune (mai târziu se va considera si cazul când B vrea sa transmita si el, simultan, catre A). Se presupune ca A poseda o rezerva infinita de date de transmis, deci ca nu se afla nici o data în situatia de a astepta pregatirea datelor pentru transmisie; când DLC de la A asteapta date, nivelul sau de retea este întotdeauna pregatit sa i le furnizeze (si aceasta restrictie va fi înlaturata ulterior).

3. Din punct de vedere al DLC, pachetul ce vine de la nivelul de retea, prin interfata dintre ele, constituie date pure, fiecare bit al acestuia trebuind sa fie livrat nivelului de retea al destinatarului. Faptul ca nivelul de retea al destinatarului poate interpreta o parte a pachetului drept antet nu îl intereseaza pe DLC. Pachetul de la nivelul de retea, ajuns la DLC, este încapsulat cu un antet si un marcaj terminal (ce contin informatiile de control) si apoi transmis la DLC al partenerului (prin intermediul nivelului fizic si al liniei). Daca blocul (cadrul) astfel obtinut ajunge fara erori la destinatar, DLC de aici verifica si utilizeaza informatiile de control (din antet) si, daca totul este în ordine, datele din cadru (adica pachetul) sunt trecute nivelului de retea. În nici un caz nu se paseaza nivelului de retea antetul cadrului (sau vreo parte din el). În acest fel, protocoalele nivelurilor de retea si de legatura de date devin complet separate. Aceasta permite, pe de o parte, independenta nivelului de retea fata de solutia de implementare a nivelului DLC (schimbarea unuia din ele nu implica schimbarea celuilalt, atâta timp cât schimbarea nu încalca regulile de colaborare stabilite) si, pe de alta parte, simplificarea substantiala a proiectarii

(soft-ului) protocoalelor si evolutia lor independenta (cu conditia asigurarii unei interfete rigide între aceste doua niveluri).

4. Se admite ca exista o biblioteca de proceduri de simulare a protocoalelor DLC, precum pentru trecerea bitilor unui cadru de la nivelul legaturii de date la nivelul fizic al emitatorului - sa o numim aici to_ physical_layer - ca si pentru preluarea de catre nivelul legaturii de date a bitilor cadrului receptionat de la nivelul fizic - sa-i zicem from_ physical_layer. Hard-ul de la emitator calculeaza si ataseaza suma de control, astfel încât soft-ul DLC nu se ocupa de aceasta problema. Când un cadru ajunge la receptor, hard-ul acestuia din urma verifica suma de control. Daca aceasta este incorecta (ceea ce înseamna existenta a cel putin unei erori de transmisie), o procedura de asteptare - sa o numim aici wait_for_event(&event) - a receptorului returneaza valoarea unei variabile - event - care indica aparitia unui eveniment, aici: suma de control eronata pentru cadrul receptionat - sa admitem event = cksum_err. La detectarea unor erori în cadru, se cere retransmisia respectivului cadru. Daca blocul sosit este fara alterari, DLC este de asemenea informat - event = frame_arrival -, astfel încât îl poate prelua pentru inspectare - utilizând procedura from_ physical_layer. Exista de asemenea procedurile from_network_layer - pentru preluarea pachetului de la nivelul de retea al emitatorului - si to_network_layer - pentru pasarea pachetului catre nivelul de retea al receptorului.

5. În realitate, DLC nu sta pur si simplu sa astepte într-o bucla a procedurii wait pâna ce apare un eveniment (asa cum am sugerat), ci va primi o întrerupere care-l va opri din activitatea curenta pentru a se ocupa de cadrul sosit. Totusi, pentru izolarea subproblemei care face obiectul acestui paragraf, vom ignora detaliile privind activitatile paralele din DLC si vom presupune ca el este dedicat permanent asigurarii canalului virtual de transmisie.

6. Data fiind posibilitatea retransmisiei, antetul si marcajul terminal asociate unui anumit pachet pot fi aceleasi sau nu. Vom presupune ca DLC de la receptor recunoaste începutul si sfârsitul fiecarui cadru, putând deci aplica corect CRC (sau alta tehnica) pentru detectarea erorilor.

7. Vom presupune de asemenea (presupunere nu tocmai realista) ca toate cadrele cu erori pot fi detectate la receptie. În cele ce urmeaza vom numi cadrele fara erori de transmisie cadre fara erori [error-free frame] iar pe cele cu erori de transmisie - cadre eronate [error frame]. Reformulând ipoteza, vom zice ca receptorul poate distinge întotdeauna cadrele eronate de cele fara erori.

8. Se va presupune ca fiecare cadru transmis este întârziat cu un timp arbitrar si variabil pâna sa ajunga la receptor, iar unele cadre se pot “pierde”, neajungând nici o data la destinatie. Dar cadrele care ajung la destinatie, vor ajunge în aceeasi ordine ca la transmisie - cu sau fara erori.

Fig. 1 exemplifica aceste situatii pe un model de transmisie a cadrelor între doua masini (calculatoare). Dreptunghiurile de la masina A indica, prin lungimea lor, durata de emisie a fiecarui cadru. Sagetile indica duratele de propagare ale cadrelor pâna la masina B iar vârfurile sagetilor indica momentul în care un cadru a fost receptionat complet (când se poate calcula CRC si cadrul este acceptat sau nu).

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Curs Retele
    • PROT_DLC.DOC
    • TCP_IP internet-1.doc
    • TCP_IP internet-2.doc
    • TCP_IP internet-3.doc
    • TCP_IP internet-4.doc
    • TCP_IP internet-5.doc
    • TCP_IP internet-6.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
8.4/10 (5 voturi)
Nr fișiere:
7 fisiere
Pagini (total):
91 pagini
Imagini extrase:
94 imagini
Nr cuvinte:
39 433 cuvinte
Nr caractere:
194 374 caractere
Marime:
1.52MB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Rețele
Predat:
la facultate
Materie:
Rețele
Sus!