Trabajo de Investigación #3: "UDP - User Datagram Protocol"

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Trabajo de Investigación Nº 3

Grupo 2

“UDP - User Datagram Protocol”

2015

Introducción1 2
UDP es un protocolo que opera sobre la capa 4 del modelo OSI (capa de transporte). Para
entender el funcionamiento del protocolo UDP es necesario conocer algunas generalidades
de dicha capa.

La capa de transporte es la responsable de la transferencia libre de errores de los datos


entre el emisor y el receptor, manteniendo el flujo de datos de la red. Para ello ofrece dos
servicios. Un servicio consiste en el envío y recepción de datos orientado a conexión, el cual
está a cargo del protocolo TCP (Transmission Control Protocol), y el otro en el envío y
recepción de datos no orientados a conexión, el cual se encuentra definido por el protocolo
UDP (User Datagram Protocol).

1 http://deredes.net/protocolos-tcpip/
2 https://www.tlm.unavarra.es/~daniel/docencia/rc_itig/rc_itig04_05/slides/clase14-UDP.pdf
Tanto el protocolo TCP como el protocolo UDP son miembros principales de la familia de
protocolos de internet, junto al protocolo IP.

El objetivo de UDP es proporcionar un medio de transporte rápido y sin sobrecarga de


cabeceras, sacrificando fiabilidad como se verá a continuación.

Fue diseñado por David P. Reed en 1980 y se encuentra especificado en el RFC 768 de la
IETF (Internet Engineering Task Force).

Funcionamiento3 4
Los datos son agrupados en mensajes llamados datagramas (combinación de las palabras
data y telegram).

Cada datagrama posee suficiente información de direccionamiento en su cabecera, por este


motivo no es necesario establecer una conexión entre el emisor y el receptor, además cada
uno de ellos puede ser tratado en forma independiente de los demás.

Para indicar el origen y destino de un mensaje se utilizan puertos. Un puerto UDP es un


número de identificación, y funciona como una única cola de mensajes que recibe todos los
datagramas destinados al programa especificado mediante su número de puerto. Este
número, junto con el número IP del protocolo IP, permite identificar un programa
destino/origen dentro de la red. De esta forma un programa puede recibir varios datagramas
a la vez si se le otorgan varios puertos.

Debido a su objetivo y a su reducida cabecera este protocolo no puede brindar garantia


sobre la recepción de cada datagrama ni brindar un control de flujo, es decir que los
datagramas pueden llegar desordenados o no llegar (incluso pueden llegar repetidos),
delegando la implementación de dichos controles a niveles superiores, si fuera necesario.

UDP proporciona un control de integridad de tipo checksum, calculado a partir de una


pseudo-cabecera IP, su propia cabecera y los datos. Este control solo es utilizado para
descartar los datagramas erróneos (no existen solicitudes de reenvío de datagramas).

5 6
Composición del datagrama

Puerto de origen (16 bit) Puerto destino (16 bit)


Longitud del mensaje (16 bit) Checksum (16 bit)

3 https://es.wikipedia.org/wiki/User_Datagram_Protocol
4 http://ingeniatic.euitt.upm.es/index.php/tecnologias/item/644-udp-user-datagram-protocol
5 https://es.wikipedia.org/wiki/User_Datagram_Protocol
6 http://ingeniatic.euitt.upm.es/index.php/tecnologias/item/644-udp-user-datagram-protocol
Datos (cantidad variable)

● Puerto de Origen: es el número de puerto relacionado con la aplicación del


remitente del segmento UDP. Este campo representa una dirección de respuesta
para el destinatario. Por lo tanto, este campo es opcional. Esto significa que si el
puerto de origen no está especificado, los 16 bits de este campo se pondrán en cero.
En este caso, el destinatario no podrá responder (lo cual no es estrictamente
necesario, en particular para mensajes unidireccionales).
● Puerto de destino: este campo contiene el puerto correspondiente a la aplicación
del equipo receptor al que se envía.
● Longitud del mensaje: este campo especifica la longitud total del segmento, con el
encabezado incluido. Dado que el encabezado tiene una longitud de 4 x 16 bits, la
longitud del campo es necesariamente superior o igual a 8 bytes.
● Checksum: es una suma de comprobación realizada de manera tal que permita
controlar la integridad del datagrama. En IPv4 se calcula utilizando una pseudo
cabecera IP que contiene la misma información que la cabecera real IPv4 y es un
campo opcional. Para IPv6 se modificó para tener en cuenta las nuevas direcciones
de 128 bits y se estableció como un campo obligatorio.

