Sunteți pe pagina 1din 4

• Ce este un protocol orientat pe conexiune?

Un protocol orientat către conexiune este un protocol de rețea utilizat pentru a stabili o sesiune de
comunicare a datelor în care dispozitivele finale folosesc protocoale preliminare pentru a stabili conexiuni
end-to-end și apoi fluxul de date ulterioare este livrat în modul de transfer secvențial.
• Ce tipuri de aplicații beneficiază în general de utilizarea protocolului TCP?
TCP este un protocol folosit de obicei de aplicații care au nevoie de confirmare de primire a
datelor, de exemplu:

 Web
 SSH, FTP, telnet
 SMTP, trimiterea de mail
 IMAP / POP, primind mail
• Cum TCP garantează că datele vor fi transmise cu succes?

TCP împarte datele (provenind din stratul de aplicație) în bucăți de dimensiuni corespunzătoare și
apoi trece aceste bucăți în rețea. Recunoaște pachetele primite, așteaptă confirmarea pachetelor pe care le-
a trimis și stabilește timpul pentru a retrimite pachetele dacă nu sunt primite la timp.

• Diferența dintre blocking si non-blocking sockets

Blocking este atunci când nu putem servi mai mult de o conexiune într-un singur thread. În mod
implicit, soclurile TCP funcționează în modul de blocare.

Non-blocking atunci când orice operație este executată imediat. I / O care nu blochează înseamnă
că cererea este pusă în coadă imediat și că funcția este returnată.

• Diferența dintre blocking multithreaded și non-blocking single thread socket

Non-Blocking single thread reprezinta procesul prin care se execută o cerere pe un singur thread și
nu este nevoie de a fi blocat, dar în blocking multithreaded exista mai multe threaduri insa se executa
secvential, unul cate unul, celelalte fiind puse in asteptare.

• Cum are loc procesul TCP Three Way Handshake?

TCP Three Way Handshake (numit și strângere de mână TCP; strângere de mână cu trei

mesaje) este metoda folosită de TCP pentru a stabili o conexiune TCP/IP printr-o rețea bazată pe
protocolul Internet.

1. Gazda A trimite un pachet TCP SYNchronize către gazda B


2. Gazda B primește SYN-ul lui A
3. Gazda B trimite o confirmare SYNchronize
4. Gazda A primește SYN-ACK B
5. Gazda A trimite ACKnowledge
6. Gazda B primește ACK.
7. Conexiunea de priză TCP este stabilită.
• Numiti cele 4 apeluri de sistem necesare pentru a crea un server TCP

Cele patru apeluri de sistem necesare pentru crearea unui server TCP sunt: socket, bind, listen și
accept. Fiecare are un scop specific și ar trebui apelat în ordinea de mai sus.

• Care este rolul metodei bind()?

Metoda bind() atribuie o adresă de protocol locală la un socket. Cu protocoalele Internet, adresa
este combinația unei adrese IPv4 sau IPv6 (32 biți sau 128 biți), împreună cu un număr de port TCP de 16
biți.

• Care este rolul metodei accept()?


Odată ce socket-ul a fost inițializat, serverului apeleaza accept și așteaptă noi conexiuni. Spre
deosebire de socket bind și listen, acest apel va fi blocat. adică dacă nu există conexiuni noi, acest apel se
va bloca și se va întoarce doar atunci când se conectează un client nou. Socketul TCP returnat este asociat
cu un tuplu (IP client, port client, IP server, port server) și va fi utilizat pentru toate pachetele viitoare
TCP primite și ieșite care se potrivesc cu această tuplu.

• Ce se întîmplă cînd apelați mai întîi connect() apoi bind()?

Funcția de connect() este utilizată de un client TCP pentru a stabili o conexiune cu un server TCP.
Clientul nu trebuie să apeleze metoda bind () în secțiune înainte de a apela metoda connect(), deoarece
kernel-ul va alege atât portul efemer(portu care nu durează mult), cât și IP-ul sursă, dacă este necesar.

• Ați avea vreodată nevoie să implementați un timeout într-un client sau server care
utilizează TCP?

Pentru implementarea unui timeout se prevăd următoarele cazuri:

 creșterea intervalului de timp pentru utilizatori la ambele capete ale unei conexiuni TCP îi permite
să supraviețuiască perioadelor prelungite fără conectivitate end-to-end;
 scăderea timpului de utilizare permite serverelor ocupate să-și anunțe în mod explicit clienții că
vor menține starea de conexiune doar pentru o perioadă scurtă de timp, fără conectivitate.
• Într-o conexiune TCP, clientul sau serverul trimite mai întâi datele?

Clientul trimite primul date către server, aceste date fiind cererea clinetului către server pentru a se
conecta și a executa o comandă dorită, fie ea de citire, sau de înscriere.

• Care este adresa de loopback IPv4 și care este rolul ei?

