logo

Protocolo UDP

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:

    Protocolo de capa de transporte

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.

    Sin conexión

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.

    Puertos

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.

    Transmisión más rápida

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.

    Mecanismo de reconocimiento

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.

    Los segmentos se manejan de forma independiente.

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
    Apátrida

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

Protocolo 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:

    Número de puerto de origen:Es información de 16 bits que identifica qué puerto va a enviar el paquete.Número de puerto de destino:Identifica qué puerto va a aceptar la información. Es información de 16 bits que se utiliza para identificar el servicio a nivel de aplicación en la máquina de destino.Longitud:Es un campo de 16 bits que especifica la longitud total del paquete UDP que también incluye el encabezado. El valor mínimo sería de 8 bytes ya que el tamaño del encabezado es de 8 bytes.Suma de comprobación:Es un campo de 16 bits y es un campo opcional. Este campo de suma de verificación verifica si la información es precisa o no, ya que existe la posibilidad de que la información se corrompa durante la transmisión. Es un campo opcional, lo que significa que depende de la aplicación si quiere escribir la suma de comprobación o no. Si no quiere escribir la suma de comprobación, entonces los 16 bits son cero; de lo contrario, escribe la suma de comprobación. En UDP, el campo de suma de verificación se aplica a todo el paquete, es decir, al encabezado y a la parte de datos, mientras que en IP, el campo de suma de verificación se aplica solo al campo de encabezado.

Concepto de cola en el protocolo UDP

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:

    Cola de entrada:Los paquetes UDP utilizan un conjunto de colas para cada proceso.Módulo de entrada:Este módulo toma el datagrama de usuario de la IP y luego busca la información de la tabla de bloques de control del mismo puerto. Si encuentra la entrada en la tabla de bloques de control con el mismo puerto que el datagrama del usuario, pone los datos en cola.Módulo de bloque de control:Gestiona la tabla de bloques de control.Tabla de bloques de control:La tabla de bloques de control contiene la entrada de puertos abiertos.Módulo de salida:El módulo de salida crea y envía el datagrama de usuario.

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.