Puertos 7
Como se mencionó antes, UDP utiliza puertos para permitir la comunicación entre aplicaciones.
El campo de puerto tiene una longitud de 16 bits, por lo que el rango de valores válidos va de 0
a 65.535.El usuario común no puede hacer uso de cualquier puerto, existen rangos de puertos
con funciones específicas.

● El puerto 0 está reservado, pero es un valor permitido como puerto origen si el proceso
emisor no espera recibir mensajes como respuesta.
● Los puertos 1 a 1023 se llaman puertos "bien conocidos" y en sistemas operativos tipo
Unix, enlazar con uno de estos puertos requiere acceso como superusuario. Por ejemplo
el 53 se utiliza para consultas de nombres DNS.
● Los puertos 1024 a 49.151 son denominados "registrados" y pueden ser usados por
cualquier aplicación. Por ejemplo 3306 se utiliza para bases de datos MySql. Existe una
lista pública en la web del IANA (Internet Assigned Numbers Authority) donde se puede
ver qué protocolo usa cada uno de ellos.
● Los puertos 49.152 a 65.535 son puertos efímeros y son utilizados como puertos
temporales, sobre todo por los clientes al comunicarse con los servidores.

Principales características 8 9
Las características principales de este protocolo son:
● Trabaja sin conexión, es decir que no emplea ninguna sincronización entre el origen y el
destino.

