UDP (User Datagram Protocol)

Redes y comunicaciones de datos. Protocolo de transporte. Segmentos. Push. Puertos de aplicación. Formato de una cabecera. Solicitud y respuesta de conexión. Transferencia de datos. Control de flujo. Rendimiento. Errores. Desbordamiento. Cabecera

  • Enviado por: Luis Conde Garcia
  • Idioma: castellano
  • País: España España
  • 5 páginas
publicidad

Protocolo de datagrama de usuario (UDP).

UDP es un protocolo de transporte de nivel 4 (OSI) no orientado a conexión. UDP es un protocolo de datagrama que no garantiza la entrega de los datos. Si una aplicación envía una petición en un datagrama de UDP y no llega una respuesta en un tiempo razonable, es responsabilidad de la aplicación el retransmitir la petición. UDP simplemente envía el datagrama y no se preocupa de si llega o no. Al no garantizar la entrega, hace que sea un protocolo mucho más rápido y ligero que TCP ofreciendo un transporte alternativo a aquellos procesos que no requieren una entrega fiable.

Muchas aplicaciones usan UDP para enviarse mensajes entre si o para realizar consultas rápidas a bases de datos o servidores DNS (Domain Name System). UDP es una pieza perfecta para construir funciones de monitor, depuración, gestión y prueba.

Aunque UDP es menos fiable que TCP en algunas ocasiones es más recomendable que TCP ya que ofrece algunas ventajas como en:

  • Los mensajes entre host son esporádicos. SNMP (Simple Network Management Protocol) vuelve a ser un buen ejemplo. Sus mensajes se envían a intervalos irregulares. La carga de trabajo necesaria para abrir y cerrar la conexión TCP de cada mensaje retrasaría su transmisión y penalizaría el rendimiento.

  • Mensajes que no requieren acuse de recibo. UDP contribuye a reducir el tráfico de la red. Los avisos de SNMP pertenecen a esta categoría. En una red extensa, se genera una gran cantidad de avisos SNMP cuando los dispositivos SNMP transmiten sus actualizaciones de estado. Sin embargo, la pérdida de un mensaje SNMP no suele ser crítica y la red se libera de una importante carga de trabajo al utilizar UDP para SNMP.

  • La fiabilidad se implementa al nivel del proceso. El sistema de archivos de red (NFS) es un buen ejemplo de proceso que implementa su propia función de fiabilidad y se ejecuta sobre UDP para mejorar el rendimiento de la red.

  • Lo pueden usar aplicaciones que necesitan enviar mensajes de difusión o multidifusión, por ejemplo un cliente de BOOTP.

El interfaz que esta entre UDP y el proceso local, se llama puerta. Para que una aplicación pueda acceder a la red y pueda enviar datos a través de ella lo debe hacer a través de un puerto.

  • Un usuario invoca un programa cliente, como por ejemplo nslookup

  • El proceso cliente ejecuta una rutina del sistema que dice: {Quiero una comunicación de UDP. Dame un puerto.}

  • La rutina del sistema le asigna un identificador de 16 bits llamado {numero de puerto} que este libre.

  • Los puertos se identifican mediante un número decimal que va desde el 0 hasta el 65.535. Los fabricantes que implementan UDP disponen de una gran libertad para asignar números de puertos a los procesos, aunque la Autoridad de Números Asignados de Internet (IANA) ha reservado un rango de puertos que va desde el 0 al 1.023 para servicios estándar, (Well-Known) como DNS, SNMP, o Netbios.

    Puerto

    Aplicación

    Descripción

    7

    Eco

    Eco del datagrama de usuario de vuelta al emisor.

    9

    Discard

    Descartar el datagrama de usuario.

    13

    DayTime

    Indica la hora de forma sencilla para el usuario.

    17

    Quote

    Devuelve una {cita del día}.

    19

    Chargen

    Intercambiar flujos de caracteres

    53

    DNS

    Servidor de nombres de dominio.

    67

    Bootps

    Puerto del servidor para descargar la información de configuración.

    68

    Bootpc

    Puerto del cliente para recibir recibir información de configuración.

    69

    TFTP

    Puerto del Protocolo trivial de transferencia de archivos.

    161

    SNMP

    Usado para recibir las peticiones de gestión de red.

    162

    SNMP-trap

    Usado para recibir los informes de problemas de red.

    Listado de algunos puertos UDP públicos.

    Algunos de estos servicios proporcionan bloques para probar, depurar y medir, como el servicio {eco} en el puerto 7 donde devuelve cualquier datagrama que se le envía. Otro puerto como el 9 (Discard) tira los datagramas que recibe. El puerto 19 es un generador de caracteres donde responde a cualquier mensaje con un datagrama que contiene entre 0 y 512 bytes. El número se elige aleatoriamente. El servicio cita del día que escucha por el puerto 17, responde a cualquier datagrama enviando de vuelta un mensaje con alguna frase histórica o de sabiduría popular al cerrar la sesión o ejecutar el comando fortune. El puerto 13 (DayTime) responde a cualquier datagrama con un mensaje que contiene la fecha y hora actual en formato ASCII legible. El servidor y el cliente de BOOTP se usan para inicializar dispositivos sin configuración (terminales tontos). Una estación de trabajo puede descubrir su dirección de IP, su Mascara de red, la situación de su encaminador por defecto, la dirección de servidores importantes y hasta el nombre y ubicación de un archivo de descarga de software desde el servidor de arranque. El software de la estación de trabajo se descarga mediante el protocolo trivial de transferencia de archivos (TFTP; UDP 69).

    Los puertos TCP y UDP son independientes unos de otros. Un proceso puede enviar mensajes por el puerto 1700 de UDP a la vez que otro está manteniendo una sesión en el puerto 1700 de TCP. Algunos servicios necesitan acceder tanto a TCP como a UDP por eso el IANA intenta asignar el mismo número de puerto a los servicios que necesitan UDP como TCP, como por ejemplo DNS, que escucha por el puerto 53 de TCP y UDP.

    A la combinación de una dirección de IP y de puerto para una comunicación se le llama {dirección de conector} o {socket}. Un socket ofrece toda la información que necesita un cliente o un servidor para identificar a su otro extremo.

    0 1 2 3


    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    0

    1

    Puerto de origen