Protocolos del nivel
de transporte
UDP
Msc. Ing. Rigoberto Pestana Portales
Sumario
• Protocolos de transporte.
• Protocolo UDP.
• Formato UDP.
• Puertos de UDP.
Protocolos
de
Transporte
Introducción
• En el protocolo IP una dirección destino identifica
un host, sin hacer distinción del usuario o
programa de aplicación en particular.
• Los protocolos de nivel de transporte agregan un
mecanismo que distingue entre muchos destinos
(procesos) posibles dentro de un mismo host.
• Permiten que varios programas de aplicación en
una misma computadora envíen y reciban
datagramas de forma independiente.
Identificación del destino
final
• Los sistemas operativos de la mayor parte de
las computadoras son multitarea.
• Especificar un proceso dentro de una
computadora, como destino final, puede
resultar confuso.
• Los procesos se crean y destruyen de forma
dinámica, por lo que los transmisores no
pueden identificarlos.
Identificación del destino final
• Se definen puertos de protocolos como los
puntos abstractos de destino.
• Cada puerto de protocolo se identifica por un
número entero y positivo.
• El sistema operativo local brinda una interfaz
entre los procesos y los puertos.
Identificación del destino final
• Los puertos tienen memoria intermedia para
los datos que llegan antes de que el proceso
pueda recibirlos.
• Para comunicarse con un proceso externo un
transmisor debe saber tanto la dirección IP de
la máquina como el puerto destino de la
misma.
Identificación del destino final
• Para lograr la colocación en memoria
intermedia, el software de protocolo, coloca
los paquetes que llegan en una cola de
espera (finita) hasta que un proceso los
extraiga.
• Cada mensaje debe llevar puerto destino y
puerto origen de la máquina fuente para
permitir direccionar las respuestas.
User
Datagram
Protocol
UDP
• UDP proporciona puertos de protocolo para
distinguir entre muchos programas de una misma
máquina.
• Cada mensaje UDP contiene puerto de destino y
puerto origen.
• UDP puede entregar el mensaje al proceso receptor
correcto y éste puede enviar respuesta.
• Emplea los sevicios de IP pero agrega la capacidad
de distinguir entre varios destinos dentro de la
misma máquina.
UDP
• UDP brinda un servicio de entrega
- sin conexión
- no confiable
• No emplea acuses de recibo, no ordena los
mensajes entrantes, ni proporciona
retroalimentación para controlar la velocidad a la
que fluye la información.
• El programa de aplicación que utiliza a UDP
acepta la responsabilidad de la confiabilidad,
pérdida, duplicación o retraso de los mensajes.
Formato
Datagrama UDP
Aplicación
Cabecera
UDP UDP Datos UDP
IP Cabecera Datos IP
IP
Interfaz cabecera Datos de la Trama
trama
de red
Formato de mensajes UDP
• Los mensajes son denominados datagramas
de usuarios.
• Compuestos por cabecera y área de datos
UDP.
0 16 31
Puerto UDP de origen Puerto UDP de destino
Cabecera
Longitud mensaje UDP Suma verificación UDP
Datos
Datos
••••
Formato de mensajes UDP
0 16 31
Puerto UDP de origen Puerto UDP de destino
Longitud mensaje UDP Suma verificación UDP
Datos
••••
• Puerto destino y origen: números de puerto
utilizados para el demultiplexado de datagramas
entre procesos.
• Longitud: posee un conteo de octetos del
datagrama UDP contando el encabezado y datos
de usuario. Minímo 8 octectos (encabezado).
Formato de mensajes UDP
0 16 31
Puerto UDP de origen Puerto UDP de destino
Longitud mensaje UDP Suma verificación UDP
Datos
••••
• Suma de Verificación: opcional y trata de garantizar
que los datos lleguen intactos.
No se emplea en aplicaciones donde los errores de un
bit no son trascendentales. Ej. audio.
Pseudo-encabezado UDP
• La suma de verificación abarca más información
que la contenida en el datagrama UDP. Para su
cómputo se añade un pseudo-encabezado .
• El pseudo-encabezado no se transmite.
0 8 16 31
Dirección IP de origen
Dirección IP de destino
ceros Protocolo Longitud UDP
Longitud UDP: Longitud datagrama UDP sin pseudo-encabezado
Protocolo: Contiene el código del tipo de protocolo, 17 para UDP
Pseudo-encabezado UDP
• El objetivo del pseudo-encabezado es comprobar
que el datagrama UDP llegó a destino correcto.
• Para su construcción, el protocolo UDP de la
máquina fuente debe recibir de su capa IP la
dirección IP fuente.
Pseudo-encabezado UDP
• Para la comprobación de la suma de verificación
el protocolo UDP del destino debe recibir de la
capa IP los datos contenidos en encabezado del
datagrama IP.
• Incluyendo las direcciones IP destino se
garantiza, una vez comprobada la suma de
verificación, que el datagrama llegó a la
computadora que estaba dirigido.
Puertos
UDP
Puertos UDP
• El puerto UDP puede pensarse como una cola.
• Cuando una aplicación negocia con el sistema operativo
el uso de un puerto, el SO crea una un buffer en la
memoria intermedia y una cola de espera interna que
almacena los mensajes que llegan.
Puerto 1 Puerto 2 Puerto 3
UDP: Demultiplexado basado
en el puerto
Llega el datagrama UDP
Capa IP
Puertos UDP
• Cuando UDP recibe un datagrama verifica si el
número de puerto de destino corresponde a uno de
los puertos que están en uso.
• Si no existe ese número de puerto envía mensaje
de error ICMP de puerto inaccesible y descarta el
datagrama.
• Si encuentra el número, UDP pone en cola de
espera en el puerto el nuevo datagrama, hasta que
la aplicación lo pueda accesar.
Números de puertos
reservados y disponibles
¿Cómo asignar los números de puertos? Se
aplican dos formas.
Una autoridad central asigna números de puertos
y los publica ==> Asignaciones de puertos bien
conocidos.
Asignación dinámica ==> cuando una aplicación
necesita un puerto el SO le asigna uno libre.
Resumen UDP
• Protocolo que brinda servicios de transporte.
• Permite la comunicación simultánea de varias
aplicaciones dentro de una misma máquina.
• Emplea los puertos para multiplexar y
demultiplexar los mensajes.
• Es un protocolo sin conexión, no confiable y
deja a los programa de aplicación la solución
de estos problemas.
Resumen UDP
• Muchas aplicaciones cliente – servidor, que
realizan una solicitud y una respuesta, usan
UDP por su simplicidad y agilidad.
• Aunque independiente de la capa IP, requiere
interactuar estrechamente con ella tanto para la
elaboración del datagrama UDP como para la
verificación de uno entrante.