7 http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/udp.html
8 https://es.wikipedia.org/wiki/User_Datagram_Protocol
9 http://datagramas.wikispaces.com/2.1+User+Datagram+Protocol+%28UDP%29
● Para proveer un servicio de intercambio de datos, utiliza el modo Best-Effort (mejor
esfuerzo, no puede garantizar una calidad de servicio determinada ni puede
garantizar que los datos lleguen a destino).
● Trabaja con paquetes o datagramas enteros, no con bytes individuales como TCP. Una
aplicación que emplea el protocolo UDP intercambia información en forma de bloques de
bytes, de forma que por cada bloque de bytes enviado de la capa de aplicación a la capa
de transporte, se envía un paquete UDP.
● No es fiable. No emplea control del flujo ni ordena los paquetes.
● Provoca poca carga adicional en la red ya que es sencillo y emplea cabeceras muy
simples.
● Trabaja en conjunto con el protocolo IP, con lo cual un paquete UDP puede ser
fragmentado por dicho protocolo para ser enviado fragmentado en varios paquetes IP si
resulta necesario.
● Puesto que no hay conexión, un paquete UDP admite utilizar como dirección IP de
destino la dirección de broadcast o de multicast de IP. Esto permite enviar un mismo
paquete a varios destinos.
● Es orientado a transacciones, adecuado para protocolos de consulta-respuesta simples,
tales como el DNS (Domain Name System) o NTP (Network Time Protocol).
● Adecuado para modelar otros protocolos tales como en IP tunneling o RPC (Remote
Procedure Call) y NFS (Network File System).
● Es simple, conveniente para bootstrapping u otros fines sin una pila de protocolo
completo, como el DHCP y Trivial File Transfer Protocol.
● Es sin estado, apto para un gran número de clientes, como en aplicaciones de streaming
de medios de comunicación, por ejemplo, IPTV.
● La falta de retrasos de retransmisión lo hace adecuado para aplicaciones en tiempo real
tales como voz sobre IP, juegos online, y muchos protocolos construidos en la parte
superior del Protocolo de transmisión en tiempo real (RTSP).
● Funciona bien en la comunicación unidireccional, apto para información de difusión,
como en muchas clases de descubrimiento de servicios y la información compartida
como el tiempo de emisión o el Protocolo de información de enrutamiento (RIP
● No hay garantías. Un paquete puede no entregarse o entregarse varias veces y no
enterarse.
● Ejemplo
○ La conexión UDP sin estado en condiciones normales minimiza el tráfico de
la red, como el servidor NFS envía al cliente una cookie después de que el
cliente está autorizado a acceder al volumen compartido . Esta cookie es un
valor aleatorio guardado en el lado del servidor y es pasado junto con las
peticiones RPC desde el cliente . El servidor NFS puede ser reiniciado sin
afectar a los clientes y la cookie se mantiene intacta. Sin embargo , debido a
que UDP es sin estado , si el servidor se cae de forma inesperada , los
clientes UDP continúan saturando la red con peticiones para el servidor . Por
esta razón, TCP es el protocolo preferido cuando se conecta a un servidor
NFSv3.

Cuándo utilizar UDP10 11

10 http://digital.ni.com/public.nsf/allkb/8833FDF0900DCAE68625797B005ADCD7
11 http://datagramas.wikispaces.com/2.1+User+Datagram+Protocol+%28UDP%29
Se utiliza UDP cuando la confiabilidad no es crítica, pero sí lo es la velocidad de
transferencia, teniendo en cuenta que se pueden perder algunos paquetes. También se
utiliza UDP cuando se requiere enviar un mensaje de broadcast a cualquier computadora
que está escuchando un servidor.
Cuando se requieren enviar pocos datos y los datos se envían con frecuencia, puede no
hacerse necesario realizar una conexión que sobrecargue la transferencia. Lo mismo
sucede cuando se quieren transmitir paquetes entre varias computadoras a un servidor
central, en el cual la generación de la conexión de cada computadora con la central puede
sobrecargar demasiado la transferencia.
La simplicidad de los paquetes UDP reduce la cantidad de información necesaria para
poder ser utilizado, lo cual hace que el protocolo UDP sea la mejor opción en algunas
aplicaciones. Una computadora puede mandar paquetes UDP sin establecer una conexión
con el dispositivo que los va a recibir. La computadora completa los campos de información
en los encabezados en el paquete UDP y envía los datos junto con el encabezado a través
de la capa de red mediante el protocolo IP.
El protocolo UDP también se utiliza, por ejemplo, cuando se necesita transmitir voz o vídeo.

Implementación12
● Network Files System 13: Permite que distintos equipos conectados a una misma
red accedan a ficheros remotos. Se puede utilizar UDP para minimizar el tráfico de la
red con el servidor NFS.
● SCP 14: Comando para copiar ficheros entre ordenadores remotos.
● DNS: El protocolo DNS suele transportar las peticiones y respuestas por puerto
UDP, ya que por su estructura y tener menos niveles de seguridad es mucho más
rápido que otros.
● SNMP15: Protocolo simple de administración de red utiliza este protocolo para enviar
un grupo de mensajes entre los administradores y los agentes sin afectar el
rendimiento de la red.

12 http://www.tutorialspoint.com/data_communication_computer_network/user_datagram_protocol.htm
13 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/Reference_Guide/ch-
nfs.html
14 http://meli53.blogspot.com.ar/2015/07/comparativa-entre-el-udp-y-tcp.html
15 https://es.wikipedia.org/wiki/Simple_Network_Management_Protocol
Fuentes
Introducción
● http://deredes.net/protocolos-tcpip/
● https://www.tlm.unavarra.es/~daniel/docencia/rc_itig/rc_itig04_05/slides/clase14-
UDP.pdf

Aspectos técnicos
● https://es.wikipedia.org/wiki/User_Datagram_Protocol
● http://ingeniatic.euitt.upm.es/index.php/tecnologias/item/644-udp-user-datagram-
protocol

Principales características
● https://es.wikipedia.org/wiki/User_Datagram_Protocol
● http://datagramas.wikispaces.com/2.1+User+Datagram+Protocol+%28UDP%29

Puertos
● http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/udp.html

Cuándo utilizar UDP


● http://www.tutorialspoint.com/data_communication_computer_network/
user_datagram_protocol.htm
● http://digital.ni.com/public.nsf/allkb/8833FDF0900DCAE68625797B005ADCD7
● http://datagramas.wikispaces.com/2.1+User+Datagram+Protocol+%28UDP%29

Implementación
● https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/
Reference_Guide/ch-nfs.html
● http://meli53.blogspot.com.ar/2015/07/comparativa-entre-el-udp-y-tcp.html
● https://es.wikipedia.org/wiki/Simple_Network_Management_Protocol

También podría gustarte