Prezentare generală
În cadrul temei, vom dezvolta și implementa un protocol orientat pe conexiune peste UDP, care permite utilizatorului să trimită un flux de octeți fără erori între două dispozitive pe care le vom numi client și server. Vom folosi acest protocol pentru a transmite imagini și cărți. În acest scenariu, clientul doar va trimite date, iar serverul le va recepționa și va trimite segmente de control pentru a-l informa de primirea corectă a acestora.
Pentru protocolul nostru, unitatea de transmisie se numește segment. Segmentele le vom transmite prin intermediul protocolului UDP.
Protocolul dezvoltat trebuie să asigure transferul corect de fisiere peste o legatura de date care are urmatoarele caracteristici:
- Are o rata nespecificata de pierdere a segmentelor
- are o viteza de transmisie
- introduce o latenta constanta pachetelor
Legătura de date trebuie să fie folosită optim de către protocol în funcție de latență și viteza de transmisie. Implementarea pe care o veți face va avea o fereastră glisantă atât la sender, cât și la receiver.
Spre deosebire de tema precedentă, unde am implementat o specificație dată, în această temă, trebuie să definiți și să implementați propriul vostru protocol. Vă recomandăm să gândiți specificația protocolului pe foaie înainte de a vă apuca de implementare.
Lectură temă
- TCP: Transmission control protocol (8 min)
- TCP connection walkthrough 9 min
- Go-back-n and selective repeat
- TCP Flow Control
- The Transmission Control Protocol
Deadline
Tema trebuie trimisă până pe data de 14 mai 2022, ora 23:55, pentru obținerea punctajului total de 100p.
Vă reamintim părțile relevante din regulamentul cursului de PCom:
-
După expirarea acestui termen limită se mai pot trimite teme un interval de maxim 3 zile, cu următoarele depunctări: 10p în prima zi, 20p în a două zi și 30p în a treia zi.
-
După cele 3 zile tema nu se mai poate trimite.
-
Oferim posibilitatea fiecărui student de a avea un număr de maxim 5 zile numite "sleep days".
-
Aceste zile pot fi folosite pentru a amâna termenul de predare al temei de casă (fără penalizări).
-
Nu se pot folosi mai mult de două sleep days pentru o temă de casă.
-
Pentru a utiliza aceste zile completați assignment-ul de pe Moodle
-
Temele de casă sunt individuale.