Qué Es La Capa de Transporte: Seguimiento de Conversación Individuales
Qué Es La Capa de Transporte: Seguimiento de Conversación Individuales
Qué Es La Capa de Transporte: Seguimiento de Conversación Individuales
La Capa de Transporte
La capa de transporte no tiene conocimiento del tipo de host de destino, el tipo de medio por el
que deben viajar los datos, la ruta tomada por los datos, la congestión en un enlace o el tamaño
de la red.
Como se ilustra en la imagen, un host puede tener múltiples aplicaciones que se comunican a
través de la red simultáneamente.
La mayoría de las redes tienen una limitación en la cantidad de datos que se pueden incluir en
un solo paquete. Por lo tanto, los datos deben dividirse en partes manejables.
La capa de transporte divide los datos en bloques más pequeños (es decir, segmentos o
datagramas) que son más fáciles de administrar y transportar.
Por ejemplo, el host receptor utiliza la información del encabezado para volver a ensamblar los
bloques de datos en un flujo de datos completo para el programa de la capa de aplicación
receptora.
El envío de algunos tipos de datos (por ejemplo, una transmisión de video) a través de una red,
como una transmisión de comunicación completa, puede consumir todo el ancho de banda
disponible. Esto evitaría que se produzcan otras conversaciones de comunicación al mismo
tiempo. También dificultaría la recuperación de errores y la retransmisión de datos dañados.
La verificación de errores se puede realizar en los datos del segmento, para determinar si el
segmento se modificó durante la transmisión.
Identificar Aplicaciones
Multiplexacion de conversación
La capa de transporte debe ser capaz de separar y gestionar múltiples comunicaciones con
diferentes necesidades de requisitos de transporte. Para pasar flujos de datos a las aplicaciones
adecuadas, la capa de transporte identifica la aplicación de destino utilizando un identificador
llamado número de puerto. Como se ilustra en la imagen, a cada proceso de software que
necesita acceder a la red se le asigna un número de puerto único para ese host.
Multiplexación de conversación
3. Protocolos de Capa de Transporte
IP solo se refiere a la estructura, direccionamiento y enrutamiento de paquetes. IP no especifica
cómo se realiza la entrega o el transporte de los paquetes.
Los protocolos de la capa de transporte especifican cómo transferir mensajes entre hosts y son
responsables de administrar los requisitos de confiabilidad de una conversación. La capa de
transporte incluye los protocolos TCP y UDP.
Las diferentes aplicaciones tienen diferentes requisitos de fiabilidad de transporte. Por lo tanto,
TCP/IP proporciona dos protocolos de capa de transporte, como se muestra en la imagen.
TCP se considera un protocolo de capa de transporte confiable y con todas las funciones, que
garantiza que todos los datos lleguen al destino. TCP incluye campos que aseguran la entrega de
los datos de la aplicación. Estos campos requieren un procesamiento adicional por parte de los
hosts de envío y recepción.
Para mantener el estado de una conversación y rastrear la información, TCP primero debe
establecer una conexión entre el remitente y el receptor. Es por eso que TCP se conoce como
un protocolo orientado a la conexión.
Nota: UDP divide los datos en datagramas que también se denominan segmentos.
UDP es un protocolo sin conexión. Debido a que UDP no proporciona confiabilidad o control
de flujo, no requiere una conexión establecida. Debido a que UDP no rastrea la información
enviada o recibida entre el cliente y el servidor, UDP también se conoce como un protocolo sin
estado.
UDP es como colocar una carta regular, no registrada, en el correo. El remitente de la carta no
tiene conocimiento de la disponibilidad del receptor para recibir la carta. La oficina de correos
tampoco es responsable de rastrear la carta o informar al remitente si la carta no llega al destino
final.
Protocolo de datagramas de usuario UDP
Algunas aplicaciones pueden tolerar cierta pérdida de datos durante la transmisión a través de la
red, pero los retrasos en la transmisión son inaceptables. Para estas aplicaciones, UDP es la
mejor opción porque requiere menos sobrecarga de red. UDP es preferible para aplicaciones
como Voz sobre IP (VoIP). Los reconocimientos y la retransmisión retrasarían la entrega y
harían inaceptable la conversación de voz.
UDP también es utilizado por las aplicaciones de solicitud y respuesta donde los datos son
mínimos y la retransmisión se puede hacer rápidamente. Por ejemplo, el servicio de nombres de
dominio (DNS) usa UDP para este tipo de transacción. El cliente solicita direcciones IPv4 e
IPv6 para un nombre de dominio conocido de un servidor DNS. Si el cliente no recibe una
respuesta en un período de tiempo predeterminado, simplemente envía la solicitud nuevamente.
Por ejemplo, si uno o dos segmentos de una transmisión de video en vivo no llegan, se crea una
interrupción momentánea en la transmisión. Esto puede aparecer como una distorsión en la
imagen o el sonido, pero puede que el usuario no lo note. Si el dispositivo de destino tuviera que
dar cuenta de la pérdida de datos, la transmisión podría retrasarse mientras se esperaban las
retransmisiones, por lo que la imagen o el sonido se degradarían mucho. En este caso, es mejor
renderizar los mejores medios posibles con los segmentos recibidos y renunciar a la fiabilidad.
Para otras aplicaciones, es importante que lleguen todos los datos y que puedan procesarse en su
secuencia adecuada. Para este tipo de aplicaciones, TCP se utiliza como protocolo de
transporte. Por ejemplo, las aplicaciones como bases de datos, navegadores web y clientes de
correo electrónico requieren que todos los datos enviados lleguen al destino en su estado
original. Cualquier dato faltante podría corromper una comunicación, haciéndola incompleta o
ilegible. Por ejemplo, es importante cuando se accede a la información bancaria a través de la
web para asegurarse de que toda la información se envíe y reciba correctamente.
El video y la voz en tiempo real generalmente usan UDP, pero también pueden usar TCP, o
tanto UDP como TCP. Una aplicación de videoconferencia puede usar UDP de manera
predeterminada, pero debido a que muchos firewalls bloquean UDP, la aplicación también se
puede enviar a través de TCP.
Las aplicaciones que transmiten audio y video almacenado usan TCP. Por ejemplo, si tu red de
repente no puede soportar el ancho de banda necesario para ver una película a pedido, la
aplicación detiene la reproducción. Durante la pausa, es posible que vea un mensaje de
“almacenamiento en búfer …” mientras TCP trabaja para restablecer la transmisión. Cuando
todos los segmentos están en orden y se restaura un nivel mínimo de ancho de banda, se reanuda
la sesión TCP y se reanuda la reproducción de la película.
Para comprender las diferencias entre TCP y UDP, es importante comprender cómo cada
protocolo implementa funciones de confiabilidad específicas y cómo cada protocolo rastrea las
conversaciones.
Para obtener más información sobre TCP, busque en Internet el RFC 793.
2. Encabezado TCP
TCP es un protocolo con estado, lo que significa que realiza un seguimiento del estado de la
sesión de comunicación. Para rastrear el estado de una sesión, TCP registra qué información ha
enviado y qué información ha sido reconocida. La sesión con estado comienza con el
establecimiento de la sesión y termina con la finalización de la sesión.
Un segmento TCP agrega 20 bytes (es decir, 160 bits) de sobrecarga al encapsular los datos de
la capa de aplicación. La imagen muestra los campos en un encabezado TCP.
Encabezado TCP
Campo de Descripción
encabezado
TCP
Número de Un campo de 32 bits utilizado para indicar que se han recibido datos y que se
acuse de espera el siguiente byte de la fuente.
recibo
Longitud del Un campo de 4 bits conocido como “desplazamiento de datos” que indica la
encabezado longitud del encabezado del segmento TCP.
Bits de Un campo de 6 bits utilizado que incluye códigos de bits o banderas, que
control indican el propósito y la función del segmento TCP.
Tamaño de Un campo de 16 bits utilizado para indicar el número de bytes que se pueden
ventana aceptar a la vez.
Urgente Un campo de 16 bits utilizado para indicar si los datos contenidos son
urgentes.
TCP es un buen ejemplo de cómo las diferentes capas del conjunto de protocolos TCP/IP tienen
roles específicos. TCP maneja todas las tareas asociadas con la división del flujo de datos en
segmentos, proporcionando confiabilidad, controlando el flujo de datos y reordenando
segmentos. TCP libera a la aplicación de tener que administrar cualquiera de estas tareas. Las
aplicaciones, como las que se muestran en la figura, simplemente pueden enviar el flujo de
datos a la capa de transporte y utilizar los servicios de TCP.
1. Características de UDP
Este tema cubrirá el UDP, lo que hace, y cuándo es una buena idea usarlo en lugar del TCP.
UDP es un protocolo de transporte de mejor esfuerzo. UDP es un protocolo de transporte ligero
que ofrece la misma segmentación y reensamblado de datos que TCP, pero sin la fiabilidad y el
control de flujo de TCP.
UDP es un protocolo tan simple que generalmente se describe en términos de lo que no hace en
comparación con TCP.
Para obtener más información sobre UDP, busque en Internet el RFC 768.
2. Encabezado UDP
UDP es un protocolo sin estado, lo que significa que ni el cliente ni el servidor rastrean el estado
de la sesión de comunicación. Si se requiere confiabilidad cuando se usa UDP como protocolo
de transporte, la aplicación debe manejarlo.
Uno de los requisitos más importantes para entregar video y voz en vivo a través de la red es
que los datos continúen fluyendo rápidamente. Las aplicaciones de video y voz en vivo pueden
tolerar cierta pérdida de datos con un efecto mínimo o nulo, y se adaptan perfectamente a UDP.
El encabezado UDP es mucho más simple que el encabezado TCP porque solo tiene cuatro
campos y requiere 8 bytes (es decir, 64 bits). La figura muestra los campos en un encabezado
UDP.
Hay tres tipos de aplicaciones que son más adecuadas para UDP:
Como has aprendido, hay algunas situaciones en las que TCP es el protocolo adecuado para el
trabajo, y otras situaciones en las que se debe utilizar UDP. No importa qué tipo de datos se
transporten, tanto TCP como UDP usan números de puerto.
Los protocolos de capa de transporte TCP y UDP utilizan números de puerto para administrar
múltiples conversaciones simultáneas. Como se muestra en la figura, los campos de encabezado
TCP y UDP identifican un número de puerto de aplicación de origen y destino.
El número de puerto de origen está asociado con la aplicación de origen en el host local,
mientras que el número de puerto de destino está asociado con la aplicación de destino en el
host remoto.
Por ejemplo, supón que un host está iniciando una solicitud de página web desde un servidor
web. Cuando el host inicia la solicitud de la página web, el host genera dinámicamente el
número de puerto de origen para identificar de forma exclusiva la conversación. Cada solicitud
generada por un host utilizará un número de puerto de origen creado dinámicamente diferente.
Este proceso permite que se produzcan múltiples conversaciones simultáneamente.
Un servidor puede ofrecer más de un servicio simultáneamente, como servicios web en el puerto
80, mientras que ofrece el establecimiento de conexión de Protocolo de transferencia de
archivos (FTP) en el puerto 21.
2. Pares de Socket
Los puertos de origen y destino se colocan dentro del segmento. Los segmentos se encapsulan
dentro de un paquete IP. El paquete IP contiene la dirección IP de origen y destino. La
combinación de la dirección IP de origen y el número de puerto de origen, o la dirección IP de
destino y el número de puerto de destino se conoce como socket.
El socket se utiliza para identificar el servidor y el servicio que solicita el cliente. Un socket de
cliente podría verse así, con 1099 representando el número de puerto de
origen: 192.168.1.5:1099
Los sockets permiten que múltiples procesos, que se ejecutan en un cliente, se distingan entre sí,
y que múltiples conexiones a un proceso de servidor se distingan entre sí.
El número de puerto de origen actúa como una dirección de retorno para la aplicación
solicitante. La capa de transporte realiza un seguimiento de este puerto y la aplicación que inició
la solicitud para que cuando se devuelva una respuesta, se pueda reenviar a la aplicación
correcta.
Nota: Algunos sistemas operativos de clientes pueden usar números de puerto registrados en
lugar de números de puerto dinámicos para asignar puertos de origen.
La tabla muestra algunos números de puerto conocidos y sus aplicaciones asociadas.
23 TCP Telnet
Algunas aplicaciones pueden usar tanto TCP como UDP. Por ejemplo, DNS usa UDP
cuando los clientes envían solicitudes a un servidor DNS. Sin embargo, la comunicación entre
dos servidores DNS siempre usa TCP.
4. El Comando netstat
Las conexiones TCP inexplicadas pueden representar una gran amenaza de seguridad. Pueden
indicar que algo o alguien está conectado al host local. A veces es necesario saber qué
conexiones TCP activas están abiertas y ejecutándose en un host en red. Netstat es una
importante utilidad de red que se puede usar para verificar esas conexiones. Como se muestra a
continuación, ingresa el comando netstat para enumerar los protocolos en uso, la dirección local
y los números de puerto, la dirección extranjera y los números de puerto y el estado de la
conexión.
C:\> netstat
Active Connections
Cada proceso de aplicación que se ejecuta en un servidor está configurado para usar un número
de puerto. El número de puerto se asigna automáticamente o se configura manualmente por un
administrador del sistema.
Un servidor individual no puede tener dos servicios asignados al mismo número de puerto
dentro de los mismos servicios de capa de transporte. Por ejemplo, un host que ejecuta una
aplicación de servidor web y una aplicación de transferencia de archivos no puede tener ambos
configurados para usar el mismo puerto, como el puerto TCP 80.
Una aplicación de servidor activa asignada a un puerto específico se considera abierta, lo que
significa que la capa de transporte acepta y procesa segmentos dirigidos a ese puerto. Se acepta
cualquier solicitud de cliente entrante dirigida al socket correcto, y los datos se pasan a la
aplicación del servidor. Puede haber muchos puertos abiertos simultáneamente en un servidor,
uno para cada aplicación de servidor activa.
El cliente 1 solicita servicios web y el cliente 2 solicita servicio de correo electrónico utilizando
puertos conocidos (es decir, servicios web es puerto 80, servicios de correo electrónico es
puerto 25).
Solicitar puerta de destino
Las solicitudes generan dinámicamente un número de puerto de origen. En este
caso, el Cliente 1 está utilizando el puerto de origen 49152 y el Cliente 2 está
utilizando el puerto de origen 51152.
Solicitar puertos de origen
Cuando el servidor responde a las solicitudes del cliente, invierte el destino y los
puertos de origen de la solicitud inicial.
El cliente que inicia solicita una sesión de comunicación de cliente a servidor con el
servidor.
Paso1 . syn
El protocolo de enlace de tres vías valida que el host de destino esté disponible
para comunicarse. En este ejemplo, el host A ha validado que el host B está
disponible.
3. Terminación de Sesión
Para cerrar una conexión, el indicador de control Finish (FIN) debe establecerse en el
encabezado del segmento. Para finalizar cada sesión TCP unidireccional, se utiliza un protocolo
de enlace bidireccional, que consta de un segmento FIN y un segmento de acuse de recibo
(ACK). Por lo tanto, para finalizar una sola conversación compatible con TCP, se necesitan
cuatro intercambios para finalizar ambas sesiones. Tanto el cliente como el servidor pueden
iniciar la terminación.
En el ejemplo, los términos cliente y servidor se utilizan como referencia por simplicidad, pero
dos hosts que tengan una sesión abierta pueden iniciar el proceso de finalización.
Paso 1. fin
Cuando el cliente no tiene más datos para enviar en la secuencia, envía un segmento con el
indicador FIN establecido.
Paso 2.ack
El servidor envía un ACK para acusar recibo del FIN para finalizar la sesión del
cliente al servidor.
Paso 3 . fin
Paso 4 ack
El cliente responde con un ACK para reconocer el FIN del servidor.
Los hosts mantienen el estado, rastrean cada segmento de datos dentro de una sesión e
intercambian información sobre qué datos se reciben utilizando la información en el encabezado
TCP. TCP es un protocolo full-duplex, donde cada conexión representa dos sesiones de
comunicación unidireccionales. Para establecer la conexión, los hosts realizan un protocolo de
enlace de tres vías. Como se muestra en la imagen, los bits de control en el encabezado TCP
indican el progreso y el estado de la conexión.
Una vez completada la comunicación, las sesiones se cierran y la conexión finaliza. Los
mecanismos de conexión y sesión permiten la función de confiabilidad TCP.
Se muestra los campos de encabezado del segmento TCP con el campo de bits de control de 6
bits resaltado
Los seis bits en el campo Bits de control del encabezado del segmento TCP también se conocen
como banderas. Una bandera es un bit que está activado o desactivado.
Puede haber ocasiones en que los segmentos TCP no lleguen a su destino. Otras veces, los
segmentos TCP pueden llegar fuera de servicio. Para que el destinatario entienda el mensaje
original, se deben recibir todos los datos y los datos de estos segmentos deben volver a
ensamblarse en el pedido original. Los números de secuencia se asignan en el encabezado de
cada paquete para lograr este objetivo. El número de secuencia representa el primer byte de
datos del segmento TCP.
El ISN no comienza en uno, pero es efectivamente un número aleatorio. Esto es para prevenir
ciertos tipos de ataques maliciosos. Para simplificar, utilizaremos un ISN de 1 para los ejemplos
de este capítulo.
Los números de secuencia de segmento indican cómo volver a armar y reordenar los segmentos
recibidos, como se muestra en la imagen.
Segmentos TCP se reordenan en destino: Aunque los segmentos pueden tomar diferentes rutas y
llegar fuera de servicio al destino, TCP tiene la capacidad de reordenar los segmentos
El proceso TCP receptor coloca los datos de un segmento en un búfer receptor. Los segmentos
se colocan en el orden de secuencia adecuado y se pasan a la capa de aplicación cuando se
vuelven a montar. Los segmentos que llegan con números de secuencia que están fuera de
servicio se retienen para su posterior procesamiento. Luego, cuando llegan los segmentos con
los bytes faltantes, estos segmentos se procesan en orden.
Una de las funciones de TCP es garantizar que cada segmento llegue a su destino. Los servicios
TCP en el host de destino reconocen los datos que ha recibido la aplicación de origen.
Haz clic en Reproducir en la figura para ver una lección acerca de los números de secuencia y
los acuses de recibo del TCP.
3. Fiabilidad de TCP: Pérdida y Retransmisión de Datos
No importa cuán bien diseñada esté una red, ocasionalmente se produce pérdida de datos. TCP
proporciona métodos para gestionar estas pérdidas de segmento. Entre estos se encuentra un
mecanismo para retransmitir segmentos para datos no reconocidos.
Antes de las mejoras posteriores, TCP solo podía reconocer el siguiente byte esperado. Por
ejemplo, en la imagen, usando los números de segmento para simplificar, el host A envía los
segmentos 1 a 10 al host B. Si todos los segmentos llegan excepto los segmentos 3 y 4, el host B
responderá con acuse de recibo especificando que el siguiente segmento esperado es el
segmento 3. El host A no tiene idea de si llegaron otros segmentos o no. El host A, por lo tanto,
reenviaría los segmentos 3 a 10. Si todos los segmentos reenviados llegaran con éxito, los
segmentos 5 a 10 serían duplicados. Esto puede provocar demoras, congestión e ineficiencias.
Segmentos duplicados
Los sistemas operativos host de hoy en día suelen emplear una función TCP opcional llamada
reconocimiento selectivo (SACK), negociada durante el protocolo de enlace de tres vías. Si
ambos hosts admiten SACK, el receptor puede reconocer explícitamente qué segmentos (bytes)
se recibieron, incluidos los segmentos discontinuos. Por lo tanto, el host emisor solo necesitaría
retransmitir los datos faltantes. Por ejemplo, en la siguiente imagen, nuevamente usando
números de segmento para simplificar, el host A envía los segmentos 1 a 10 al host B. Si todos
los segmentos llegan excepto los segmentos 3 y 4, el host B puede confirmar que ha recibido los
segmentos 1 y 2 (ACK 3) y reconoce selectivamente los segmentos 5 a 10 (SACK 5-10). El host
A solo necesitaría reenviar los segmentos 3 y 4.
TCP también proporciona mecanismos para el control de flujo. El control de flujo es la cantidad
de datos que el destino puede recibir y procesar de manera confiable. El control de flujo ayuda a
mantener la confiabilidad de la transmisión TCP al ajustar la velocidad del flujo de datos entre
el origen y el destino para una sesión determinada. Para lograr esto, el encabezado TCP incluye
un campo de 16 bits llamado tamaño de ventana.
El tamaño de la ventana es el número de bytes que el dispositivo de destino de una sesión TCP
puede aceptar y procesar al mismo tiempo. En este ejemplo, el tamaño de la ventana inicial de la
PC B para la sesión TCP es de 10,000 bytes. Comenzando con el primer byte, byte número 1, el
último byte que la PC A puede enviar sin recibir un acuse de recibo es el byte 10,000. Esto se
conoce como la ventana de envío de la PC A. El tamaño de la ventana se incluye en cada
segmento TCP para que el destino pueda modificar el tamaño de la ventana en cualquier
momento dependiendo de la disponibilidad del búfer.
Por ejemplo, es típico que la PC B no espere hasta que se hayan recibido los 10,000 bytes antes
de enviar un acuse de recibo. Esto significa que la PC A puede ajustar su ventana de envío a
medida que recibe confirmaciones de la PC B. Como se muestra en la imagen, cuando la PC A
recibe una confirmación con el número de confirmación 2,921, que es el siguiente byte
esperado. La ventana de envío de la PC A incrementará 2.920 bytes. Esto cambia la ventana de
envío de 10,000 bytes a 12,920. La PC A ahora puede continuar enviando hasta otros 10,000
bytes a la PC B siempre que no envíe más de su nueva ventana de envío a 12,920.
Un destino que envía confirmaciones a medida que procesa los bytes recibidos, y el ajuste
continuo de la ventana de envío de origen, se conoce como ventanas deslizantes. En el ejemplo
anterior, la ventana de envío de la PC A aumenta o se desliza sobre otros 2,921 bytes de 10,000
a 12,920.
Nota: Los dispositivos actuales usan el protocolo de ventanas deslizantes (Sliding window
protocol). El receptor generalmente envía un acuse de recibo después de cada dos segmentos
que recibe. El número de segmentos recibidos antes de ser reconocido puede variar. La ventaja
de las ventanas deslizantes es que permite al emisor transmitir segmentos continuamente,
siempre que el receptor reconozca segmentos anteriores. Los detalles de las ventanas deslizantes
están más allá del alcance de este curso.
En la imagen, la fuente está transmitiendo 1.460 bytes de datos dentro de cada segmento TCP.
Este suele ser el tamaño máximo de segmento (MSS) que puede recibir el dispositivo de
destino. El MSS es parte del campo de opciones en el encabezado TCP que especifica la mayor
cantidad de datos, en bytes, que un dispositivo puede recibir en un solo segmento TCP. El
tamaño de MSS no incluye el encabezado TCP. El MSS generalmente se incluye durante el
protocolo de enlace de tres vías.
Un MSS común es de 1,460 bytes cuando se usa IPv4. Un host determina el valor de su campo
MSS restando los encabezados IP y TCP de la unidad de transmisión máxima de Ethernet
(MTU). En una interfaz Ethernet, la MTU predeterminada es 1500 bytes. Restando el
encabezado IPv4 de 20 bytes y el encabezado TCP de 20 bytes, el tamaño predeterminado de
MSS será 1460 bytes, como se muestra en la imagen.
Cuando se produce congestión en una red, el Router sobrecargado descarta los paquetes.
Cuando los paquetes que contienen segmentos TCP no llegan a su destino, se dejan sin
confirmar. Al determinar la velocidad a la que se envían los segmentos TCP pero no se
reconoce, la fuente puede asumir un cierto nivel de congestión de la red.
Siempre que haya congestión, se producirá la retransmisión de segmentos TCP perdidos desde
la fuente. Si la retransmisión no se controla adecuadamente, la retransmisión adicional de los
segmentos TCP puede empeorar la congestión. No solo se introducen nuevos paquetes con
segmentos TCP en la red, sino que el efecto de retroalimentación de los segmentos TCP
retransmitidos que se perdieron también aumentará la congestión. Para evitar y controlar la
congestión, TCP emplea varios mecanismos, temporizadores y algoritmos para el manejo de la
congestión.
Si la fuente determina que los segmentos TCP no se reconocen o no se reconocen de manera
oportuna, entonces puede reducir el número de bytes que envía antes de recibir un
reconocimiento. Como se ilustra en la imagen, la PC A detecta que hay congestión y, por lo
tanto, reduce la cantidad de bytes que envía antes de recibir un acuse de recibo de la PC B.
Ten en cuenta que es la fuente la que está reduciendo el número de bytes no reconocidos que
envía y no el tamaño de ventana determinado por el destino.
Como se explicó anteriormente, UPD es perfecto para comunicaciones que necesitan ser
rápidas, como VoIP. Este tema explica en detalle por qué UDP es perfecto para algunos tipos de
transmisiones. Como se muestra en la figura, UDP no establece una conexión. UDP suministra
transporte de datos con baja sobrecarga debido a que posee un encabezado de datagrama
pequeño sin tráfico de administración de red.
Al igual que los segmentos con TCP, cuando los datagramas UDP se envían a un destino, a
menudo toman diferentes caminos y llegan en el orden incorrecto. UDP no rastrea los números
de secuencia como lo hace TCP. UDP no tiene forma de reordenar los datagramas en su orden
de transmisión, como se muestra en la imagen.
Por lo tanto, UDP simplemente vuelve a ensamblar los datos en el orden en que se recibieron y
los reenvía a la aplicación. Si la secuencia de datos es importante para la aplicación, la
aplicación debe identificar la secuencia adecuada y determinar cómo se deben procesar los
datos.
UDP sin conexión y no confiable. Se muestra datagramas UDP que se envían en orden, pero
que llegan fuera de servicio debido a la posibilidad de que diferentes rutas lleguen al destino.
3. Procesos y Solicitudes del Servidor UDP
Al igual que las aplicaciones basadas en TCP, a las aplicaciones de servidor basadas en UDP se
les asignan números de puerto conocidos o registrados, como se muestra en la imagen. Cuando
estas aplicaciones o procesos se ejecutan en un servidor, aceptan los datos que coinciden con el
número de puerto asignado. Cuando UDP recibe un datagrama destinado a uno de estos puertos,
reenvía los datos de la aplicación a la aplicación adecuada en función de su número de puerto.
Servidor UDP escuchando solicitudes. Una aplicación de servidor RADIUS usa UDP para
escuchar las solicitudes en el puerto 53
Nota: El Remote Authentication Dial-in User Service (RADIUS) que se muestra en la imagen
proporciona servicios de autenticación, autorización y contabilidad para administrar el acceso
de los usuarios. El funcionamiento de RADIUS está más allá del alcance de este curso.
Al igual que con TCP, la comunicación cliente-servidor es iniciada por una aplicación cliente
que solicita datos de un proceso del servidor. El proceso del cliente UDP selecciona
dinámicamente un número de puerto del rango de números de puerto y lo utiliza como puerto de
origen para la conversación. El puerto de destino suele ser el número de puerto conocido o
registrado asignado al proceso del servidor.
Después de que un cliente ha seleccionado los puertos de origen y destino, se utiliza el mismo
par de puertos en el encabezado de todos los datagramas en la transacción. Para los datos que
regresan al cliente desde el servidor, se invierten los números de puerto de origen y destino en el
encabezado del datagrama.
El Cliente 1 está enviando una solicitud DNS utilizando el conocido puerto 53, mientras que el
Cliente 2 está solicitando servicios de autenticación RADIUS utilizando el puerto registrado
1812.
Puertos de destino de solicitud UDP
Las solicitudes de los clientes generan dinámicamente números de puerto de origen. En este
caso, el Cliente 1 está utilizando el puerto de origen 49152 y el Cliente 2 está utilizando el
puerto de origen 51152.
Cuando el servidor responde a las solicitudes del cliente, invierte el destino y los
puertos de origen de la solicitud inicial.
Destino de respuesta UDP
Los puertos de origen en la respuesta del servidor son los puertos de destino
originales en las solicitudes iniciales.