martes, 30 de junio de 2015

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 
    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 
    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.


    No hay comentarios:

    Publicar un comentario