En redes de computadoras, UDP significa Protocolo de datagramas de usuario. David P. Reed desarrolló el protocolo UDP en 1980. Está definido en RFC 768 y es parte del protocolo TCP/IP, por lo que es un protocolo estándar en Internet. El protocolo UDP permite que las aplicaciones informáticas envíen mensajes en forma de datagramas de una máquina a otra a través de la red de Protocolo de Internet (IP). El UDP es un protocolo de comunicación alternativo al protocolo TCP (protocolo de control de transmisión). Al igual que TCP, UDP proporciona un conjunto de reglas que rigen cómo se deben intercambiar los datos a través de Internet. El UDP funciona encapsulando los datos en el paquete y proporcionando su propia información de encabezado al paquete. Luego, este paquete UDP se encapsula en el paquete IP y se envía a su destino. Ambos TCP y UDP Los protocolos envían los datos a través de la red de protocolo de Internet, por lo que también se conoce como TCP/IP y UDP/IP. Hay muchas diferencias entre estos dos protocolos. UDP permite que el proceso procese la comunicación, mientras que TCP proporciona comunicación de host a host. Dado que UDP envía los mensajes en forma de datagramas, se considera el modo de comunicación de mejor esfuerzo. tcp envía los paquetes individuales, por lo que es un medio de transporte confiable. Otra diferencia es que TCP es un protocolo orientado a conexión, mientras que UDP es un protocolo sin conexión, ya que no requiere ningún circuito virtual para transferir los datos.
UDP también proporciona un número de puerto diferente para distinguir diferentes solicitudes de usuario y también proporciona la capacidad de suma de verificación para verificar si los datos completos han llegado o no; la capa IP no proporciona estos dos servicios.
Características del protocolo UDP
Las siguientes son las características del protocolo UDP:
UDP es el protocolo de comunicación de capa de transporte más simple. Contiene una cantidad mínima de mecanismos de comunicación. Se considera un protocolo poco confiable y se basa en servicios de prestación del mejor esfuerzo. UDP no proporciona ningún mecanismo de confirmación, lo que significa que el receptor no envía la confirmación del paquete recibido y el remitente tampoco espera la confirmación del paquete que ha enviado.
El UDP es un protocolo sin conexión ya que no crea una ruta virtual para transferir los datos. No utiliza la ruta virtual, por lo que los paquetes se envían por rutas diferentes entre el remitente y el receptor, lo que provoca la pérdida de paquetes o su recepción desordenada.
programa en java
No se garantiza la entrega ordenada de datos.
En el caso de UDP, los datagramas que se envían en algún orden se recibirán en el mismo orden, no se garantiza ya que los datagramas no están numerados.
El protocolo UDP utiliza diferentes números de puerto para que los datos puedan enviarse al destino correcto. Los números de puerto se definen entre 0 y 1023.
UDP permite una transmisión más rápida ya que es un protocolo sin conexión, es decir, no se requiere una ruta virtual para transferir los datos. Pero existe la posibilidad de que se pierda el paquete individual, lo que afecta a la calidad de la transmisión. Por otro lado, si el paquete se pierde en la conexión TCP, ese paquete será reenviado, por lo que garantiza la entrega de los paquetes de datos.
El UDP tiene algún mecanismo de reconocimiento, es decir, no existe un protocolo de enlace entre el remitente y el receptor de UDP. Si el mensaje se envía en TCP, el receptor reconoce que estoy listo y luego el remitente envía los datos. En el caso de TCP, el protocolo de enlace se produce entre el remitente y el receptor, mientras que en UDP, no hay protocolo de enlace entre el remitente y el receptor.
Cada segmento UDP se maneja individualmente de los demás, ya que cada segmento toma un camino diferente para llegar al destino. Los segmentos UDP pueden perderse o entregarse fuera de orden para llegar al destino, ya que no hay una configuración de conexión entre el remitente y el receptor.
cómo obtener una fecha actual en java
Es un protocolo sin estado, lo que significa que el remitente no recibe el acuse de recibo del paquete que se ha enviado.
¿Por qué requerimos el protocolo UDP?
Como sabemos, UDP es un protocolo no confiable, pero aún necesitamos un protocolo UDP en algunos casos. El UDP se implementa donde los paquetes requieren una gran cantidad de ancho de banda junto con los datos reales. Por ejemplo, en la transmisión de vídeo, reconocer miles de paquetes es problemático y desperdicia mucho ancho de banda. En el caso de la transmisión de vídeo, la pérdida de algunos paquetes no puede crear un problema y también puede ignorarse.
Formato de encabezado UDP
En UDP, el tamaño del encabezado es de 8 bytes y el tamaño del paquete es de hasta 65.535 bytes. Pero este tamaño de paquete no es posible ya que los datos deben encapsularse en el datagrama IP y, en un paquete IP, el tamaño del encabezado puede ser de 20 bytes; por lo tanto, el máximo de UDP sería 65.535 menos 20. El tamaño de los datos que puede transportar el paquete UDP sería 65.535 menos 28, como 8 bytes para el encabezado del paquete UDP y 20 bytes para el encabezado IP.
El encabezado UDP contiene cuatro campos:
Concepto de cola en el protocolo UDP
En el protocolo UDP, los números se utilizan para distinguir los diferentes procesos en un servidor y un cliente. Sabemos que UDP proporciona un proceso para procesar la comunicación. El cliente genera los procesos que necesitan servicios mientras que el servidor genera los procesos que brindan servicios. Las colas están disponibles para ambos procesos, es decir, dos colas para cada proceso. La primera cola es la cola entrante que recibe los mensajes y la segunda es la cola saliente que envía los mensajes. La cola funciona cuando el proceso se está ejecutando. Si el proceso finaliza, la cola también se destruirá.
UDP maneja el envío y la recepción de paquetes UDP con la ayuda de los siguientes componentes:
Varios procesos quieren utilizar los servicios de UDP. El UDP multiplexa y demultiplexa los procesos para que múltiples procesos puedan ejecutarse en un solo host.
Python ordenando tuplas
Limitaciones
- Proporciona un servicio de entrega de conexión poco confiable. No proporciona ningún servicio de IP excepto que proporciona comunicación de proceso a proceso.
- El mensaje UDP puede perderse, retrasarse, duplicarse o no funcionar.
- No proporciona un servicio de entrega de transporte confiable. No proporciona ningún mecanismo de reconocimiento o control de flujo. Sin embargo, proporciona control de errores hasta cierto punto.
Ventajas
- Produce un número mínimo de gastos generales.