User Datagram Protocol: diferència entre les revisions

Contingut suprimit Contingut afegit
m Corregit: la adreça > l'adreça
m LanguageTool: correccions ortogràfiques i gramaticals
Línia 1:
{{millorar ortografia|data=abril de 2013}}
{{TCP/IP}}
'''User Datagram Protocol''' ('''UDP''') és un [[Protocol de comunicació|protocol]] del [[nivell de transport]] del [[model OSI]], basat en l'intercanvi de [[datagrama|datagrames]]. UDP permet l'enviament de datagrames a través d'una [[Xarxa informàtica|xarxa]] sense que s'hagi establert prèviament una connexió, ja que el propimateix datagrama incorpora suficient informació d'adreçament a la seva capçalera. Tampoc té control ni confirmació del flux, per tant els paquets poden avançar-se'n els uns als altres. Tampoc se sap si ha arribat correctament els paquets, ja que no té cap confirmació d'entrega o recepció.El fet que no s'hagin de reconèixer tots els paquets rebuts (mitjançant ACK), suposa un estalvi de dades (menys [[overhead]]) que el fa més àgil que altres protocols de la mateixa capa orientats a connexió com [[TCP]]. És per això que s'acostuma a fer servir quan és més important la rapidesa que la fiabilitat. Per exemple, per transmetre [[veu]] o [[vídeo]], aplicacions on resulta més important transmetre amb velocitat que garantir el fet que arribin absolutament tots els [[byte]]s.
És també útil per a servidors que responen petites consultes d'un gran nombre de clients. A diferència de [[TCP]], és compatible amb la difusió de paquets.
Se sol fer servir per protocols DHCP, BOOTP, DNS, TFTP, DHCP i més, fins i tot per a alguns jocs amb connexió en línia (en xarxa).
Línia 43:
User Datagram Protocol (UDP) és un protocol mínim de nivell de transport orientat a missatges documentat en el [[RFC]] [http://www.ietf.org/rfc/rfc768.txt 768] de la [[IETF]].
 
En la família de protocols d'Internet, UDP proporciona una senzilla interfície entre la capa de xarxa i la capa d'aplicació. UDP no atorga garanties per a l'entrega dels seus missatges i l'origen UDP no reté estats dels missatges UDP que han sigut enviats a la xarxa. UDP només afegeix multiplexat d'aplicació i suma de verificació de la capçalera i la cargacàrrega útil. Qualssevol tipus de garanties per la transmissió de la informació han de ser implementades en capes superiores.
 
== Ports ==
UDP utilitza ports per permetre la comunicació entre aplicacions. El camp de port té una longitud de 16 bits, de manera que el rang de valors vàlids va de 0 a 65.535. El port 0 està reservat, però és un valor permès com a port origen si el procés emissor no espera rebre missatges com a resposta.
 
Els ports delde l'1 al 1023 s'anomenen ports "ben coneguts" i en sistemes operatius tipus [[Unix]] enllaçar amb un d'aquests ports requereix accés com a root.
 
Els ports del 1024 al 49151 són ports registrats.
 
Els ports del 49.152 al 65.535 són ports efímers i són utilitzats com a ports temporals, sobretot pels clients alen comunicar-se amb els servidors.
 
== Fiabilitat i solucions al control de congestions ==
Línia 62:
 
== Comparativa entre protocol UDP i TCP ==
UDP: Proporciona un nivell de transport no fiable de datagrames, ja que afegeix poca informació necessària per a la comunicació extrem a extrem del paquet que envia al nivell inferior. s'utilitzen aplicacions com NFS (Network File System) yi RCP (comandes per copiar fitxers entre ordinadors remots), però sobretot s'utilitza en tasques de control i en la transmissió d'àudio i vídeo a través d'una xarxa. No introdueix retards per establir una connexió, no manté l'estat de connexió algun i no realitza seguiment d'aquests paràmetres. Així, un servidor dedicat a una aplicació particular pot suportar més clients actius quan l'aplicació corre sobre UDP en lloc de sobre TCP.
 
TCP: És el protocol que proporciona un transport més fiable de flux de bits entre aplicacions. Està pensat per poder enviar grans quantitats d'informació de manera fiable, alliberant el programador de la dificultat de gestionar la fiabilitat de la connexió (retransmissions, pèrdues de paquets, duplicació de paquets)que gestiona el propimateix protocol. Però la complexitat de la gestió de la fiabilitat té un cost en eficiència, ja que per portar les gestions anteriors cal afegir gran quantitat d'informació als paquets que envia. DegutA alcausa del fet que els paquets per enviar tenen una mida màxima, quantacom més informació afegeix el protocol per la seva gestió, menys informació provindrà de l'aplicació. El segment TCP té una sobrecàrrega de 20 bytes en cada segment, mentre que UDP només hi afegeix 8 bytes). Per això, quan és més important la velocitat que la fiabilitat, s'utilitza UDP. En canvi, TCP assegura la recepció en destí de la informació per transmetre .
 
== Aplicacions ==
Mentre que la quantitat total de trànsit UDP trobat en una xarxa típica sol ser de l'ordre de només un petit percentatge, nombroses aplicacions clau d'Internet utilitzen UDP, incloent-hi: el Domain Name System (DNS), on les consultes ha de ser ràpides i només consisteix en una petició única seguida d'un paquet de resposta única, el Simple Network Management Protocol (SNMP), el Dynamic Host Configuration Protocol (DHCP) i el Routing Information Protocol (RIP).
 
Trànsit de veu i de vídeo es transmeten generalment usant UDP. El vídeo en temps real i els protocols de streaming d'àudio estan dissenyats per manejar ocasionals paquets perduts, en lloc de grans paquets de retards en cas de pèrdua de paquets retransmesos. Com que tots dos TCP i UDP s'executen en la mateixa xarxa, moltes empreses estan descobrint un recent augment en el tràfic UDP d'aquestes aplicacions en temps real està obstaculitzant el desenvolupament de les aplicacions que utilitzen TCP, com a punt de venda, comptabilitat i sistemes de base de dades.
 
Quan detecta la pèrdua de paquets TCP, esés portat cap enrere el seu "data rate usage". Atès que tant en temps real i aplicacions de negoci són importants per a les empreses, el desenvolupament de la qualitat de solucions de servei és vist com a crucial per alguns.
 
== Transmissió de vídeo i veu ==
UDP és generalment el protocol usat en la transmissió de vídeo i veu a través d'una xarxa. Això és perquè no hi ha temps per enviar de nou paquets perduts quan s'està escoltant algú o veient un vídeo en temps real (unaun petit sacrifici per tal de no repercutir en la sensació de 'temps real' de cara a l'usuari).
 
Ja que tant TCP com UDP circulen per la mateixa xarxa, en molts casos passa que l'augment del trànsit UDP danya el correcte funcionament de les aplicacions TCP. Per defecte, TCP passa a un segon lloc per deixar les dades en temps real utilitzar la major part de l'ampleamplada de banda. El problema és que tots dos són importants per a la major part de les aplicacions, de manera que trobar l'equilibri entre ambdós és crucial (aquí és on es veu l'eficiència d'un programa o aplicació).
 
== Codi d'exemple ([[Python]] 3.x) ==
Línia 98:
</source>
 
Client (Canvia ''"localhost"'' por laper l'[[adreça IP]] del servidor):
<source lang="python">
import socket
Línia 147:
</source>
 
Client (Canvia "127.0.0.1" porper l'adreça IP del servidor):
 
<source lang="cpp">