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.
No hay comentarios:
Publicar un comentario