TRANSPORTE DE DATOS
Qué es la Capa de Transporte
Los programas de capa de aplicación generan datos que deben intercambiarse entre los hosts de origen y de
destino. La capa de transporte es responsable de las comunicaciones lógicas entre las aplicaciones que se
ejecutan en diferentes hosts.
Como se muestra en la imagen, la capa de transporte es el enlace entre la capa de aplicación y las capas
inferiores que son responsables de la transmisión de la red.
La capa de transporte incluye dos protocolos:
• Protocolo de Control de Transmisión: Transmission Control Protocol (TCP)
• Protocolo de Datagramas de Usuario: User Datagram Protocol (UDP)
Responsabilidades de la Capa de transporte
La capa de transporte tiene muchas responsabilidades.
Seguimiento de conversaciones individuales
En la capa de transporte, cada conjunto de datos que fluye entre una aplicación de origen y una aplicación
de destino se conoce como una conversación. Es responsabilidad de la capa de transporte mantener y
rastrear estas conversaciones múltiples.
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.
Segmentación de datos y reensamblado de segmentos
Es responsabilidad de la capa de transporte dividir los datos de la aplicación en bloques de tamaño apropiado.
Dependiendo del protocolo de capa de transporte utilizado, los bloques de la capa de transporte se
denominan segmentos (TCP) o datagramas (UDP).
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.
Agregar información de encabezado
El protocolo de capa de transporte también agrega información de encabezado que contiene datos binarios
organizados en varios campos a cada bloque de datos. Son los valores en estos campos los que permiten que
varios protocolos de capa de transporte realicen diferentes funciones en la gestión de la comunicación de
datos.
La capa de transporte asegura que incluso con múltiples aplicaciones ejecutándose en un dispositivo, todas
las aplicaciones reciben los datos correctos.
Identificando las aplicaciones
Las aplicaciones se identifican usando un número de puerto único dentro de un mismo host.
Multiplexación de conversación
La capa de transporte utiliza segmentación y multiplexación para permitir que se intercalen diferentes
conversaciones de comunicación en la misma red.
La verificación de errores se puede realizar en los datos del segmento, para determinar si el segmento se
modificó durante la transmisión.
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 y UDP).
Protocolo de Control de Transmisión (TCP)
IP solo se refiere a la estructura, direccionamiento y enrutamiento de paquetes, desde el remitente original
hasta el destino final. IP no es responsable de garantizar la entrega o determinar si es necesario establecer
una conexión entre el remitente y el receptor.
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.
Nota: TCP divide los datos en segmentos.
El transporte TCP es análogo al envío de paquetes que se rastrean desde el origen hasta el destino. Si un
pedido de envío se divide en varios paquetes, un cliente puede verificar en línea para ver el pedido de la
entrega.
TCP proporciona confiabilidad y control de flujo utilizando estas operaciones básicas:
• Numerar y rastrear segmentos de datos transmitidos a un host específico desde una aplicación
específica
• Confirmar datos recibidos
• Volver a transmitir cualquier información no reconocida después de un cierto período de tiempo
• Datos de secuencia que pueden llegar en orden incorrecto
• Enviar datos a una velocidad eficiente que sea aceptable para el receptor
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.
Protocolo de Datagramas de Usuario (UDP)
UDP es un protocolo de capa de transporte más simple que TCP. No proporciona confiabilidad y control de
flujo, lo que significa que requiere menos campos de encabezado. Debido a que los procesos UDP del emisor
y del receptor no tienen que administrar la confiabilidad y el control de flujo, esto significa que los
datagramas UDP pueden procesarse más rápido que los segmentos TCP. UDP proporciona las funciones
básicas para entregar datagramas entre las aplicaciones apropiadas, con muy poca sobrecarga y verificación
de datos.
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 también se conoce como un protocolo de entrega de mejor esfuerzo porque no hay reconocimiento de
que los datos se reciben en el destino. Con UDP, no hay procesos de capa de transporte que informen al
remitente de una entrega exitosa.
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 Adecuado de Capa de Transporte para la Aplicación Correcta
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.
Los desarrolladores de aplicaciones deben elegir qué tipo de protocolo de transporte es apropiado en función
de los requisitos de las aplicaciones.
El video y la voz en tiempo real generalmente usan UDP.
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.
La imagen resume las diferencias entre UDP y TCP.
DESCRIPCIÓN GENERAL DE TCP
Características de TCP
Además de admitir las funciones básicas de segmentación y reensamblado de datos, TCP también
proporciona los siguientes servicios:
• Establece una sesión: TCP es un protocolo orientado a la conexión que negocia y establece una
conexión permanente (o sesión) entre los dispositivos de origen y destino antes de reenviar cualquier
tráfico. A través del establecimiento de la sesión, los dispositivos negocian la cantidad de tráfico que
se puede reenviar en un momento dado, y los datos de comunicación entre los dos se pueden
administrar de cerca.
• Garantiza una entrega confiable: por muchas razones, es posible que un segmento se corrompa o se
pierda por completo, ya que se transmite a través de la red. TCP asegura que cada segmento que
envía la fuente llega al destino.
• Proporciona entrega en el mismo orden: dado que las redes pueden proporcionar múltiples rutas
que pueden tener diferentes velocidades de transmisión, los datos pueden llegar en el orden
incorrecto. Al numerar y secuenciar los segmentos, TCP garantiza que los segmentos se vuelvan a
ensamblar en el orden correcto.
• Admite control de flujo: los hosts de red tienen recursos limitados (es decir, memoria y potencia de
procesamiento). Cuando TCP es consciente de que estos recursos están sobrecargados, puede
solicitar que la aplicación de envío reduzca la velocidad del flujo de datos. Esto se hace mediante TCP
que regula la cantidad de datos que transmite la fuente. El control de flujo puede evitar la necesidad
de retransmitir los datos cuando los recursos del host receptor se ven desbordados.
Encabezado TCP
TCP es un protocolo con estado, lo que significa que realiza un seguimiento del estado de la sesión de
comunicación. 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.
Campos de encabezado TCP
La tabla identifica y describe los diez campos en un encabezado TCP.
Campo de encabezado TCP Descripción
Puerto de origen Un campo de 16 bits utilizado para identificar la aplicación de origen
por número de puerto.
Puerto de destino Un campo de 16 bits utilizado para identificar la aplicación de destino
por número de puerto.
Secuencia de números Un campo de 32 bits utilizado para fines de reensamblado de datos.
Número de acuse de recibo Un campo de 32 bits utilizado para indicar que se han recibido datos y
que se espera el siguiente byte de la fuente.
Longitud del encabezado Un campo de 4 bits conocido como “desplazamiento de datos” que
indica la longitud del encabezado del segmento TCP.
Reservado Un campo de 6 bits que está reservado para uso futuro.
Bits de control Un campo de 6 bits utilizado que incluye códigos de bits o banderas,
que indican el propósito y la función del segmento TCP.
Tamaño de ventana Un campo de 16 bits utilizado para indicar el número de bytes que se
pueden aceptar a la vez.
Suma de comprobación Un campo de 16 bits utilizado para la verificación de errores del
encabezado y los datos del segmento.
Urgente Un campo de 16 bits utilizado para indicar si los datos contenidos son
urgentes.
Aplicaciones que usan TCP
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.
DESCRIPCIÓN GENERAL DE UDP
Características de UDP
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.
Las características UDP incluyen lo siguiente:
• Los datos se reconstruyen en el orden en que se reciben.
• Los segmentos que se pierden no se vuelven a enviar.
• No hay establecimiento de sesión.
• El envío no está informado sobre la disponibilidad de recursos.
• Para obtener más información sobre UDP, busque en Internet el RFC 768.
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.
Los bloques de comunicación en UDP se denominan datagramas o segmentos. Estos datagramas se envían
como el mejor esfuerzo por el protocolo de la capa de transporte.
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 tabla identifica y describe los cuatro campos en un encabezado UDP.
Campo de encabezado UDP Descripción
Puerto de origen Un campo de 16 bits utilizado para identificar la aplicación de origen
por número de puerto.
Puerto de destino Un campo de 16 bits utilizado para identificar la aplicación de destino
por número de puerto.
Longitud Un campo de 16 bits que indica la longitud del encabezado del
datagrama UDP.
Suma de comprobación Un campo de 16 bits utilizado para la verificación de errores del
encabezado y los datos del datagrama.
Aplicaciones que usan UDP
Hay tres tipos de aplicaciones que son más adecuadas para UDP:
• Aplicaciones de video y multimedia en vivo: estas aplicaciones pueden tolerar cierta pérdida de
datos, pero requieren poco o ningún retraso. Los ejemplos incluyen VoIP y transmisión de video en
vivo.
• Aplicación simple de petición y respuesta: aplicaciones con transacciones simples en las que un host
envía una solicitud y puede o no recibir una respuesta. Los ejemplos incluyen DNS y DHCP.
• Aplicaciones que manejan la confiabilidad por sí mismas: comunicaciones unidireccionales donde el
control de flujo, la detección de errores, los reconocimientos y la recuperación de errores no son
necesarios o la aplicación puede manejarlos. Los ejemplos incluyen SNMP y TFTP.
La figura identifica las aplicaciones que requieren UDP.
Aunque DNS y SNMP usan UDP por defecto, ambos también pueden usar TCP. DNS utilizará TCP si la solicitud
de DNS o la respuesta de DNS son más de 512 bytes, como cuando una respuesta de DNS incluye muchas
resoluciones de nombre. De manera similar, en algunas situaciones, el administrador de red puede querer
configurar SNMP para usar TCP.
Números de Puerto TCP/UDP
Comunicaciones Múltiples Separadas
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.
Puerto de origen (16) Puerto de destino (16)
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.
En la solicitud, el número de puerto de destino es lo que identifica el tipo de servicio que se solicita al servidor
de destino.
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.
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.
En el ejemplo de la imagen, la PC solicita simultáneamente servicios FTP y web del servidor de destino.
En el ejemplo, la solicitud FTP generada por el PC incluye las direcciones MAC de capa 2 y las direcciones IP
de capa 3. La solicitud también identifica el número de puerto de origen 1305 (es decir, generado
dinámicamente por el host) y el puerto de destino, identificando los servicios FTP en el puerto 21. El host
también ha solicitado una página web del servidor utilizando las mismas direcciones de Capa 2 y Capa 3 . Sin
embargo, está utilizando el número de puerto de origen 1099 (es decir, generado dinámicamente por el host)
y el puerto de destino que identifica el servicio web en el puerto 80.
El socket se utiliza para identificar el servidor y el servicio que solicita el cliente.
Un socket de cliente incluiría el número de puerto de origen, usando el ejemplo de la imagen sería:
192.168.1.5:1099
Según el ejemplo, el socket del servidor web sería 192.168.1.7:80
Juntos, estos dos sockets se combinan para formar un par de sockets: 192.168.1.5:1099, 192.168.1.7:80
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.
Grupos de número de puerto
La Internet Assigned Numbers Authority (IANA) es la organización de estándares responsable de asignar
varios estándares de direccionamiento, incluidos los números de puerto de 16 bits. Los 16 bits utilizados para
identificar los números de puerto de origen y destino proporcionan un rango de puertos de 0 a 65535.
La IANA (Internet Assigned Numbers Authority) ha dividido el rango de números en los siguientes tres grupos
de puertos.
GRUPO PORTUARIO RANGO DE NÚMEROS DESCRIPCIÓN
PUERTOS CONOCIDOS 0 a 1,023 Estos números de puerto están
reservados para servicios y
aplicaciones comunes o
populares, como navegadores
web, clientes de correo
electrónico y clientes de acceso
remoto.
Los puertos bien conocidos
definidos para aplicaciones de
servidor comunes permiten a los
clientes identificar fácilmente el
servicio asociado requerido.
PUERTOS REGISTRADOS 1.024 a 49.151 La IANA asigna estos números de
puerto a una entidad solicitante
para usar con procesos o
aplicaciones específicos.
Estos procesos son
principalmente aplicaciones
individuales que un usuario ha
elegido instalar, en lugar de
aplicaciones comunes que
recibirían un número de puerto
conocido.
Por ejemplo, Cisco ha registrado
el puerto 1812 para su proceso de
autenticación del servidor
RADIUS.
PUERTOS PRIVADOS Y/O 49,152 a 65,535 Estos puertos también se
DINÁMICOS conocen como puertos efímeros.
El sistema operativo del cliente
generalmente asigna números de
puerto dinámicamente cuando se
inicia una conexión a un servicio.
El puerto dinámico se utiliza para
identificar la aplicación del cliente
durante la comunicación
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.
Número de puerto Protocolo Solicitud
20 TCP Protocolo de transferencia de archivos (FTP) – Datos
21 TCP Protocolo de transferencia de archivos (FTP) – Control
22 TCP Shell seguro (SSH)
23 TCP Telnet
25 TCP Protocolo simple de transferencia de correo (SMTP)
53 UDP, TCP Servicio de nombres de dominio (DNS)
67 UDP Protocolo de configuración dinámica de host (DHCP): servidor
68 UDP Protocolo de configuración dinámica de host (DHCP): cliente
69 UDP Protocolo trivial de transferencia de archivos (TFTP)
80 TCP Protocolo de transferencia de hipertexto (HTTP)
110 TCP Protocolo de oficina de correos versión 3 (POP3)
143 TCP Protocolo de acceso a mensajes de Internet (IMAP)
161 UDP Protocolo simple de administración de red (SNMP)
443 TCP Protocolo de transferencia de hipertexto seguro (HTTPS)
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.
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.
De manera predeterminada, el comando netstat intentará resolver las direcciones IP para nombres de
dominio y números de puerto para aplicaciones conocidas. La opción -n se puede usar para mostrar las
direcciones IP y los números de puerto en su forma numérica.
PROCESO DE COMUNICACIÓN TCP
Procesos del Servidor TCP
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).
Establecimiento de Conexión TCP
En algunas culturas, cuando dos personas se encuentran, a menudo se saludan dándose la mano. Ambas
partes entienden el acto de estrechar la mano como una señal de saludo amistoso. Las conexiones en la red
son similares. En las conexiones TCP, el cliente host establece la conexión con el servidor mediante el proceso
de enlace de tres vías (three-way handshake).
El cliente que inicia solicita una sesión de comunicación con el servidor.
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.
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.
Cuando el cliente no tiene más datos para enviar en la secuencia, envía un segmento con el indicador FIN
establecido.
Cuando todos los segmentos han sido reconocidos, la sesión se cierra.
Análisis del Enlace de Tres Vías TCP
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.
Estas son las funciones del apretón de manos de tres vías:
• Establece que el dispositivo de destino está presente en la red.
• Verifica que el dispositivo de destino tenga un servicio activo y esté aceptando solicitudes en el
número de puerto de destino que el cliente iniciador pretende utilizar.
• Informa al dispositivo de destino que el cliente de origen tiene la intención de establecer una sesión
de comunicación en ese número de puerto.
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.
Campo de bits de control
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.
Los seis indicadores de bits de control son los siguientes:
• URG: campo de puntero urgente significativo
• ACK: indicador de reconocimiento utilizado en el establecimiento de la conexión y la finalización de
la sesión
• PSH: función de empuje
• RST: restablece la conexión cuando se produce un error o un tiempo de espera
• SYN: sincroniza los números de secuencia utilizados en el establecimiento de la conexión
• FIN: no hay más datos del remitente y se utilizan en la finalización de la sesión