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 fie utilizat˘ aˆ ın mod eficient. Bandwidth - delay product(BDP) Leg˘ aturile de date asigur˘ a transmisia datelor ˆ ıntre dou˘ a mas , ini. Propriet˘ at ile principale care definesc 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 fi 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 fi 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 aflat˘ moment de timp. Deci, cantitatea de informat aˆ ın zbor la un anumit moment de timp este V × TP . , ie aflat˘ BDP = V × TP Observat a asupra cantit˘ at aˆ ın zbor. , ie: BDP impune o limit˘ , ii de informat , ie aflat˘ Latent a timpul necesar pentru a transmite un mesaj pe o leg˘ atur˘ a de date. , a(L) reprezint˘ Pentru a defini 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 fi propagat c˘ atre destinat , ie • timp de propagare = TP • viteza de transmisie = V As , adar: L = TS + TP , TS =
M V .

1

Observat i schimb˘ a rile ˆ ın timpul de rulare. o utilizare din plin a leg˘ W = BDP Ferestre glisante(Sliding Windows) Dup˘ a ce am pus pe fir un num˘ ar de cadre egal cu dimensiunea ferestrei. 2013 Ferestre Pentru a descrie timpul petrecut de un cadru ˆ ın ret .executabilul link . Not˘ a: nu trebuie s˘ a fie modificat˘ a structura msg definit˘ aˆ ın lib. Un exemplu vizual(W = 3): • dup˘ a trimiterea celor W cadre Cadru1 Cadru2 Cadru3 Cadru4 Cadru5 Cadru6 Cadru7 • dup˘ a primirea primului ACK(confirmare pentru Cadru1 ). urate cu galben sunt trimise s . Implementat a utilizeze eficient leg˘ atura de date. 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 confirmarea. Software disponibil • Simulator leg˘ atura de date . Modificat . ie. Implementarea va porni de la scheletul de cod pentru laboratorul 4. i neconfirmate.se vor utiliza doar cˆ ampurile len ¸ si payload. As aturii presupune o fereastr˘ a egal˘ a cu BDP. Pas . ea. 2. Discutat . iunea de RTT. te valoarea BDP? Modificat .generat ˆ ın urma make • Schelet de cod • API simulator: – int send message(msg* m) ∗ parametru: mesajul care va fi 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 2 . se foloses . Observat a timpul de propagare pentru confirmare egal . ea.h . fereastra este de 1 cadru. i programul pentru a evident . i rezolvare laborator 1. . deci RT T = TP . adar.Protocoale de comunicat . . i/sau DELAY. ia acest caz. putem trimite urm˘ atorul cadru(Cadru4 ) Cadru1 Cadru2 Cadru3 Cadru4 Cadru5 Cadru6 Cadru7 Cadrele has . BONUS: ce se ˆ ıntˆ ampl˘ a atunci cˆ and se trimite o cantitate de date care dep˘ as . La fiecare ACK pentru cel mai vechi cadru trimis. ie: simulatorul din scheletul de cod consider˘ cu 0. . i. i not . es . as am confirm˘ arile. i un protocol care s˘ 3. te s . din scriptul run experiment. tept˘ Fiecare confirmare ne va permite s˘ a introducem un nou cadru ˆ ın ret . parametrii SPEED s . 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 beneficii notabile Fereastr˘ a W (window) = num˘ arul maxim de cadre neconfirmate la orice moment de timp Pentru protocolul STOP AND WAIT. . i cu asistentul problemele care pot s˘ a apar˘ a. fereastra gliseaz˘ a spre dreapta.

Sign up to vote on this title
UsefulNot useful