Sunteți pe pagina 1din 2

Protocoale de comunicat , ie, 2013

Universitatea Politehnica Bucures , ti Facultatea de Automatic as i Calculatoare ,

Protocoale de comunicat , ie Laboratorul 4


Responsabili laborator: Costin Raiciu(costin.raiciu@cs.pub.ro), Liviu Ioan(liviu.ioan@cti.pub.ro) In cadrul laboratorului curent, leg atura de date nu pierde s , i nu corupe informat , iile. Se cere s a se implementeze un protocol prin care leg atura de date s a e utilizat a n mod ecient. Bandwidth - delay product(BDP) Leg aturile de date asigur a transmisia datelor ntre dou a mas , ini. Propriet at ile principale care denesc o leg a tur a de date sunt: , viteza de transmisie V (bandwidth) reprezint a cantitatea de informat a ntr-o unitate de timp pe , ie care poate transmis leg atura de date termeni sinonimi: rata de transmisie, capacitatea leg aturii, l at a , imea de band unitate de m asur a: Mb/s - megabit a , i/secund timpul de propagare TP (delay) reprezint a timpul n care un bit se propag a de la surs a la destinat aturii , ie de-a lungul leg de date unitate de m asur a: s - secunda Leg atura de date poate asem anat a cu un cilindru n care datele sunt introduse de c atre transmit ator , s atre receptor. Aria sect a viteza de transmisie, iar n alt , i primite de c , iunii cilindrului reprezint , imea este timpul de propagare. Volumul cilindrului determin a cantitatea de informat a pe leg atura de date, la un anumit , ie aat moment de timp. Deci, cantitatea de informat a n zbor la un anumit moment de timp este V TP . , ie aat BDP = V TP Observat a asupra cantit at a n zbor. , ie: BDP impune o limit , ii de informat , ie aat Latent a timpul necesar pentru a transmite un mesaj pe o leg atur a de date. , a(L) reprezint Pentru a deni latent , a, avem nevoie de: timp de serializare = TS este timpul necesar pentru a pune un mesaj(M bit atura de date , i) pe leg depinde de capacitatea conexiunii; conexiune rapid a timp de serializare scurt odat a serializat, cadrul va propagat c atre destinat , ie timp de propagare = TP viteza de transmisie = V As , adar: L = TS + TP , TS =
M V .

Protocoale de comunicat , ie, 2013

Ferestre Pentru a descrie timpul petrecut de un cadru n ret , ea, se foloses , te s , i not , iunea de RTT. RTT(Round Trip Time) reprezint a timpul scurs din momentul n care un cadru din momentul n care este trimis p an a n momentul n care este primit a conrmarea. Observat a timpul de propagare pentru conrmare egal , ie: simulatorul din scheletul de cod consider cu 0, deci RT T = TP . Dezavantaje STOP AND WAIT: un singur cadru n leg atura de date pe parcursul unui RTT o m arire a vitezei de transmisie V nu aduce benecii notabile Fereastr a W (window) = num arul maxim de cadre neconrmate la orice moment de timp Pentru protocolul STOP AND WAIT, fereastra este de 1 cadru. As aturii presupune o fereastr a egal a cu BDP. , adar, o utilizare din plin a leg W = BDP Ferestre glisante(Sliding Windows) Dup a ce am pus pe r un num ar de cadre egal cu dimensiunea ferestrei, as am conrm arile. , tept Fiecare conrmare ne va permite s a introducem un nou cadru n ret , ea. Un exemplu vizual(W = 3): dup a trimiterea celor W cadre Cadru1 Cadru2 Cadru3 Cadru4 Cadru5 Cadru6 Cadru7

dup a primirea primului ACK(conrmare pentru Cadru1 ), putem trimite urm atorul cadru(Cadru4 ) Cadru1 Cadru2 Cadru3 Cadru4 Cadru5 Cadru6 Cadru7

Cadrele has , urate cu galben sunt trimise s , i neconrmate. La ecare ACK pentru cel mai vechi cadru trimis, fereastra gliseaz a spre dreapta. Implementarea va porni de la scheletul de cod pentru laboratorul 4. Pas , i rezolvare laborator 1. Modicat , i, din scriptul run experiment, parametrii SPEED s , i/sau DELAY. Observat i schimb a rile n timpul de rulare. , 2. Implementat a utilizeze ecient leg atura de date. , i un protocol care s 3. BONUS: ce se nt ampl a atunci c and se trimite o cantitate de date care dep as , es , te valoarea BDP? Modicat , i programul pentru a evident , ia acest caz. Discutat , i cu asistentul problemele care pot s a apar a. Not a: nu trebuie s a e modicat a structura msg denit a n lib.h - se vor utiliza doar c ampurile len si payload. Software disponibil Simulator leg atura de date - executabilul link - generat n urma make Schelet de cod API simulator: int send message(msg* m) parametru: mesajul care va trimis rezultat: num arul de octet i transferat i( n caz de succes) sau -1 n caz de eroare int recv message(msg* m) parametru: adresa la care se memoreaz a datele primite rezultat: num arul de octet i recept ionat i( n caz de succes) sau -1 n caz de eroare

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