Sunteți pe pagina 1din 4

 Ce este un protocol orientat către tranzacții, fără conexiune?

UDP(Protocolul Datagramelor Utilizator) constituie modul de comunicație fără conexiune.


Este similar cu sistemul poștal, în sensul că pachetele de informații (corespondența) sunt trimise în general
fără confirmare de primire, în speranța că ele vor ajunge, fără a exista o legătură efectivă între expeditor și
destinatar.
 Ce tipuri de aplicații beneficiază în general de utilizarea protocolului UDP?
UDP are o serie de avantaje pentru diferite tipuri de aplicații, inclusiv:
 Fără întârzieri de retransmisie - UDP este potrivit pentru aplicațiile sensibile la timp care nu își
pot permite întârzieri de retransmisie pentru pachetele abandonate. Exemple includ Voice over IP (VoIP),
jocuri online și streaming media.
 Viteză - viteza UDP îl face util pentru protocoalele de răspuns la interogare, cum ar fi DNS, în
care pachetele de date sunt mici și tranzacționale.
 Potrivit pentru emisiuni - Lipsa de comunicare end-to-end a UDP o face potrivită pentru
emisiuni, în care pachetele de date transmise sunt adresate ca primite de toate dispozitivele de pe internet.
Emisiile UDP pot fi primite de un număr mare de clienți, fără a depăși serverul.
 De ce protocolul UDP nu garantează că datele vor fi transmise cu succes?
UDP face parte din categoria protocoalelor de transport nesigure. În acest caz nu este garantată
ajungerea unor date corecte la destinatie pentru că nu este obligatorie folosirea unor sume de control (la
acest nivel de protocol). Utilizarea protocoalelor nesigure se face deoarece costul este mai mic decât în
cazul protocoalelor sigure. Practic vorbind, un protocol nesigur este mult mai simplu de proiectat, de
implementat si apoi de folosit. Costul, în termeni de complexitate (verificarea erorilor, calculul sumelor
de control etc.) si lărgime de bandă (bandwidth), sunt în mod simtitor mai mici cu un protocol nesigur.
 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ă.
 În protocolul TCP există Three Way Handshake, de ce în UDP nu există?
Deoarece în protocolul TCP Three Way Handshake (numit și strângere de mână TCP; strângere
de mână cu treimesaje) este metoda folosită pentru a stabili o conexiune TCP/IP printr-o rețea bazată pe
protocolul Internet, însă pentru protocolul UDP nu are nevoie de a stabili conexiunea dată.
 Numiti cele 2 apeluri de sistem necesare pentru a crea un server UDP
 socket(int domain, int type, int protocol) - creează un socket nelimitat în domeniul specificat.
 bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) - asignează adresa socket-ului
 Care este rolul metodei bind()?
Metoda bind () definește o relație între socket-ul pe care l-ați creat și adresele disponibile pe gazda
dvs.
 Care este rolul metodelor sendto() și recvfrom()?
O dată creat un socket, procesul poate trimite datagrame de pe acel socket, prin apelul funcției
sendto(). Datagramele trimise vor avea ca adresă sursă adresa socket-ului ¸si ca adresă destinația
¸si conținut util valorile date ca parametri funcției sendto().
Destinatarul poate citi o datagramă apelând funcția recvfrom(). Această funcție ia
următoarea datagramă adresată socket-ului dat ca parametru la recvfrom() ¸si o transferă din buffer-ele
sistemului local ân memoria procesului apelant.
 Care este dimensiunea antetului unui pachet UDP în octeți?
Antetul UDP este alcătuit din 4 câmpuri fiecare având lungimea de 2 octeți.
 Într-o conexiune UDP, clientul sau serverul trimite mai întâi datele?
Într-o conexiune UDP serverul nu are nevoie de conexiune cu clientul, astfel el mereu asteaptă
Datagramele trimise de clienți. Deci, mai întâi date va transmite clientul către server și anume datele
finale, fără a se conecta la protocol.
 Care este adresa de loopback IPv6 și care este rolul ei?
Loopback este un canal de comunicare cu un singur sfarsit. Pe majoritatea calculatoarelor,
„localhost” se rezolvă în adresa ip 127.0.0.1, către adresa loopback IPv6
 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 recvfrom() au întotdeauna aceeași dimensiune cu datele
trimise cu sendto()?
După ce datele sunt primite prin recvfrom() sistemul nu garantează livrarea tuturor
datagramelor (este posibilă pierderea unor datagrame) și nici nu oferă vreun mecanism de
informare a expeditorului în cazul unei pierderi. Mai mult, există posibilitatea ca o datagamă să
fie duplicată. Din acest motiv nu întotdeauna datele tprimite au aceeași dimensiune cu datele
trimise.
 Este acceptabil să închei execuția programului dacă este detectată o eroare de
rețea?
Da, deoarece clientul poate sa incerce din nou sa se conecteze la rețea nu este
o problemă deoarece încheierea executiei programului nu ar costa mai multe resurse si timp
decat incercarea de a se conecta din nou la retea, pentru că UDP nu are nevoie de a face
legătura cu serverul.
 De ce nu este folosit algoritmul Nagle în protocolul UDP?
Algoritmul Nagle intarzie trimiterea de pachete mici pe retea bazanduse pe teoria ca
vor mai aparea viitoare pachete curand. Dacă am transmite un pachet UDP care 2 octeți
algoritmul Nagle le va contra-ataca acesta ducând la întârzierea trimiterii pachetului.
 Ce instrumente listează socket-urile UDP deschise în sistemele de operare
Windows și Linux?
Pentru Windows putem folosi Command Prompt și comanda:
 netstat -an | find "UDP" | more
Pentru Linux putem folosi același terminal și următoarele comenzi:
 /proc/net/tcp -a
 ss -s
 Același program poate folosi UDP și TCP?
Da, se poate, folosind sockete diferite. Însă sincronizarea între aceste căi de
comunicare este dificilă.
 Diferența dintre aplicații UDP Unicast, Broadcast, și Multicast
 Unicast - transmiterea unui mesaj de la o singură sursă se poate realiza către o
singur destinatar.
 Brodcast- transmiterea unui mesaj de la o singură sursă se poate realiza către toţi
membrii unei subreţele
 Multicast - reprezintă o tehnică de transmitere a unui mesaj sau a unei informaţii
către un grup destinatar, simultan către toţi membrii acestuia, într-o singură transmisie.
 Ce face mai ușor multiplexarea cu UDP decît cu TCP?
Multiplexarea cu UDP este mai ușor decât cu TCP deoarece TCP este un protocol
complex, furnizâd un serviciu orientat pe coexiuni, controlul fluxului, porturi multiple,
transmiterea datelor în ordine pe când multiplexarea este trimiterea simultan a mai multor
pachete.
 În protocolul UDP este un antet „Total length”, cum se calculează și care este rolul
lui?
În antetul UDP este partea cu Total Length și ea este egală cu dimensiunea în bytes a
segmentului UDP plus dimensiunea headerului (de obicei 8 bytes). Ea este prezentă deoarece
UDP transmite mesaje datagram cu o lungime (lungime udp) are poate fi trimis pe mai multe
pachete fragmentate IP și se mai folosește la calcularea Checksum-ului.

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