Sunteți pe pagina 1din 4

Studenți: Arhip Madalina

Cornea Andra Mariana


Grupa: MS11

Comunicația de tip Client-Server utilizând Labview

TCP/IP (Transmission Control Protocol/Internet Protocol) a fost dezvoltat din dorința


Ministerului Apărării Naționale al SUA care dorea un protocol de rețea care să meargă chiar
daca existau în rețea calculatoare sau dispozitive hardware care să se opreasca brusc. Este cel
mai raspandit protocol din lume ce permite computerelor să comunice între ele.
Modelul TCP/IP este asemanator cu modelul OSI (Open Systems Interconnection) și este
compus din patru niveluri: nivelul Acces la retea, Internet (Retea), Transport și Aplictie.
Tehnologia TCP se bazeaza pe principiul capăt la capăt și folosește socketuri. Un socket
este un „capat” de comunicație – un obiect prin intermediul unei aplicații de socket, unitățile de
calcul transmit sau recepționează pachete de date în rețea.
Un socket este de un anumit tip :
 socket-uri orientate pe flux - TCP
 socket-uri orientate pe datagramă - UDP

Fig 1. O legătură între 2 sockeți

Ambele tipuri de socket-uri sunt bidirecționale, full-duplex.


TCP - Transport Control Protocol: trimite un flux de bytes. Se garantează că fluxurile de
date sunt primite, iși păstrează secvențialitatea (pachetele sunt primite în ordinea în care au fost
trimise) și sunt corecte și neduplicate (un anumit pachet se primeste o singura dată). Acest tip de
socket-uri se pretează în cazul transmiterii unui volum mare de date. Socket-urile orientate pe
flux sunt preferate de asemenea în cazul în care este necesară garanția ca datele s-au primit și
atunci cand dimensiunea datelor este mare (de exemplu fisiere imagine). .Acest protocol asigură
stabilirea unei conexiuni între cele doua calculatoare pe parcursul comunicației. Odată
conexiunea stabilită, protocolul TCP menține conexiunea și asigură integritatea datelor.
UDP - User Datagram Protocol : trimite un flux de date orientat pe înregistrare (pachete de date,
numite datagrame).
In acest caz nu se garantează secvențierea corectă sau neduplicarea datelor, nu se
garantează recepționarea datagramelor, acestea pot fi duplicate însa dimensiunea datagramei se
păstrează.
In cazul datagramelor nu se realizează o conexiune explicită, se poate trimite un mesaj
datagrama către un socket specificat și se poate primi un mesaj de la un socket specificat.
Socket-urile de tip datagramă sunt preferate celor de tip flux în cazul datelor orientate pe
înregistrări (record-oriented data). Acest protocol nu stabileste o conexiune între cele două
calculatoare.
Alegerea tipului de protocol de transmisie prin socket în aplicatii de transmisie de date în
mediul industrial, este de regulă impusă de mediul informațional, care poate avea unele
caracteristici cu pondere în luarea deciziei.
In cadrul Socket-urilor, canalele de comunicatie între aplicații sunt reprezentate prin
structuri de date numite socket-uri. Un socket este identificat printr-o adresa de IP și un număr de
port.
O conexiune pe rețea, între două aplicații se identifică printr-un set de cinci proprietăți:
 port local care specifică unde anume primește un program sau un proces (aplicație)
mesajele sau datagramele;
 adresa locală a hostului - identifică unitatea de calcul gazdă ce va recepționa pachetele de
date;
 portul partener - identifică programul sau procesul (aplicația) la unitatea de calcul
partener de comunicație;
 adresa partener care identifică unitatea de calcul host (partenerul de comunicație, aflat la
distanță, sau nu) cu care se dorește comunicarea;
 protocolul care ajută la specificarea modului în care programele vor face transferul de
date pe rețea;

Un port este ca și o adresa IP cu diferența că TCP/IP asociaza un port cu o anumită


aplicație ce utilizează un anumit protocol și nu cu anumit calculator. Cu alte cuvinte unei
aplicații care utilizează sockeții este asociat de către sistemul de operare un port, și acesta nu
poate fi utilizat de către alte aplicații. Pe aceeați unitate de calcul se pot găsi mai multe porturi
alocate pentru aceeași adresă IP.
Adresa (adresa locală / adresa partener) – reprezintă adresele IP (valori pe 32 biti
identificand în mod unic interfata IP, sau asa numitul Computer “Friendly” Name) care identifică
în mod unic unitatea de calcul (gazda, locala și respectiv host, partener) . Această afirmație
necesită o nuanțare – în realitate nu identifică unitatea de calcul, ci “unitatea de calcul pe o
rețea”.
Interfața Client:

Modelul Server / Client al aplicațiilor de comunicație prin socket


O aplicație de comunicație prin rețea, ce foloseste socket-uri este o aplicație de tip client /
server datorită faptului că întregul mecanism de comunicație prin socket se bazează pe un model
de tip client / server.
Pentru a folosi o interfață socket programele trebuie sa urmeze un proces compus din
cinci etape în cazul TCP și patru etape în cazul UDP:
 Crearea socket-ului,
 Configurarea socket-ului pentru a putea fi folosit (conectarea la un host la distanta sau
legarea la un port de local),
 Realizarea conexiunii cu socketul partener de comunicație – în cazul protocolului TCP
(în cazul UDP nu există această etapă)
 Transmiterea și/sau recepționarea datelor prin socket,
 Inchiderea socket-ului.

Relatia Client – Server în comunicația prin socket-uri utilizând protocolul TCP


Socket-ul oferă un mijloc de transport de date de tip full-duplex, deci la nivel de
transmitere/receptionare a datelor între două socket-uri, nu există un dezechilibru între cei doi
parteneri de comunicație (partenerii sunt egali, oricare poate iniția o transmisie de date și celalalt
le va recepționa).
In schimb, la nivelul realizării conexiunii cei doi parteneri nu au rol identic. Stabilirea
conexiunii pentru o comunicație utilizand socket-uri se face prin poziționarea unui socket ca
server și poziționarea partenerului de comunicație în calitate de client.
Prin definiție modelul Client / Server implică: Server-ul oferă servicii, iar Clientul
apelează la serviciile Server-ului. In situația comunicației prin intermediul socket: socket-ul în
pozitia Server oferă un singur serviciu – receptionează cererile de conectare ale socket-ului
Client sau socket-urilor Clienti.
Serverul nu are initiativa în crearea unei conexiuni, acesta se gaseste în starea de
asteptare a cererilor de stabilire de conexiuni de la oricare Client („Listen” – ascultare pasiva la
un port a cererilor de conectare). Este în sarcina socket-ului Client să inițieze cererea de
conectare prin apelul metodei „Connect”.

Relatia Client – Server in comunicația prin socket-uri utilizând protocolul UDP


In acest caz clientii nu trebuie sa stabileasca o conexiune cu serverul pentru a comunica,
ci se trimit direct datagrame. In acelasi mod, serverul nu asteapta apeluri de conexiune, ci
asteapta sosirea datagramelor cu date de la clienti.

Schema bloc Server

Schema bloc Client

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