Adresa IP 127.0.0.1 este o adresă IPv4 cu scop special numită localhost sau adresă loopback.
Toate computerele folosesc această adresă ca fiind locală, și nu le permite să comunice cu alte dispozitive
așa cum o face o adresă IP reală. Ea se folosește de obicei pentru testare locală înainte de lansare.

• De unde știe un sistem de operare ce aplicație este responsabilă pentru un pachet primit
din rețea?

Un sistem de operare știe ce aplicație este responsabilă de pachetul primit din rețea datorită
informației care îl conține, astfel el în dependență de portul înscris în pachet el transmite către aplicația
respectivă care suportă astfel de port.

• Datele primite prin recv() au întotdeauna aceeași dimensiune cu datele trimise cu send()?

Nu, deoarece spre exemplu, send() trimite 25 de octeți și sunt scrise în rețea, dacă nu a apărut nicio
eroare, iar la recv(), putem primi oriunde de la 1 la 25 de octeți de date.

• Este acceptabil să închei executia programului dacă este detectată o eroare de rețea?

Nu, deoarece clientul poate sa incerce din nou sa se conecteze la retea. Incheierea executiei
programului ar costa mai multe resurse si timp decat incercarea de a se conecta din nou la retea.

• Puteți îmbunătăți performanța aplicației prin dezactivarea algoritmului Nagle?

Dezactivarea Nagle nu este foarte eficientă atunci când se efectuează o comunicare uni-
direcțională. În comunicarea bidirecțională, dezactivarea Nagle poate îmbunătăți debitul, deoarece
beneficiile eliminării întârzierilor se pot acumula, deoarece fiecare nod își poate trimite răspunsurile ușor
mai devreme, lăsând cealaltă parte să răspundă chiar mai devreme.

• Ce instrumente listează socket-urile TCP deschise în sistemele de operare Windows și


Linux?
 Pentru Windows putem folosi Command Prompt și comanda netstat.
 Pentru Linux putem folosi același terminal și următoarele comenzi:
o cat /etc/services
o netstat
o ss -lntu
o sudo lsof -i -P -n
• Tehnici de sincronizare a firelor de execuții

 Semaphore

 CountDownLatch

 CyclicBarrier

 Exchanger<V>

 Phaser

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

  • Cornea Ion
    Cornea Ion
    Document18 pagini
    Cornea Ion
    Ion Cornea
    Încă nu există evaluări
  • PR - Lab 5
    PR - Lab 5
    Document4 pagini
    PR - Lab 5
    Ion Cornea
    Încă nu există evaluări
  • Lab 1 SOMMIP
    Lab 1 SOMMIP
    Document4 pagini
    Lab 1 SOMMIP
    Ion Cornea
    Încă nu există evaluări
  • Lab7 AMOO
    Lab7 AMOO
    Document7 pagini
    Lab7 AMOO
    Ion Cornea
    Încă nu există evaluări
  • PAM Lab6
    PAM Lab6
    Document31 pagini
    PAM Lab6
    Ion Cornea
    Încă nu există evaluări
  • Laborator 1 Testare Software
    Laborator 1 Testare Software
    Document8 pagini
    Laborator 1 Testare Software
    Ion Cornea
    Încă nu există evaluări
  • Lab2 TMPS
    Lab2 TMPS
    Document4 pagini
    Lab2 TMPS
    Ion Cornea
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document4 pagini
    Lab 1
    Ion Cornea
    Încă nu există evaluări
  • Laborator 1 Prelucrarea Semnalelor
    Laborator 1 Prelucrarea Semnalelor
    Document19 pagini
    Laborator 1 Prelucrarea Semnalelor
    Ion Cornea
    Încă nu există evaluări
  • Programare Lab1
    Programare Lab1
    Document7 pagini
    Programare Lab1
    Ion Cornea
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document10 pagini
    Lab 1
    Ion Cornea
    Încă nu există evaluări
  • Laborator1 TMPS
    Laborator1 TMPS
    Document4 pagini
    Laborator1 TMPS
    Ion Cornea
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document10 pagini
    Lab 3
    Ion Cornea
    Încă nu există evaluări
  • Laborator 2
    Laborator 2
    Document7 pagini
    Laborator 2
    Ion Cornea
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document7 pagini
    Lab 1
    Ion Cornea
    Încă nu există evaluări
  • Lab 1
    Lab 1
    Document12 pagini
    Lab 1
    Ion Cornea
    Încă nu există evaluări
  • 1.cinematica Punctului
    1.cinematica Punctului
    Document17 pagini
    1.cinematica Punctului
    Ion Cornea
    Încă nu există evaluări
  • Tema 2 CP
    Tema 2 CP
    Document13 pagini
    Tema 2 CP
    Ion Cornea
    Încă nu există evaluări
  • Cercetari Operationale: Alexei LEAHU
    Cercetari Operationale: Alexei LEAHU
    Document20 pagini
    Cercetari Operationale: Alexei LEAHU
    Ion Cornea
    Încă nu există evaluări
  • MD Lab 1
    MD Lab 1
    Document59 pagini
    MD Lab 1
    Ion Cornea
    Încă nu există evaluări