¿Que es el protocolo UDP?
UDP es un protocolo no orientado a conexión. Es decir
cuando una maquina A envía paquetes a una maquina B, el flujo es
unidireccional. La transferencia de datos es realizada sin haber realizado
previamente una conexión con la maquina de destino (maquina B), y el
destinatario recibirá los datos sin enviar una confirmación al emisor (la
maquina A). Esto es debido a que la encapsulación de datos enviada por el
protocolo UDP no permite transmitir la información relacionada al emisor. Por
ello el destinatario no conocerá al emisor de los datos excepto su IP.
El grupo de protocolos de Internet también maneja un protocolo de transporte sin conexiones, el UDP (User Data Protocol, protocolo de datos de usuario). El UDP ofrece a las aplicaciones un mecanismo para enviar datagramas IP en bruto encapsulados sin tener que establecer una conexión.
Muchas aplicaciones cliente-servidor que tienen una solicitud y una respuesta usan el UDP en lugar de tomarse la molestia de establecer y luego liberar una conexión. El UDP se describe en el RFC 768. Un segmento UDP consiste en una cabecera de 8 bytes seguida de los datos. La cabecera se muestra a continuación. Los dos puertos sirven para lo mismo que en el TCP: para identificar los puntos terminales de las máquinas origen y destino. El campo de longitud UDP incluye la cabecera de 8 bytes y los datos. La suma de comprobación UDP incluye la misma pseudocabecera de formato, la cabecera UDP, y los datos, rellenados con una cantidad par de bytes de ser necesario.
Esta suma es opcional, y se almacena como 0 si no se calcula. Inutilizarla seria absurdo, a menos que la cantidad de los datos no importe, por ejemplo, voz digitalizada.
UDP no admite
numeración de los datagramas, factor que, sumado a que tampoco utiliza señales
de confirmación de entrega, hace que la garantía de que un paquete llegue a su
destino sea mucho menor que si se usa TCP. Esto también origina que los
datagramas pueden llegar duplicados y/o desordenados a su destino. Por estos
motivos el control de envío de datagramas, si existe, debe ser implementado por
las aplicaciones que usan UDP como medio de transporte de datos, al igual que
el reeensamble de los mensajes entrantes.
Es por ello un
protocolo del tipo best-effort (máximo esfuerzo), porque hace lo que puede para
transmitir los datagramas hacia la aplicación, pero no puede garantizar que la
aplicación los reciba.
Tampoco utiliza
mecanismos de detección de errores. Cuando se detecta un error en un datagrama,
en lugar de entregarlo a la aplicación destino, se descarta.
Cuando una aplicación
envía datos a través de UDP, éstos llegan al otro extremo como una unidad. Por
ejemplo, si una aplicación escribe 5 veces en el puerto UDP, la aplicación al
otro extremo hará 5 lecturas del puerto UDP. Además, el tamaño de cada escritura
será igual que el tamaño de las lecturas.
No hay comentarios:
Publicar un comentario