La capa de transporte: UDP y TCP

Aprende cómo la capa de transporte convierte la entrega de mejor esfuerzo de internet entre sistemas terminales en comunicación entre procesos de aplicación. Descubre cómo los números de puerto entregan cada segmento al socket correcto, qué añade UDP a IP y cuándo debería elegirlo una aplicación, y cómo se construye paso a paso un protocolo fiable a partir de sumas de comprobación, acuses de recibo, números de secuencia, temporizadores y ventanas deslizantes, con retroceso N y repetición selectiva. Después, examina TCP en detalle: su formato de segmento, los números de secuencia y de acuse de recibo basados en bytes, el establecimiento y cierre de conexiones, la estimación del tiempo de ida y vuelta y los tiempos de espera, la retransmisión y la retransmisión rápida, y el control de flujo mediante la ventana de recepción.

IntermedioUnidad 3 de 8 del curso Curso de Redes informáticas

Lo que aprenderás

  1. Describe los servicios que la capa de transporte añade sobre la capa de red y sigue cómo cada segmento entrante llega al proceso de aplicación correcto mediante números de puerto y sockets.
    • Describe los servicios de la capa de transporte y sus limitaciones
      Explica cómo la capa de transporte convierte la entrega entre sistemas terminales en comunicación entre procesos y compara lo que TCP y UDP ofrecen a las aplicaciones.
    • Entrega los segmentos al socket correcto mediante los puertos
      Utiliza los números de puerto para explicar la multiplexación y la demultiplexación e identifica qué socket recibe un segmento UDP o TCP.
  2. Lee la cabecera UDP, calcula y verifica su suma de comprobación y decide si el servicio mínimo de UDP es una mejor opción que TCP para una aplicación dada.
    • Lee la cabecera UDP y calcula su suma de comprobación
      Interpreta los cuatro campos de la cabecera UDP y calcula la suma de comprobación de internet con aritmética de complemento a uno.
    • Decide cuándo UDP es el protocolo de transporte adecuado
      Sopesa la velocidad y el control de UDP frente a su falta de fiabilidad, control de flujo y control de congestión, y elige el protocolo de transporte según las necesidades de una aplicación.
  3. Diseña paso a paso un protocolo que entregue correctamente los datos a través de un canal que corrompe y pierde paquetes, y después hazlo eficiente mediante la transmisión en cadena con retroceso N y repetición selectiva.
    • Recupérate de los errores de bits mediante acuses de recibo y números de secuencia
      Construye un protocolo de parada y espera para un canal que corrompe bits y explica por qué necesita sumas de comprobación, acuses de recibo, retransmisiones y números de secuencia.
    • Gestiona la pérdida de paquetes con temporizadores y mide el rendimiento de parada y espera
      Añade un temporizador de cuenta atrás para gestionar los paquetes perdidos, sigue el protocolo del bit alternante en situaciones de pérdida y calcula por qué parada y espera desaprovecha un enlace rápido.
    • Transmite paquetes en cadena con retroceso N
      Sigue al emisor y al receptor de retroceso N con acuses de recibo acumulativos y un solo temporizador, y explica su límite de tamaño de ventana.
    • Retransmite solo los paquetes perdidos mediante repetición selectiva
      Sigue la repetición selectiva con acuses de recibo individuales, temporizadores por paquete y almacenamiento en búfer en el receptor, explica su límite de ventana más estricto y compárala con retroceso N.
  4. Describe la conexión TCP y el formato del segmento, calcula los números de secuencia y de acuse de recibo en un flujo de bytes y sigue cómo se abren y cierran las conexiones.
    • Describe la conexión TCP y la estructura de sus segmentos
      Explica qué es una conexión TCP, cómo trata TCP los datos de aplicación como un flujo de bytes y para qué sirve cada campo de la cabecera TCP.
    • Numera los bytes mediante números de secuencia y de acuse de recibo
      Calcula los números de secuencia y de acuse de recibo de los segmentos en ambos sentidos de una conexión, incluidas las llegadas fuera de orden y el retorno cíclico.
    • Abre y cierra conexiones TCP
      Sigue el establecimiento de conexión en tres pasos y el cierre con números de secuencia y estados, y explica TIME_WAIT, los reinicios y las inundaciones de solicitudes SYN.
  5. Estima el tiempo de ida y vuelta y configura el tiempo de espera de TCP, sigue cómo TCP detecta y repara las pérdidas, y utiliza la ventana de recepción para impedir que el emisor desborde el búfer del receptor.
    • Estima el tiempo de ida y vuelta y configura el tiempo de espera
      Calcula el tiempo de ida y vuelta suavizado de TCP, su variación y el tiempo de espera de retransmisión, y explica cómo aumenta este tiempo después de una pérdida.
    • Sigue las retransmisiones y los acuses de recibo de TCP
      Sigue al emisor y al receptor TCP ante acuses de recibo perdidos, retrasados y duplicados, aplica sus reglas de acuse de recibo y utiliza la retransmisión rápida.
    • Evita el desbordamiento del búfer de recepción mediante el control de flujo
      Calcula la ventana de recepción, aplica el límite del emisor a los datos sin acuse de recibo y explica las ventanas cero, el escalado de ventana y el límite de rendimiento que impone una ventana.

Guía de estudio de Capa de transporte

5 capítulos

1

De los sistemas terminales a los procesos de aplicación

Un sistema terminal puede ejecutar un navegador, una llamada y una transferencia de archivos al mismo tiempo. Cada aplicación necesita sus propios datos, aunque compartan una interfaz de red. Los protocolos de transporte proporcionan ese servicio a nivel de proceso sobre IP. Sigue un segmento desde el socket emisor hasta el socket receptor y después usa puertos y direcciones para distinguir la entrega UDP de las conexiones independientes que mantiene un servidor TCP.

1.1 Qué añaden TCP y UDP a IP

Una aplicación envía datos mediante un socket, la interfaz entre su proceso y la capa de transporte. La capa de transporte hace que los procesos de distintos sistemas terminales parezcan comunicarse directamente. Esto es comunicación lógica: los datos siguen atravesando enlaces y encaminadores, pero la aplicación trabaja mediante su socket local.

Sigue los datos a través de las capas

En el emisor, el protocolo de transporte toma los datos de aplicación, los divide en partes cuando es necesario y añade una cabecera de transporte. El segmento resultante pasa a IP. IP añade su propia cabecera y produce un datagrama IP para que la red lo transporte. En el destino, IP pasa el segmento al protocolo de transporte, que interpreta la cabecera de transporte y entrega los datos a un socket.

La lógica del protocolo se ejecuta en los sistemas terminales. Los encaminadores ordinarios reenvían datagramas IP; no realizan acuses de recibo ni retransmisiones TCP en nombre de las aplicaciones. Piensa en una dirección IP como la dirección de un edificio y en el socket receptor como la persona destinataria dentro de él. Llevar una carta al edificio y entregarla a la persona correcta son tareas distintas.

IP ofrece entrega de mejor esfuerzo entre sistemas terminales. Los datagramas pueden perderse, duplicarse, llegar en otro orden o corromperse. El transporte amplía la entrega a los procesos y puede añadir mecanismos que reparen estos fallos.

Compara los servicios
ServicioUDPTCP
Estilo de comunicaciónMensajes independientesConexión con un flujo de bytes
Entrega fiable y en ordenNoSí
Control de flujo del receptorNoSí
Control de congestión de la redSin mecanismo incorporadoSí
Retardo máximo o rendimiento mínimoSin garantíaSin garantía
Cifrado por sí soloNoNo

UDP, el protocolo de datagramas de usuario, añade puertos y una comprobación de errores a la entrega de IP. Un segmento puede llegar sin ningún intercambio previo de establecimiento. UDP no recupera un segmento perdido ni retiene un segmento posterior hasta que llegue uno anterior.

TCP, el protocolo de control de transmisión, establece el estado de conexión antes de la transferencia normal de datos. Numera los bytes, comprueba si hay errores, obtiene acuses de recibo y retransmite los datos que faltan. La aplicación receptora obtiene un flujo de bytes fiable y en orden. El control de flujo protege su búfer; el control de congestión responde a la carga de la red.

La fiabilidad no hace fiable la red subyacente. Si desaparece un datagrama IP, TCP envía otra copia de los datos que faltan. Si los bytes posteriores llegan primero, el receptor puede retenerlos hasta que se llene el hueco. La aplicación recibe los datos con la entrega reparada, pero puede esperar más tiempo. Ni TCP ni UDP pueden prometer un plazo de entrega ni reservar capacidad de red simplemente por funcionar sobre IP de mejor esfuerzo.

Elige el servicio en el socket

Un socket de flujo normalmente selecciona TCP; un socket de datagramas selecciona UDP. HTTP/1.1 y HTTP/2, la transferencia de correo SMTP y el inicio de sesión remoto mediante SSH usan TCP. Las consultas DNS ordinarias suelen usar UDP. HTTP/3 usa QUIC sobre UDP: QUIC proporciona flujos fiables y seguridad sobre el servicio mínimo de UDP.

Una conexión TCP por sí sola no mantiene en secreto una contraseña. TLS añade cifrado y autenticación sobre TCP; QUIC integra TLS en su diseño. La fiabilidad responde a si los bytes llegan a la aplicación correctamente y en orden. La confidencialidad responde a si un observador puede leerlos.

Puntos clave

  • IP entrega datos entre sistemas terminales; transporte los entrega entre procesos de aplicación.
  • TCP repara las pérdidas y los cambios de orden en los sistemas terminales.
  • UDP proporciona entrega de mensajes sin recuperación ni control de flujo incorporados.
  • Ni TCP ni UDP por sí solos garantizan un plazo, un rendimiento ni cifrado.

1.2 Puertos y selección de sockets

Un sistema terminal suele tener muchos sockets abiertos. La multiplexación reúne los datos salientes de esos sockets y añade cabeceras de transporte. La demultiplexación selecciona el socket receptor de cada segmento entrante.

Lee la información de direccionamiento

Tanto TCP como UDP llevan un puerto de origen de 16 bits y un puerto de destino de 16 bits. Los valores van de 0 a 65 535. El puerto de destino identifica el servicio receptor; el puerto de origen ayuda al otro extremo a dirigir su respuesta. La IANA agrupa los puertos en puertos de sistema 0–1023, puertos de usuario 1024–49151 y puertos dinámicos 49152–65535.

Los servidores escuchan en puertos acordados: SSH usa el 22, SMTP el 25, DNS el 53, HTTP el 80 y HTTPS habitualmente el 443. Los clientes suelen obtener del sistema operativo un puerto efímero temporal. Su rango configurado no tiene por qué coincidir con el rango dinámico de la IANA: un valor predeterminado habitual de Linux es 32768–60999, mientras que Windows suele usar 49152–65535.

Para un datagrama IP entrante, el sistema terminal identifica primero el protocolo de transporte. El valor de protocolo IPv4 6 significa TCP y el 17 significa UDP; IPv6 identifica el protocolo de la capa superior mediante su cadena de cabeceras siguientes. El puerto TCP 53 y el puerto UDP 53 pertenecen a espacios de nombres de transporte distintos. El receptor usa después las direcciones y los puertos para seleccionar un socket y pone los datos en cola para la aplicación.

UDP: muchos clientes, un socket receptor

En el modelo básico de servidor UDP sin conexión, el socket receptor se selecciona mediante la dirección IP de destino y el puerto de destino. Distintos clientes pueden enviar datos a ese mismo socket.

Un servidor en 203.0.113.53 escucha en el puerto UDP 53. Las solicitudes de 198.51.100.7:51000 y 192.0.2.44:62011 llegan a este único socket del servidor. La primera respuesta viaja desde 203.0.113.53:53 hasta 198.51.100.7:51000. La aplicación obtiene la dirección y el puerto de origen de cada solicitud para poder responder al cliente correcto. Un socket UDP conectado también puede restringir el extremo del que recibe; no se añade ningún intercambio de establecimiento UDP.

TCP: distingue las conexiones por cuatro valores

Un servidor TCP tiene un socket de escucha y sockets de conexión independientes. Una conexión se identifica mediante la cuádrupla de IP de origen, puerto de origen, IP de destino y puerto de destino.

Para un servidor en 203.0.113.10:80, estas son conexiones distintas:

  • 198.51.100.7:50312 → 203.0.113.10:80
  • 198.51.100.7:50313 → 203.0.113.10:80
  • 192.0.2.44:50312 → 203.0.113.10:80

Las dos primeras difieren en el puerto de origen. La primera y la tercera comparten un puerto de origen, pero difieren en la dirección de origen. Las tres usan el puerto 80 del servidor. No hace falta un puerto de servidor distinto para cada cliente porque la cuádrupla completa distingue sus sockets de conexión. Un proceso puede gestionar muchos de estos sockets.

Cuando ningún socket coincide

Un SYN enviado a un puerto TCP cerrado normalmente recibe un reinicio de conexión, con el indicador RST activado. Un segmento UDP enviado a un puerto sin receptor normalmente provoca un mensaje ICMP de «puerto inaccesible». Los cortafuegos, el filtrado y los límites de respuesta pueden afectar a lo que se recibe. En una sonda de puerto, SYN-ACK indica que hay un servicio TCP escuchando; RST indica rechazo. El silencio por sí solo no permite distinguir entre filtrado, pérdida o un sistema terminal que no está disponible.

Puntos clave

  • La multiplexación combina el tráfico saliente de los sockets; la demultiplexación selecciona un socket receptor.
  • Los números de puerto tienen 16 bits y pertenecen a un protocolo de transporte.
  • Un servidor UDP básico puede recibir datos de muchos clientes mediante un solo socket.
  • TCP distingue los sockets de conexión mediante ambas direcciones IP y ambos puertos.
  • Los puertos TCP y UDP cerrados normalmente producen respuestas distintas.
2

Mensajes UDP, sumas de comprobación y elección de las aplicaciones

UDP mantiene reducido el servicio de transporte: una cabecera corta, entrega a un socket y una suma de comprobación. Esa sencillez resulta útil cuando una aplicación quiere controlar los tiempos de los mensajes, pero deja la recuperación y la gestión de la tasa a la aplicación o a un protocolo situado sobre UDP. Lee la cabecera y resuelve una suma de comprobación con acarreo circular; después, evalúa una aplicación según sus plazos y necesidades de entrega, sin tratar todos los servicios en tiempo real como si fueran iguales.

2.1 La cabecera UDP y la suma de comprobación de internet

UDP envía cada mensaje de forma independiente, sin intercambio de establecimiento ni estado compartido de secuencia de conexión. Su cabecera fija de 8 bytes contiene cuatro campos, cada uno de 16 bits: puerto de origen, puerto de destino, longitud y suma de comprobación.

Cuenta los bytes correctos

La longitud abarca la cabecera UDP más sus datos. Es de al menos 8 bytes. Un mensaje con 40 bytes de datos tiene una longitud UDP de 48. Con una cabecera IPv4 de 20 bytes y sin opciones IP, el datagrama IP completo tiene 68 bytes. La cabecera IP queda fuera de la longitud UDP.

La suma de comprobación detecta algunos errores de bits en la cabecera y los datos UDP. También abarca una pseudocabecera construida a partir de la información de direccionamiento IP, el número de protocolo y la longitud UDP. Esos valores ayudan a detectar un segmento entregado con información de direccionamiento incorrecta. La pseudocabecera es una entrada para el cálculo; no es una parte adicional transmitida de la cabecera UDP.

Suma con acarreo circular

Trata la entrada del cálculo como palabras de 16 bits. Pon el campo de suma de comprobación a cero durante el cálculo. Suma las palabras y devuelve cualquier acarreo que supere el bit 16 al extremo de menor peso. Esto es una suma en complemento a uno. Por último, invierte los 16 bits de la suma resultante para obtener la suma de comprobación. Si el número de bytes es impar, añade un byte de ceros únicamente para el cálculo.

Para tres palabras ilustrativas, usa hexadecimal para que se vea el acarreo:

  1. Suma A35C y 69C3 para obtener 10D1F. El 1 inicial es un acarreo fuera de los 16 bits.
  2. Incorpóralo de nuevo: 0D1F + 1 = 0D20.
  3. Suma 1234: 0D20 + 1234 = 1F54.
  4. Complementa cada bit: FFFF − 1F54 = E0AB.

La suma de comprobación es E0AB. Simplemente descartar el acarreo inicial daría una suma incorrecta. En binario, la suma final es 0001 1111 0101 0100 y su complemento es 1110 0000 1010 1011.

Comprueba en el receptor

El receptor repite la suma con acarreo circular sobre la pseudocabecera y el segmento recibido, incluyendo ahora el campo de suma de comprobación. Un segmento sin cambios da solo unos, FFFF. Aquí, 1F54 + E0AB = FFFF. Un resultado que contiene un bit cero indica que se ha detectado un error. UDP descarta sin avisar un segmento cuya suma de comprobación suministrada y distinta de cero no supera la verificación; no envía un reemplazo ni repara los datos.

Un resultado formado solo por unos significa que se superó la verificación, no que se hayan descartado todos los errores posibles. Los cambios compensatorios en distintas palabras pueden dejar la suma sin cambios. La suma de comprobación detecta errores; no localiza los bits incorrectos ni los corrige.

Por qué los sistemas terminales vuelven a comprobar

Una comprobación de enlace protege un enlace concreto. Algunos enlaces pueden carecer de ella y también puede haber corrupción dentro de los equipos entre enlaces. Una comprobación de extremo a extremo verifica lo que llegó al sistema terminal de destino. Esto ilustra el principio de extremo a extremo: una propiedad necesaria en todo el trayecto debe comprobarse en sus extremos.

Sobre IPv4, un campo de suma de comprobación UDP igual a cero indica que el emisor omitió la suma. Una suma calculada de cero se transmite como una secuencia de unos para conservar esta distinción. IPv6 normalmente exige una suma de comprobación UDP, con excepciones para túneles definidas de forma restringida. TCP también usa una suma de comprobación de internet con una pseudocabecera y exige su suma de comprobación.

Puntos clave

  • La longitud UDP incluye su cabecera de 8 bytes y excluye la cabecera IP.
  • Incorpora cada acarreo a los 16 bits de menor peso y después complementa la suma.
  • Un resultado formado solo por unos en el receptor significa que se superó la verificación.
  • UDP descarta un segmento cuya suma de comprobación distinta de cero no supera la verificación, sin retransmitirlo.
  • La suma de comprobación puede pasar por alto errores y no puede corregirlos.
  • Un campo de suma de comprobación UDP igual a cero en IPv4 significa que se omitió la suma.

2.2 Elige UDP según las necesidades de la aplicación

El servicio reducido de UDP da a una aplicación control sobre sus mensajes. No hay intercambio de establecimiento de transporte antes del primer mensaje, ni cola de retransmisión UDP, ni mecanismo UDP que retenga datos posteriores por un mensaje anterior que falta. La aplicación decide qué enviar y qué pérdidas importan.

Ajusta la recuperación al tiempo útil de llegada

Considera audio de voz enviado en partes de 20 ms: 50 mensajes por segundo. Una parte que falta debe reproducirse dentro de 60 ms, pero detectar la pérdida y obtener otra copia tarda unos 150 ms. Esa parte recuperada llegaría demasiado tarde. Una aplicación de voz puede reproducir las partes posteriores a tiempo y disimular el sonido que falta, por ejemplo, suavizando el hueco.

La cantidad decisiva es el tiempo que queda antes de la reproducción, no la duración de 20 ms de una parte. Si la recuperación puede terminar antes del plazo, la retransmisión puede ayudar. TCP debe entregar los bytes en orden, por lo que un byte anterior que falta también puede retrasar la entrega de bytes posteriores que ya se han recibido. Esta espera suele llamarse bloqueo de cabecera de cola dentro del flujo.

Una transferencia de archivos tiene otra prioridad: cada byte debe llegar correctamente y es aceptable esperar a la recuperación. TCP ya proporciona ese servicio. Usar UDP trasladaría a la aplicación o a otro protocolo el trabajo de detectar pérdidas, solicitar datos de reemplazo y restablecer el orden.

Qué aporta la cabecera pequeña

La cabecera UDP tiene 8 bytes; la de TCP tiene al menos 20. Un servidor UDP puede recibir mensajes de muchos clientes sin establecer conexiones de transporte por cliente. Sigue habiendo búferes de socket y recursos de aplicación, por lo que «sin conexión» no significa que el sistema terminal no almacene nada.

Los usos habituales de UDP incluyen consultas DNS ordinarias en el puerto 53, sincronización horaria NTP en el 123, gestión SNMP en el 161 y asignación de direcciones DHCP en el 67 y el 68. Las llamadas y los juegos suelen elegir UDP para que los mensajes lleguen a tiempo. El vídeo bajo demanda suele usar HTTP sobre TCP o QUIC, por lo que «el vídeo usa UDP» es una regla demasiado general.

QUIC muestra cuánto puede añadir un protocolo sobre UDP: flujos fiables, control de congestión y seguridad TLS 1.3. Se estandarizó en 2021 y suele usar el puerto UDP 443; HTTP/3 funciona sobre QUIC. UDP por sí mismo no ha adquirido esos servicios.

Mantén los mensajes lo bastante pequeños

UDP conserva los límites de los mensajes. Una operación de recepción lee un mensaje, no un flujo de bytes formado a partir de varios envíos. La aplicación debe proporcionar un búfer de lectura suficientemente grande; un búfer más pequeño puede truncar el mensaje.

Para IPv4 con una cabecera IP de 20 bytes, la carga útil máxima teórica es 65 535 − 20 − 8 = 65 507 bytes. Enviar datos cerca de ese límite puede requerir fragmentación IP. En un trayecto que admite datagramas IPv4 de 1500 bytes, caben 1500 − 20 − 8 = 1472 bytes de datos sin fragmentación cuando no hay opciones IP. Otros trayectos y cabeceras pueden reducir ese valor.

Ten en cuenta los controles que faltan

UDP no tiene control de flujo incorporado para proteger a un receptor lento. Si su búfer de socket se llena, los mensajes entrantes pueden descartarse. Tampoco tiene control de congestión incorporado. Las aplicaciones UDP responsables proporcionan un control adecuado de la tasa para no saturar un trayecto compartido. Algunas redes filtran UDP, por lo que las aplicaciones pueden necesitar una alternativa.

Omitir el establecimiento y la recuperación puede reducir el retardo, pero UDP no aumenta la capacidad de un enlace ni evita las pérdidas de IP. Evalúa el protocolo de aplicación completo: el trabajo que añade sobre UDP puede importar más que el tamaño de la cabecera.

Puntos clave

  • Elige la recuperación según si los datos recuperados todavía pueden utilizarse.
  • UDP conserva los mensajes, pero no proporciona recuperación de pérdidas ni ordenación.
  • Las aplicaciones sobre UDP deben gestionar la capacidad del receptor y la carga de la red.
  • QUIC proporciona flujos fiables y seguros sobre UDP.
3

Construye la fiabilidad y mantén los datos en vuelo

Un protocolo fiable necesita pruebas de qué ha llegado y un plan para actuar cuando faltan esas pruebas. Empieza con un canal que invierte bits y después añade pérdidas de paquetes y respuestas retrasadas. Una vez garantizado el funcionamiento correcto, calcula cuánto tiempo deja parada y espera inactivo al emisor. Las ventanas deslizantes permiten que varios paquetes viajen a la vez; retroceso N y repetición selectiva toman decisiones distintas sobre los acuses de recibo, el almacenamiento en búfer y la retransmisión.

3.1 Sumas de comprobación, respuestas y detección de duplicados

Un protocolo de transferencia fiable de datos entrega a la aplicación receptora datos correctos, en orden y sin duplicados, aunque el canal subyacente dañe paquetes. Construye el diseño preguntándote qué puede salir mal en cada etapa. En estos protocolos, los datos de aplicación avanzan en un sentido y las respuestas de control viajan en el contrario.

Describe el comportamiento con estados

Una máquina de estados finitos registra el estado actual del emisor o del receptor. Cada transición tiene un evento desencadenante y las acciones que se deben realizar. Un estado como «esperando ACK 0» recoge qué prueba necesita el emisor antes de continuar. En la notación de estas máquinas, Λ indica que no hay evento o acción; una flecha entrante discontinua señala el estado inicial.

Con un canal perfectamente fiable, la versión 1.0 solo necesita envío y entrega. El emisor empaqueta los datos, el receptor los extrae y ninguno necesita respuestas. Añadir errores de bits cambia el diseño.

Detecta un error y pide otra copia

La versión 2.0 usa tres mecanismos:

  • Una suma de comprobación permite al receptor comprobar si un paquete está corrompido.
  • Un ACK informa de una recepción correcta; un NAK informa de datos dañados.
  • La retransmisión envía otra copia cuando es necesario.

En conjunto forman la solicitud de repetición automática (ARQ). El emisor envía un paquete y espera una respuesta antes de enviar el siguiente: parada y espera. Guarda una copia del paquete actual porque puede necesitar reenviarlo.

Pero los paquetes de respuesta atraviesan el mismo canal no fiable. Un ACK dañado deja al emisor sin saber si el receptor aceptó los datos o si necesita otra copia. Reenviar solo es seguro si el receptor puede distinguir una copia de reemplazo de datos de aplicación nuevos. Una suma de comprobación por sí sola no identifica duplicados; dos copias válidas tienen el mismo contenido válido.

Da una identidad a cada paquete pendiente

La versión 2.1 añade un número de secuencia. Con un solo paquete pendiente, basta un número de un bit que alterna 0, 1, 0, 1 en este modelo de canal de parada y espera. El receptor recuerda qué número espera. Entrega una vez un paquete válido con ese número y después cambia el número esperado. Un paquete con el número anterior es un duplicado: confírmalo de nuevo, pero no vuelvas a entregar sus datos.

El emisor conserva el número actual mientras retransmite. Solo pasa al otro número después de recibir el ACK correspondiente y legible. En este diseño con errores, pero sin pérdidas, una respuesta corrompida o un NAK provocan una retransmisión.

Sustituye los NAK por ACK repetidos

La versión 2.2 elimina los NAK. El receptor responde a un paquete dañado o duplicado con un ACK del último paquete que aceptó. Por tanto, el ACK necesita un número.

Supongamos que el paquete 0 lleva «A» y llega correctamente. El receptor entrega «A» y envía ACK 0. El paquete 1, que lleva «B», se corrompe, por lo que el receptor repite ACK 0. El emisor espera ACK 1; este ACK duplicado indica que debe reenviar el paquete 1. La copia válida se entrega como «B» y se confirma con ACK 1.

Descartar los datos duplicados y confirmar el paquete duplicado son acciones distintas. Si el receptor ignorara sin responder una copia de reemplazo cuyo ACK anterior era ilegible, el emisor nunca podría saber que la entrega tuvo éxito. TCP también evita los NAK, aunque su numeración de bytes y sus reglas de retransmisión rápida difieren de las de este protocolo sencillo.

Puntos clave

  • Una suma de comprobación detecta corrupción, pero por sí sola no puede identificar un duplicado.
  • ARQ combina detección de errores, respuestas del receptor y retransmisión.
  • Parada y espera mantiene un paquete de datos pendiente.
  • Los números de secuencia alternantes permiten al receptor entregar cada paquete una sola vez.
  • Un duplicado se confirma de nuevo sin volver a entregar sus datos.

3.2 Temporizadores y eficiencia de parada y espera

Una respuesta no ayuda si nunca llega. Cuando el canal puede perder un paquete de datos o un ACK, el emisor necesita una forma de continuar sin recibir un mensaje. La versión 3.0 añade un temporizador de cuenta atrás al protocolo del bit alternante.

Gestiona el silencio sin entregar dos veces

El emisor inicia el temporizador cada vez que envía el paquete actual, incluida una copia de reemplazo. Un ACK correspondiente e intacto detiene el temporizador y permite enviar el siguiente paquete. Un ACK corrompido o con un número incorrecto se ignora. Si el temporizador vence primero, el emisor reenvía el mismo paquete y reinicia el temporizador.

Si se pierde un paquete de datos, el receptor no tiene nada que confirmar; el vencimiento del tiempo de espera provoca el envío de una copia de reemplazo. Si se pierde un ACK, el receptor ya ha entregado los datos. Cuando llega la copia de reemplazo, el número de secuencia identifica un duplicado. El receptor descarta sus datos y vuelve a enviar el ACK.

Un vencimiento prematuro del tiempo de espera ocurre cuando el paquete original o el ACK solo se retrasó. La copia de reemplazo desperdicia capacidad de transmisión, pero la detección de duplicados preserva la entrega correcta. Un tiempo de espera útil debe contemplar el tiempo de ida y vuelta previsto y el procesamiento del receptor. Si es demasiado corto, produce retransmisiones innecesarias; si es demasiado largo, retrasa la recuperación de una pérdida real.

Separa el tiempo de transmisión del tiempo de espera

Sea la longitud del paquete L bits y la tasa del enlace R bit/s. El emisor necesita L/R segundos para transmitir un paquete al enlace. Sin contar el tiempo de transmisión y procesamiento del ACK, un ciclo de parada y espera tarda RTT+L/R. La fracción de tiempo dedicada a enviar es

U=L/RRTT+L/R.

Para paquetes de 1500 bytes en un enlace de 1 Gbit/s, primero convierte bytes a bits:

L=1500×8=12 000 bits.

Entonces L/R=12 μs=0,012 ms. Con un RTT de 40 ms,

U=0,01240,012≈0,000300.

El emisor está activo aproximadamente el 0,03 % del tiempo. El rendimiento es de unos 12 000 bits cada 0,040012 s, o 300 kbit/s. Incluso un enlace muy rápido transporta poco tráfico útil porque el emisor pasa casi todo el ciclo esperando.

Transmite los paquetes en cadena

La transmisión en cadena permite que haya varios paquetes en vuelo sin acuse de recibo. Si caben hasta N paquetes en la ventana de envío, la utilización ideal pasa a ser

U=min⁡(1,N(L/R)RTT+L/R).

Con el mismo enlace, 1000 paquetes dan una utilización aproximada de 0,30. Para mantenerlo completamente ocupado se necesitan al menos 40,012/0,012≈3334,33 tiempos de transmisión de paquete, por lo que se redondea hacia arriba a 3335 paquetes. Redondear hacia abajo deja un pequeño intervalo de inactividad antes del primer ACK.

Una cadena mayor necesita suficientes números de secuencia para distinguir sus paquetes y suficiente espacio de búfer para conservar los datos sin acuse de recibo. El receptor también puede necesitar almacenamiento en búfer, según el protocolo. Retroceso N y repetición selectiva resuelven estas decisiones de diseño de forma diferente.

Aumentar solo la tasa del enlace acorta el tiempo de transmisión, que ya es breve. Para un tamaño de paquete y un RTT fijos, reduce la utilización de parada y espera. Tener más datos en vuelo permite al emisor usar la capacidad disponible.

Puntos clave

  • Un temporizador permite continuar cuando se pierden datos o respuestas.
  • Un vencimiento prematuro desperdicia capacidad, pero los números de secuencia evitan la entrega duplicada.
  • Usa bits para la longitud del paquete cuando la tasa del enlace esté en bit/s.
  • La utilización de parada y espera es el tiempo de transmisión dividido por el tiempo del ciclo completo.
  • La transmisión en cadena mejora la utilización al permitir varios paquetes pendientes.
  • Redondea hacia arriba una ventana requerida de paquetes enteros y limita la utilización a 1.

3.3 Ventanas de retroceso N y ACK acumulativos

Retroceso N (GBN) permite hasta N paquetes enviados pero sin acuse de recibo. La ventana deslizante del emisor avanza cuando los acuses de recibo confirman la entrega. El receptor se mantiene sencillo: solo acepta el siguiente paquete en orden.

Mantén separados los rangos del emisor

La variable base identifica el paquete más antiguo sin acuse de recibo. nextseqnum identifica el siguiente paquete nuevo que se enviará. Antes del retorno cíclico de los números de secuencia, los rangos son:

  • Por debajo de base: ya confirmados.
  • De base a nextseqnum − 1 inclusive: enviados, a la espera de acuse de recibo.
  • De nextseqnum a base + N − 1 inclusive: disponibles para datos nuevos.
  • En base + N o por encima: bloqueados hasta que avance la ventana.

Para base = 10, nextseqnum = 13 y N=5, los paquetes 10–12 están pendientes. Los paquetes 13 y 14 pueden enviarse. El paquete 15 no puede. Una ventana limita los datos pendientes, no el número total de paquetes de una transferencia.

Los acuses de recibo acumulativos desplazan la base

El ACK n de GBN confirma todos los paquetes hasta n inclusive. Desplaza base a n+1. Por tanto, un ACK acumulativo posterior puede cubrir ACK anteriores que se hayan perdido. Esta convención de numeración identifica el último paquete aceptado; la convención de ACK de TCP identifica el siguiente byte esperado.

GBN mantiene un temporizador para el paquete pendiente más antiguo. El envío del primer paquete pendiente lo inicia. Un ACK que hace avanzar la base lo reinicia si todavía hay datos pendientes; la confirmación de todos los datos lo detiene. Cuando vence el temporizador, el emisor retransmite todos los paquetes que se han enviado pero siguen sin acuse de recibo. Ese número puede ser menor que la ventana máxima N.

Sigue un paquete que falta

Usa una ventana de cuatro y envía los paquetes 0, 1, 2 y 3. El paquete 2 se pierde. El receptor entrega 0 y 1 y envía ACK 0 y ACK 1. El paquete 3 llega más allá del hueco: el receptor lo descarta y repite ACK 1.

Los dos primeros ACK abren espacio para los paquetes 4 y 5. Estos también llegan más allá del paquete 2 que falta, por lo que ambos se descartan y se responde con ACK 1. La base del emisor permanece en 2. Al vencer el tiempo de espera, retransmite 2, 3, 4 y 5. Ahora llegan en orden y todos pueden entregarse.

Las copias de 3, 4 y 5 estaban intactas la primera vez. GBN las reenvía porque su receptor decidió no almacenar en búfer los paquetes fuera de orden. Esto ahorra estado en el receptor a costa de tráfico adicional después de una pérdida.

Deja un número de secuencia fuera de la ventana

Un campo de k bits proporciona 2k números de paquete, que se reutilizan cíclicamente. GBN requiere

N≤2k−1.

Con tres bits, los números son 0–7 y la mayor ventana de envío es siete. Si se permitieran los ocho, el receptor podría aceptar 0–7 y volver a esperar 0. Si se perdieran todos los ACK, un 0 antiguo retransmitido parecería nuevo. Si solo se envían 0–6, el receptor espera 7 y puede reconocer el 0 retransmitido como antiguo. La aritmética de ventana cerca del retorno cíclico sigue el orden cíclico, no el orden numérico ordinario.

Puntos clave

  • El ACK n de GBN confirma todos los paquetes hasta n inclusive.
  • El receptor descarta los paquetes que llegan más allá de un hueco.
  • Un temporizador controla el paquete pendiente más antiguo.
  • El vencimiento del tiempo de espera provoca el reenvío de los paquetes enviados sin acuse de recibo.
  • La mayor ventana GBN con números de k bits es 2^k − 1.

3.4 Repetición selectiva y reutilización de números de secuencia

La repetición selectiva (SR) guarda los paquetes recibidos correctamente aunque falten otros anteriores. Cada paquete válido recibe su propio ACK. El emisor puede entonces reemplazar solo el paquete cuyo temporizador vence.

Realiza el seguimiento de cada paquete por separado

La ventana del emisor comienza en send_base, el paquete más antiguo sin acuse de recibo, y contiene N números de secuencia permitidos. Cada paquete pendiente tiene un temporizador lógico. Un ACK marca ese paquete concreto como recibido. Un ACK posterior a la base no desplaza por sí solo la ventana: la base permanece en el primer hueco. Una vez que se confirma ese hueco, la base salta los paquetes posteriores que ya están confirmados.

La ventana del receptor comienza en rcv_base, el siguiente paquete necesario para la entrega. Se confirma un paquete válido dentro de la ventana. Los datos fuera de orden se almacenan en búfer. Cuando llega el paquete de la base, el receptor lo entrega junto con cada paquete consecutivo almacenado que lo sigue, hasta el siguiente hueco.

Un paquete de la ventana inmediatamente anterior es un duplicado antiguo. El receptor lo confirma de nuevo sin entregarlo. Esta regla es esencial cuando se perdió el ACK original: el emisor puede seguir esperando aunque el receptor haya avanzado.

Recupérate de una pérdida

Usa N=4 y supongamos que se pierde el paquete 2 después de que el emisor envíe 0–3. El receptor entrega y confirma 0 y 1, y después almacena en búfer y confirma 3. Esos dos primeros ACK permiten al emisor transmitir 4 y 5. Ambos se almacenan en búfer y se confirman individualmente, pero send_base permanece en 2.

Cuando vence el temporizador del paquete 2, solo se reenvía el 2. Su llegada permite al receptor entregar 2, 3, 4 y 5 juntos y desplazar rcv_base a 6. Una vez que ACK 2 llega al emisor, su base también avanza a 6, saltando los paquetes 3–5 cuyos ACK ya tiene.

Por qué la ventana ocupa como máximo la mitad del espacio de números

El receptor puede ir por delante del emisor porque los ACK se retrasan o se pierden. Los nuevos números aceptables no deben solaparse con números que aún podrían retransmitirse como paquetes antiguos.

Con números de dos bits 0–3 y una ventana de tres, supongamos que el receptor acepta 0, 1 y 2. Su nueva ventana es {3, 0, 1}. Si desaparecen todos los ACK, un 0 antiguo retransmitido encaja en esta ventana y parece nuevo. El receptor no puede distinguirlo de un 0 realmente nuevo enviado después de un 3 perdido.

Para ventanas de emisor y receptor del mismo tamaño, el límite seguro es

N≤2k−1.

Por tanto, una numeración de tres bits permite ventanas SR de hasta cuatro, mientras que GBN permite siete.

CaracterísticaRetroceso NRepetición selectiva
Significado del ACKTodos los paquetes hasta n inclusiveSolo el paquete n
Estado de temporizadoresUn temporizador para el paquete más antiguoUn temporizador lógico por paquete
Acción del receptor ante paquetes fuera de ordenDescartarAlmacenar en búfer y confirmar
Recuperación al vencer el tiempo de esperaTodos los paquetes pendientesEl paquete cuyo tiempo de espera venció
Distingue una copia antigua después del retorno cíclico

Los límites de ventana gestionan las ventanas actuales, pero una red real también puede mantener una copia antigua en tránsito hasta que se reutilicen los números. Un tiempo de vida máximo del paquete limita cuánto pueden sobrevivir esas copias. TCP lo llama tiempo de vida máximo de un segmento (MSL). A tasas altas, TCP puede reutilizar rápidamente su espacio de secuencia de 32 bits, por lo que la protección contra la reutilización cíclica de números de secuencia (PAWS) basada en marcas de tiempo ayuda a rechazar datos antiguos.

Puntos clave

  • SR confirma cada paquete pendiente y controla su tiempo individualmente.
  • Los paquetes fuera de orden se almacenan en búfer hasta que se llena el hueco de entrega.
  • Un ACK posterior marca la recepción, pero la base del emisor permanece en el primer paquete sin confirmar.
  • Los duplicados antiguos deben confirmarse de nuevo.
  • Las ventanas SR de igual tamaño pueden ocupar como máximo la mitad del espacio de números de secuencia.
  • Las copias muy retrasadas también requieren protección cuando se reutilizan los números.
4

Segmentos TCP, números de byte y conexiones

TCP mantiene un flujo de bytes independiente en cada sentido de una conexión. Su cabecera vincula esos flujos a puertos, identifica sus bytes y transporta acuses de recibo y señales de control. Lee el formato del segmento y después sigue los números durante la transferencia de datos, el establecimiento y el cierre. Mantener separados los dos sentidos facilita el seguimiento de los acuses de recibo incorporados a los datos, los semicierres y los números de secuencia adicionales que usan SYN y FIN.

4.1 El flujo de bytes TCP y la cabecera del segmento

Una conexión TCP es el estado mantenido en dos sistemas terminales: búferes, contadores de bytes y otras variables creadas durante el establecimiento. Es punto a punto, entre dos extremos, y dúplex completo, lo que permite que ambos envíen a la vez. Los encaminadores ordinarios reenvían sus datagramas IP sin mantener el estado TCP de los extremos.

Los bytes no tienen límites de mensaje

TCP conserva el orden de los bytes, pero no los límites de escritura de la aplicación. Tres escrituras de 100 bytes pueden llegar a la aplicación en una sola lectura de 300 bytes o en lecturas de 50 y 250 bytes. Una aplicación que intercambia mensajes debe proporcionar su delimitación, por ejemplo, mediante un campo de longitud o un delimitador. Una lectura corta no demuestra que haya llegado un mensaje completo.

Las escrituras de la aplicación entran en un búfer de envío. TCP elige las partes que transmitirá y conserva los datos sin acuse de recibo para una posible retransmisión. Los datos entrantes van a un búfer de recepción hasta que la aplicación receptora los lee.

Calcula el tamaño de los datos por separado de las cabeceras

El tamaño máximo de segmento (MSS) limita los datos de aplicación de un segmento. Excluye las cabeceras TCP e IP. Para un trayecto que admite datagramas IP de 1500 bytes con una cabecera IPv4 de 20 bytes y una cabecera TCP de 20 bytes,

MSS=1500−20−20=1460 bytes.

Las opciones ocupan más espacio, por lo que el emisor debe tener en cuenta las longitudes reales de sus cabeceras. Cada extremo anuncia el MSS que puede recibir durante el establecimiento de la conexión; los límites del trayecto pueden restringir aún más lo que se puede enviar. Sin una opción MSS, los valores predeterminados son 536 bytes de datos para IPv4 y 1220 para IPv6.

Lee los campos de la cabecera
CampoTamañoPropósito
Puertos de origen y destino16 bits cada unoIdentificar los extremos de las aplicaciones
Número de secuencia32 bitsIdentificar el primer byte de datos
Número de acuse de recibo32 bitsIndicar el siguiente byte esperado
Desplazamiento de datos4 bitsDar la longitud de la cabecera en palabras de 32 bits
Ventana de recepción16 bitsAnunciar la capacidad del receptor
Suma de comprobación16 bitsDetectar errores con una pseudocabecera
Puntero urgente16 bitsLocalizar datos urgentes cuando URG está activado

La cabecera mínima tiene cinco palabras de 32 bits, o 20 bytes. Un desplazamiento de datos de 8 significa 32 bytes, incluidos 12 bytes más allá de la cabecera fija. El desplazamiento máximo es 15: 60 bytes en total, lo que permite hasta 40 bytes de opciones.

Interpreta los indicadores y las opciones

SYN sincroniza los números de secuencia durante la apertura. FIN cierra un sentido de envío. RST aborta o rechaza una conexión. ACK hace válido el campo de acuse de recibo. PSH solicita la entrega rápida hacia la aplicación; no crea un límite de mensaje. URG da significado al puntero urgente, aunque se recomienda que las aplicaciones nuevas eviten ese mecanismo. ECE y CWR transportan señales de notificación explícita de congestión.

Entre las opciones habituales están MSS, escalado de ventana, marcas de tiempo y acuse de recibo selectivo (SACK). El escalado amplía el rango de la ventana de recepción. Las marcas de tiempo ayudan a medir el RTT y a rechazar segmentos antiguos. SACK describe los bloques recibidos más allá de un hueco.

Sin opciones, TCP más IPv4 añade 40 bytes. Un segmento completo de 1460 bytes de datos ocupa un datagrama IP de 1500 bytes, aproximadamente un 97,3 % de datos de aplicación. Un ACK sin datos sigue ocupando esos 40 bytes de cabecera.

Puntos clave

  • TCP es un flujo de bytes dúplex completo y punto a punto.
  • Las aplicaciones proporcionan su propia delimitación de mensajes.
  • El MSS cuenta solo datos de aplicación; el desplazamiento de datos cuenta palabras de cabecera de 32 bits.
  • SYN, FIN y RST cumplen funciones distintas en la gestión de conexiones.
  • Las opciones amplían TCP sin cambiar los campos de la cabecera fija.

4.2 Números de secuencia y el siguiente byte esperado

Los números de secuencia TCP cuentan bytes, no segmentos. El número de secuencia de un segmento indica su primer byte de datos. Su número de acuse de recibo describe el sentido contrario: el siguiente byte que este emisor espera recibir.

Divide un flujo en segmentos

El SYN usa un número de secuencia inicial (ISN) de 3000. Por tanto, el primer byte de datos es el 3001. Un archivo de 10 000 bytes con un MSS de 1460 necesita seis segmentos de datos completos y uno más corto:

SegmentoPrimer byteBytes de datos
130011460
244611460
359211460
473811460
588411460
610 3011460
711 7611240

Cada siguiente número de secuencia suma la longitud de datos del segmento anterior. El último byte es el 13 000, por lo que la recepción correcta de todo el archivo produce el ACK acumulativo 13 001.

Confirma un prefijo continuo

ACK n confirma todos los bytes hasta n−1 inclusive. No confirma el byte n. Si el receptor tiene los bytes hasta el 4460, espera el 4461. Un segmento que empieza en 5921 deja un hueco. Un receptor que almacena ese segmento en búfer sigue enviando ACK 4461 porque su prefijo continuo no ha aumentado.

Por eso el acuse de recibo no puede ser simplemente el mayor número de secuencia observado. Los bytes posteriores muestran que algo llegó más allá del hueco; no lo llenan. Cuando llega el rango que falta, un ACK acumulativo puede saltar los datos ya almacenados en búfer.

Sigue ambos sentidos de forma independiente

Supongamos que el siguiente byte de un cliente es el 1000 y el siguiente byte de un servidor es el 5000. El cliente envía 200 bytes de datos con secuencia 1000 y acuse de recibo 5000. La respuesta del servidor lleva 1200 bytes con secuencia 5000 y acuse de recibo 1200. El siguiente ACK sin datos del cliente tiene secuencia 1200 y acuse de recibo 6200.

El servidor no obtuvo su propio número de secuencia de la longitud de la solicitud. Cada sentido tiene su propia numeración. Llevar un ACK con datos salientes es un acuse de recibo incorporado a los datos. Un ACK sin datos no consume espacio de secuencia; SYN y FIN consumen cada uno un número incluso sin datos.

Gestiona los valores iniciales y el retorno cíclico

Los extremos eligen un ISN al abrir una conexión. Un reloj y una función seudoaleatoria con clave de las direcciones y puertos de la conexión ayudan a distinguir una conexión nueva de segmentos antiguos retrasados y dificultan que una persona externa adivine números válidos. Empezar todas las conexiones en cero debilitaría ambas protecciones.

Los campos tienen 32 bits, por lo que la numeración vuelve a empezar módulo 232, unos 4,3 mil millones de bytes. A 1 Gbit/s, recorrer ese espacio tarda unos 34 s; a 10 Gbit/s, unos 3,4 s. PAWS basado en marcas de tiempo proporciona una comprobación adicional de segmentos antiguos en trayectos rápidos.

Para la aritmética ordinaria lejos del retorno cíclico, el siguiente byte después de un segmento de datos es su número de secuencia más su longitud de datos. Cuando hay un SYN o FIN, incluye el número adicional que consume ese indicador de control. Aplica el cálculo por separado a cada sentido.

Puntos clave

  • El número de secuencia de un segmento identifica su primer byte.
  • ACK n confirma los bytes hasta n − 1 inclusive e indica el siguiente byte esperado.
  • Un hueco mantiene fijo el ACK acumulativo incluso cuando se almacenan en búfer datos posteriores.
  • Cada sentido tiene una numeración independiente.
  • Los datos, SYN y FIN consumen espacio de secuencia; los ACK sin datos no.
  • Los números de secuencia vuelven a empezar módulo 2^32.

4.3 Apertura, semicierre y liberación de una conexión

El establecimiento de TCP permite a ambos extremos anunciar un número de secuencia inicial y saber que el otro lo recibió. El cierre posterior libera cada sentido por separado. Estos intercambios de control usan el mismo espacio de secuencia que los datos.

Sigue el establecimiento de conexión en tres pasos
  1. El cliente crea el estado de conexión, envía SYN con ISN 7000 y entra en SYN_SENT.
  2. El servidor responde con SYN-ACK, secuencia 21 000 y acuse de recibo 7001. Permanece en SYN_RCVD mientras espera la confirmación.
  3. El cliente registra el número del servidor y envía ACK con secuencia 7001 y acuse de recibo 21 001. El cliente entra en ESTABLISHED; el servidor hace lo mismo cuando llega ese ACK.

Cada SYN consume un número. El tercer segmento ya puede llevar datos de aplicación. El establecimiento ordinario cuesta un tiempo de ida y vuelta antes de que el cliente pueda enviar esos primeros datos. Un intercambio de dos mensajes no indicaría al servidor que el cliente recibió su ISN y podría hacer que aceptara un SYN antiguo retrasado como una solicitud nueva.

En la interfaz de sockets, connect inicia una apertura activa. Un servidor escucha las solicitudes y accept devuelve un nuevo socket de conexión después del establecimiento. El socket de escucha sigue disponible para otros clientes.

Cierra cada sentido

Un extremo envía FIN cuando no tiene más bytes que enviar. El otro extremo confirma ese FIN avanzando su ACK una unidad más allá de él. El otro extremo todavía puede enviar sus propios bytes pendientes: esto es un semicierre. Su FIN posterior cierra el otro sentido y también necesita un ACK. El cierre suele usar cuatro segmentos, aunque un FIN y un ACK pueden combinarse.

Para un cliente que cierra primero, la secuencia habitual de estados es ESTABLISHED → FIN_WAIT_1 después de enviar FIN → FIN_WAIT_2 una vez confirmado ese FIN → TIME_WAIT después de recibir y confirmar el FIN del otro extremo → CLOSED. El otro extremo pasa por CLOSE_WAIT mientras su aplicación termina, después por LAST_ACK tras enviar su propio FIN y, finalmente, por CLOSED al recibir el ACK.

Mantén recuperable el último ACK

En la secuencia habitual de cierre activo, TIME_WAIT dura el doble del tiempo de vida máximo de un segmento. Si desaparece el ACK final, el otro extremo puede reenviar su FIN y recibir otro ACK. La espera también da tiempo a que los segmentos antiguos caduquen antes de que se reutilice la cuádrupla de la conexión. El valor MSL de dos minutos del estándar da cuatro minutos; las implementaciones pueden usar duraciones diferentes y 60 segundos es un valor habitual en Linux.

Un RST es distinto de FIN: aborta la conexión o rechaza una solicitud. Un SYN a un puerto cerrado normalmente recibe RST. SYN-ACK indica que hay un socket de escucha; el silencio puede deberse a filtrado, pérdida o un destino no disponible.

Protege los intercambios de establecimiento incompletos

Una inundación de solicitudes SYN envía muchas solicitudes de apertura sin completarlas. Un servidor que reserva recursos para cada conexión semiabierta puede agotar el estado disponible. Las cookies SYN retrasan la reserva de ese estado por conexión. El servidor codifica información de conexión verificable en el ISN elegido mediante un secreto y un dato que depende del tiempo. Un ACK final válido devuelve la cookie mediante su número de acuse de recibo, lo que permite al servidor comprobarla y crear el estado. El servidor sigue teniendo un socket de escucha y recursos compartidos; evita almacenar una conexión individual incompleta por cada SYN.

Puntos clave

  • El intercambio de establecimiento confirma ambos números de secuencia iniciales.
  • SYN y FIN consumen cada uno un número de secuencia.
  • Un FIN cierra un sentido; el otro extremo puede seguir enviando.
  • TIME_WAIT permite recuperar el ACK final y que caduquen los segmentos antiguos.
  • RST aborta o rechaza una conexión.
  • Las cookies SYN reducen el estado por solicitud antes de que se complete el establecimiento.
5

Recuperación de TCP y ritmo del receptor

Un ACK puede retrasarse, un segmento puede desaparecer y la aplicación receptora puede dejar de leer. TCP necesita respuestas distintas para estos eventos. Las estimaciones del RTT orientan cuánto tiempo esperar, los ACK duplicados pueden revelar un hueco antes de que venza el tiempo de espera y la ventana de recepción informa del espacio disponible en el búfer. Sigue los bytes pendientes del emisor junto con los bytes almacenados del receptor para ver por qué una conexión recuperada aún puede tener que esperar antes de enviar más datos.

5.1 Mide el RTT y elige un tiempo de espera de retransmisión

TCP necesita un tiempo de espera de retransmisión lo bastante largo para permitir los tiempos de ida y vuelta normales, pero lo bastante corto para recuperarse pronto de una pérdida. El RTT varía cuando cambian las colas y los trayectos, por lo que el tiempo de espera sigue tanto una estimación suavizada como el tamaño de las desviaciones recientes.

Toma una muestra inequívoca

SampleRTT mide el intervalo desde el envío de datos hasta la recepción de un ACK que los cubre. En una implementación básica, TCP mide un segmento apto a la vez. El algoritmo de Karn excluye los datos retransmitidos del muestreo ordinario del RTT: un ACK podría corresponder a la copia original o a la de reemplazo. Las marcas de tiempo negociadas pueden eliminar esta ambigüedad.

La primera muestra válida R inicializa EstimatedRTT en R y DevRTT en R/2. Antes de que exista una muestra, el tiempo de espera inicial recomendado es 1 s.

Actualiza la variación antes que la media

Para una nueva muestra, usa el EstimatedRTT anterior para medir la desviación:

DevRTTnew=0,75DevRTTold+0,25∣SampleRTT−EstimatedRTTold∣.

Después actualiza la media móvil ponderada exponencialmente:

EstimatedRTTnew=0,875EstimatedRTTold+0,125SampleRTT.

Los pesos recomendados son β=1/4 y α=1/8. Las muestras anteriores conservan menos influencia después de cada actualización. Actualizar primero la media cambiaría la desviación utilizada en la primera ecuación.

Resuelve una actualización

Empieza con EstimatedRTT = 100 ms y DevRTT = 10 ms; toma una muestra de 120 ms.

  1. Desviación absoluta: ∣120−100∣=20 ms.
  2. Nuevo DevRTT: 0,75(10)+0,25(20)=12,5 ms.
  3. Nuevo EstimatedRTT: 0,875(100)+0,125(120)=102,5 ms.
  4. Tiempo de espera básico: 102,5+4(12,5)=152,5 ms.

La regla básica es

TimeoutInterval=EstimatedRTT+4DevRTT.

El estándar completo usa EstimatedRTT + max(G, 4 DevRTT), donde G es la granularidad del reloj. Cuando el margen de cuatro desviaciones supera el intervalo del reloj, la regla básica da el mismo resultado.

El estándar recomienda elevar a 1 s un valor calculado inferior a 1 s. Las implementaciones reales pueden usar un mínimo menor; un mínimo habitual de Linux es 200 ms. Por tanto, los 152,5 ms calculados son una estimación sin ajustar, no necesariamente el tiempo que configura un sistema terminal. Un límite superior opcional debe ser de al menos 60 s.

Aumenta la espera tras un vencimiento

Cuando vence el temporizador, TCP reenvía los datos más antiguos sin acuse de recibo y duplica el tiempo de espera. Un valor actual de 0,75 s pasa a 1,5 s y después a 3 s tras otro vencimiento. Los reintentos inmediatos repetidos añadirían tráfico a un trayecto que ya está fallando al entregar respuestas.

Un ACK recién llegado no necesariamente reduce ese tiempo de espera aumentado. TCP necesita una nueva medición válida del RTT para volver a calcular la estimación. Sin marcas de tiempo, la ambigüedad de la retransmisión impide usar un ACK de los datos reenviados como esa nueva muestra. Una vez que se envían y confirman datos nuevos aptos, una muestra nueva puede reducir el tiempo de espera calculado.

Puntos clave

  • El algoritmo de Karn evita muestras ambiguas de datos retransmitidos.
  • Actualiza DevRTT con el EstimatedRTT anterior y después actualiza EstimatedRTT.
  • El tiempo de espera incluye un margen de variación y límites de implementación.
  • El vencimiento del tiempo de espera duplica el intervalo de retransmisión actual.
  • Una nueva medición válida del RTT permite volver a calcular un tiempo de espera aumentado.

5.2 ACK acumulativos, temporizadores y retransmisión rápida

TCP combina una suma de comprobación, números de secuencia de bytes, ACK acumulativos y retransmisión para entregar un flujo fiable. El emisor debe distinguir un ACK que hace avanzar la entrega de uno que repite el límite actual.

Sigue los eventos del emisor

SendBase es el primer byte sin acuse de recibo; NextSeqNum es el siguiente número de byte no utilizado. Los datos nuevos de la aplicación se envían con secuencia NextSeqNum, que después avanza según la longitud de los datos. Si no hay ningún temporizador de retransmisión en marcha, el envío de datos pendientes lo inicia.

El algoritmo básico recomendado usa un temporizador de retransmisión para el segmento más antiguo sin acuse de recibo. El vencimiento del tiempo de espera retransmite ese segmento pendiente más antiguo, duplica el intervalo y reinicia el temporizador. Un ACK mayor que SendBase hace avanzar la base y reinicia el temporizador si quedan datos pendientes. Si todo está confirmado, el temporizador se detiene. Un ACK duplicado no hace avanzar la base.

Los ACK perdidos pueden dejar de ser un problema

A envía 500 bytes a partir del 501. B los recibe y envía ACK 1001, que se pierde. Si nada más confirma esos bytes, vence el tiempo de espera de A y este los reenvía. B reconoce el duplicado, no entrega datos adicionales y vuelve a enviar ACK 1001.

Supongamos ahora que A también había enviado los siguientes 500 bytes, a partir del 1001. Si ACK 1501 llega antes de que venza el tiempo de espera, confirma ambos segmentos. La pérdida de ACK 1001 no requiere ninguna retransmisión. Un ACK es acumulativo, por lo que el emisor no necesita que llegue un ACK independiente para cada segmento.

Ante un vencimiento prematuro del tiempo de espera, A reenvía solo el segmento más antiguo. Si después los ACK retrasados confirman ambos segmentos originales, A no necesita reenviar el segundo. Un vencimiento demuestra que la respuesta no llegó a tiempo, no que todos los segmentos pendientes hayan desaparecido.

Usa el momento de los ACK para informar de huecos

Para datos en orden sin ningún ACK pendiente, el receptor puede retardar brevemente un ACK, durante menos de 0,5 s, para combinar acuses de recibo. Debería confirmar al menos uno de cada dos segmentos de tamaño completo. Una segunda llegada en orden mientras hay un ACK pendiente desencadena un ACK acumulativo. Una llegada fuera de orden más allá de un hueco desencadena un ACK duplicado inmediato; llenar todo o parte de un hueco también desencadena un ACK inmediato.

Repara un hueco antes de que venza el tiempo de espera

Supongamos que A envía cinco segmentos de 1000 bytes que empiezan en 1001, 2001, 3001, 4001 y 5001. El segundo se pierde. El ACK de B después del primero es 2001. Cada una de las tres llegadas posteriores produce otro ACK 2001.

Después de tres ACK duplicados, A usa la retransmisión rápida para reenviar el segmento que empieza en 2001 sin esperar a que venza el tiempo de espera. Con los datos posteriores almacenados en búfer, llenar ese hueco permite a B confirmar 6001. El primer ACK 2001 es el ACK original; los tres siguientes son duplicados. Uno o dos duplicados pueden deberse a una reordenación ordinaria, lo que explica la espera de más pruebas.

TCP combina ideas de ambos protocolos de ventana. Sus ACK acumulativos y su temporizador único básico se parecen a GBN, pero su almacenamiento en búfer y su retransmisión dirigida se parecen a SR. La opción SACK negociada informa de los bloques de bytes que se tienen más allá del límite acumulativo para que el emisor pueda identificar varios huecos con mayor precisión. TCP no envía ningún NAK cuando falla una suma de comprobación; el hueco resultante se revela mediante ACK posteriores o el vencimiento del tiempo de espera.

Puntos clave

  • Un ACK acumulativo puede cubrir un ACK anterior que se perdió.
  • El temporizador básico de retransmisión protege los datos más antiguos sin acuse de recibo.
  • El vencimiento del tiempo de espera no exige retransmitir todos los segmentos pendientes.
  • Tres ACK duplicados desencadenan la retransmisión rápida en el algoritmo básico.
  • SACK informa de los bloques recibidos más allá de un hueco sin cambiar el significado del ACK acumulativo.

5.3 Ventanas de recepción y espacio de búfer

El control de flujo impide que un emisor TCP desborde el búfer del receptor. Responde a la rapidez con que lee la aplicación receptora. El control de congestión responde a la carga de la red; ambos controles protegen recursos distintos.

Calcula el espacio disponible

Sean RcvBuffer la capacidad del búfer, LastByteRcvd el último byte almacenado en orden y LastByteRead el último byte leído por la aplicación. En este modelo de datos contiguos, el espacio ocupado es LastByteRcvd − LastByteRead. La ventana de recepción es

rwnd=RcvBuffer−(LastByteRcvd−LastByteRead).

El receptor anuncia el espacio disponible en el campo de ventana de los segmentos que devuelve. El emisor mantiene su cantidad de bytes sin acuse de recibo dentro de ese límite:

LastByteSent−LastByteAcked≤rwnd.

Para RcvBuffer = 40 000 bytes, LastByteRcvd = 30 000 y LastByteRead = 18 000, la ocupación es de 12 000 y rwnd es de 28 000 bytes. ACK 30 001 con esta ventana permite bytes sin acuse de recibo hasta el 58 000. Si el emisor ya ha enviado hasta el 34 000, tiene 4000 bytes pendientes y puede enviar 24 000 más. La ventana es un límite para todos los bytes pendientes, no una cantidad adicional a ellos.

Reanuda el envío después de una ventana cero

Cuando no queda espacio, el receptor anuncia rwnd = 0 y el emisor detiene la transmisión normal de datos nuevos. Cuando la aplicación lee, el receptor anuncia el espacio recién disponible en una actualización de ventana.

Esa actualización puede ser un ACK sin datos, que no se entrega de forma fiable por sí solo. Si se pierde, el emisor podría seguir esperando aunque haya espacio. Las sondas de ventana cero, que suelen llevar un byte, provocan que el receptor devuelva su ventana actual. Las sondas se espacian a intervalos crecientes; no son un envío masivo normal a través de una ventana cerrada.

Relaciona la ventana con el rendimiento

Con una ventana y un RTT fijos, el rendimiento ideal limitado por la ventana satisface

rendimiento≤rwndRTT.

Usa bytes y segundos para obtener bytes/s. Una ventana de 65 535 bytes con un RTT de 0,1 s permite unos 655 350 bytes/s, o 5,2 Mbit/s. Una tasa de enlace mayor no puede eliminar este límite de la ventana.

Para llenar un trayecto, la ventana debe cubrir su producto ancho de banda-retardo. A 1 Gbit/s y 0,1 s, los datos necesarios en vuelo son 100 millones de bits, o 12,5 MB. Este es un tamaño de ventana necesario para esa tasa ideal, no una garantía de alcanzarla.

Escala el campo y evita actualizaciones diminutas

El campo de 16 bits por sí solo no puede representar una ventana tan grande. Una opción de escalado de ventana negociada en los SYN multiplica los valores posteriores de ventana por 2s, con s≤14. La escala más grande da algo menos de 1 GiB. Un desplazamiento de 7 permite como máximo 8 388 480 bytes; un desplazamiento de 8 permite 16 776 960, suficiente para el ejemplo de 12,5 MB. La escala permanece fija para su sentido, mientras que el espacio anunciado cambia. Los propios campos de ventana de los SYN no se escalan.

Anunciar cada pocos bytes recién liberados puede causar el síndrome de la ventana tonta: muchos segmentos diminutos con una gran sobrecarga de cabecera. Para evitarlo, el receptor espera a que haya una cantidad útil de espacio libre, normalmente un MSS o la mitad del búfer, la cantidad que sea menor. El algoritmo de Nagle aborda las escrituras pequeñas del emisor reteniéndolas mientras los datos anteriores siguen sin acuse de recibo, o hasta que haya suficientes datos para formar un segmento completo.

Puntos clave

  • El control de flujo protege al receptor; el control de congestión protege la red.
  • Resta los datos almacenados en búfer y aún no leídos de la capacidad para obtener rwnd.
  • Resta los datos que ya están pendientes de rwnd antes de enviar más.
  • Las sondas de ventana cero permiten recuperarse de la pérdida de una actualización que reabre la ventana.
  • La ventana dividida por el RTT limita el rendimiento ideal sujeto a la ventana.
  • El escalado de ventana fija el multiplicador durante el establecimiento mientras el espacio libre sigue cambiando.
  • Las reglas de actualización del receptor y el algoritmo de Nagle abordan distintas causas de segmentos diminutos.

Ejemplos de Capa de transporte

5 Lecciones Interactivas

1

Sigue los datos de un socket a otro

9 pasos
Sigue la entrega de transporte, selecciona los sockets receptores y explica cómo TCP y UDP atienden a las aplicaciones.
  1. 1
    IntroducciónUn sistema terminal, varias conversaciones

    Una computadora portátil puede navegar por una página mientras realiza una llamada. Ambas aplicaciones comparten la entrega IP, pero cada una necesita sus propios datos entrantes.

    Sigue un mensaje desde un socket de aplicación hacia las capas inferiores, a través de la red y hacia las capas superiores hasta el socket de destino. Después compara cómo un servidor UDP gestiona varios orígenes con cómo un servidor TCP distingue las conexiones establecidas.

  2. 2
    ExplicaciónConstruye y desempaqueta un segmento

    El protocolo de transporte emisor toma los datos de aplicación y añade su cabecera, formando un segmento. IP coloca ese segmento dentro de un datagrama IP.

    En el destino, IP identifica el protocolo superior y le pasa el segmento. TCP o UDP interpreta la cabecera de transporte y selecciona un socket. La aplicación lee mediante ese socket; los encaminadores ordinarios solo reenvían los datagramas IP a lo largo del trayecto.

  3. 3
    AnalogíaUna dirección y un destinatario

    La dirección de un edificio lleva una carta al edificio correcto. El nombre de la persona destinataria permite que alguien dentro la dirija a la persona correcta. Del mismo modo, las direcciones IP permiten la entrega al sistema terminal, mientras que los puertos de transporte ayudan a seleccionar un socket de aplicación.

    La analogía separa dos tareas. Los protocolos de transporte reales también proporcionan servicios definidos: TCP puede recuperar los bytes que faltan, mientras que UDP deja la recuperación a los programas situados por encima.

  4. 4
    Desafío¿Puede TCP prometer un momento de llegada?

    Una aplicación necesita que cada byte llegue intacto y también necesita garantizar su llegada en 25 ms. ¿Seleccionar TCP satisface ambos requisitos?

    ---reveal---

    TCP proporciona una entrega de bytes fiable y en orden, pero no garantiza ese plazo de 25 ms. La recuperación puede añadir retardo y el trayecto IP de mejor esfuerzo no proporciona un tiempo máximo de espera fijo. Una garantía de entrega y una garantía de plazo son requisitos distintos.

  5. 5
    ExplicaciónSelecciona un socket receptor UDP

    Un socket de servidor UDP básico sin conexión se selecciona mediante su dirección IP de destino y su puerto de destino. Los mensajes de distintos clientes pueden llegar todos a ese socket.

    Supongamos que 203.0.113.20:7000 recibe mensajes de 192.0.2.5:55010 y 198.51.100.9:55010. El puerto de origen coincide, pero los orígenes son distintos. El servidor lee el extremo de origen con cada mensaje para dirigir la respuesta adecuada.

  6. 6
    EjemploReutiliza un puerto de servidor TCP

    Un servidor TCP en 203.0.113.20:443 tiene dos clientes: 192.0.2.5:55010 y 198.51.100.9:55010.

    Cada conexión establecida tiene una cuádrupla distinta. Ambas comparten la dirección y el puerto del servidor; sus direcciones de origen las distinguen. El socket de escucha acepta más clientes mientras los sockets de conexión transportan los flujos existentes. No se necesita un puerto de escucha adicional para cada cliente.

  7. 7
    DesafíoCuenta los sockets de conexión

    Un servidor en 203.0.113.30:443 acepta conexiones de 192.0.2.7:56000, 192.0.2.7:56001 y 198.51.100.7:56000. ¿Cuántos sockets de conexión distinguen estos flujos?

    ---reveal---

    Tres. Los dos primeros difieren en el puerto de origen; el primero y el tercero difieren en la dirección de origen. Su puerto de destino compartido no los fusiona. El socket de escucha es independiente y no es uno de estos tres sockets de conexión.

  8. 8
    DesafíoElige el transporte y el extremo receptor

    Un servicio necesita mensajes independientes sin establecimiento de conexión. Dos clientes envían datos a su socket sin conexión en 203.0.113.40:8000. ¿Qué protocolo de transporte es adecuado y qué selecciona ese socket de servidor?

    ---reveal---

    UDP es adecuado para el servicio de mensajes sin intercambio de establecimiento de transporte. La dirección de destino 203.0.113.40 y el puerto 8000 seleccionan el socket de servidor básico. Los extremos de origen identifican dónde van las respuestas; no requieren conexiones independientes al estilo de TCP.

  9. 9
    RepasoLee un seguimiento de entrega en orden

    Para un seguimiento entrante, identifica primero el protocolo de transporte, después la información de sus extremos y luego el servicio que recibe la aplicación.

    Un mensaje UDP y un flujo de bytes TCP pueden compartir el mismo número de puerto de servidor porque pertenecen a protocolos distintos. Dentro de TCP, ambas direcciones y ambos puertos distinguen una conexión. La fiabilidad, los tiempos y el cifrado deben comprobarse como necesidades independientes de la aplicación.

2

Comprueba un mensaje UDP y elige su servicio

11 pasos
Lee los campos UDP, incorpora un acarreo de la suma de comprobación y decide si la recuperación de una pérdida puede cumplir el plazo de una aplicación.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónUna cabecera pequeña con una función concreta
  2. 2
    ExplicaciónCuenta los bytes de un segmento UDP
  3. 3
    ExplicaciónPrepara la entrada de la suma de comprobación
  4. 4
    EjemploIncorpora el acarreo antes de continuar
  5. 5
    EjemploComplementa y después verifica
  6. 6
    DesafíoGestiona otro acarreo
  7. 7
    ExplicaciónMantén la recuperación dentro del plazo
  8. 8
    Idea claveUna aplicación UDP puede añadir más
  9. 9
    Desafío¿Seguiría siendo útil una copia de reemplazo?
  10. 10
    DesafíoCombina el tamaño del mensaje y la elección del servicio
  11. 11
    RepasoComprueba qué proporciona cada capa
3

Construye una transferencia fiable con ventana deslizante

20 pasos
Desarrolla la gestión de duplicados, los temporizadores y la transmisión en cadena, y después sigue retroceso N y repetición selectiva ante la misma pérdida.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónHaz visibles los casos de fallo
  2. 2
    ExplicaciónRepresenta qué espera cada extremo
  3. 3
    AnalogíaDa la misma identidad a una copia de reemplazo
  4. 4
    DesafíoResponde a un duplicado sin repetir la entrega
  5. 5
    ExplicaciónDa una respuesta al silencio
  6. 6
    EjemploMide el envío y la espera por separado
  7. 7
    EjemploLlena ese intervalo de espera
  8. 8
    DesafíoDetermina una ventana de transmisión en cadena
  9. 9
    ExplicaciónLee la ventana de retroceso N
  10. 10
    EjemploPierde un paquete en retroceso N
  11. 11
    DesafíoRetransmite el rango pendiente
  12. 12
    Idea claveMantén un número sin usar fuera de la ventana GBN
  13. 13
    ExplicaciónLa repetición selectiva guarda las llegadas posteriores
  14. 14
    EjemploRecupérate de la misma pérdida con una copia de reemplazo
  15. 15
    DesafíoDesplaza la base SR tras un ACK tardío
  16. 16
    EjemploObserva el solapamiento de números antiguos y nuevos
  17. 17
    ConsejoSepara las ventanas antes de reutilizar números
  18. 18
    DesafíoElige entre diseños de ventana
  19. 19
    ConexiónGestiona las copias que sobreviven a un ciclo completo
  20. 20
    RepasoSigue el estado antes de elegir qué reenviar
4

Sigue TCP desde SYN hasta FIN

16 pasos
Lee la cabecera, numera ambos flujos de bytes y resuelve la apertura y el cierre de una conexión.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónMantén separados dos flujos de bytes
  2. 2
    ExplicaciónLee un flujo, no una serie de mensajes
  3. 3
    EjemploInterpreta el tamaño de la cabecera antes que el de la carga útil
  4. 4
    DesafíoTen en cuenta las cabeceras reales
  5. 5
    ExplicaciónIdentifica el primer byte de datos
  6. 6
    EjemploAvanza por segmentos de distintos tamaños
  7. 7
    EjemploIncorpora un acuse de recibo a los datos
  8. 8
    DesafíoMantén un ACK en un hueco
  9. 9
    EjemploConfirma ambos números iniciales
  10. 10
    DesafíoComprueba los campos del ACK final del establecimiento
  11. 11
    ExplicaciónCierra un sentido a la vez
  12. 12
    Idea claveEspera donde pueda repetirse el ACK final
  13. 13
    ConexiónRechaza o protege una solicitud de apertura
  14. 14
    DesafíoConfirma los datos y el cierre juntos
  15. 15
    ConsejoReconoce la reutilización de números
  16. 16
    RepasoCuenta cada número consumido
5

Recupérate de una pérdida TCP sin desbordar al receptor

18 pasos
Actualiza un temporizador, identifica los bytes que faltan, calcula el espacio de recepción disponible y explica la reapertura de la ventana.

Guarda esta unidad para seguir cada Lección Interactiva paso a paso.

  1. 1
    IntroducciónDecide qué impide avanzar
  2. 2
    ExplicaciónElige una medición de RTT utilizable
  3. 3
    EjemploActualiza primero la desviación
  4. 4
    EjemploActualiza la media y aplica los límites
  5. 5
    DesafíoContinúa con una segunda muestra
  6. 6
    ConsejoAumenta la espera sin inventar una muestra
  7. 7
    EjemploDeja que un ACK posterior cubra uno perdido
  8. 8
    ExplicaciónInforma de un hueco con ACK repetidos
  9. 9
    DesafíoLlena un hueco y avanza sobre los bytes almacenados
  10. 10
    Idea claveUsa el temporizador básico para el hueco más antiguo
  11. 11
    ExplicaciónCuenta primero los bytes no leídos
  12. 12
    EjemploResta los datos que ya están pendientes
  13. 13
    DesafíoCalcula cuánto más se puede enviar
  14. 14
    ConexiónRecupérate de una actualización de reapertura perdida
  15. 15
    EjemploCalcula el tamaño de una ventana para el trayecto
  16. 16
    ConsejoDistingue el escalado de las actualizaciones diminutas
  17. 17
    DesafíoRecupera los datos, pero espera espacio
  18. 18
    RepasoRelaciona cada respuesta con su prueba

Ejercicios de Capa de transporte

50 Preguntas de Práctica en 5 sets

Set 1: Servicios de transporte y entrega de mensajes10 Preguntas de Práctica

Pregunta 1 de 10

¿Qué servicio TCP permite a una aplicación receptora obtener los bytes de un archivo en su orden original?
  1. Un retardo máximo de red garantizado
  2. Un flujo de bytes fiable y en orden
  3. Un mensaje por cada escritura de la aplicación
  4. Una conexión cifrada integrada
Mostrar respuestaOcultar respuesta
Respuesta: B
TCP numera los bytes y repara los datos que faltan antes de entregar el flujo en orden. No conserva los límites de escritura de la aplicación, por lo que tres escrituras no tienen por qué producir tres lecturas. El cifrado requiere un protocolo de seguridad como TLS; la fiabilidad por sí sola no oculta el contenido del archivo.

Pregunta 2 de 10

Dos clientes TCP usan el puerto de origen 54000 para conectarse a la misma dirección y puerto de servidor. Sus direcciones IP de origen son distintas. ¿Cómo distingue el servidor su tráfico?
  1. Asigna un nuevo puerto de escucha a un cliente.
  2. Combina ambos clientes en un flujo de bytes.
  3. Selecciona sockets usando solo puertos de destino.
  4. Selecciona sockets de conexión con cuádruplas distintas.
Mostrar respuestaOcultar respuesta
Respuesta: D
Una conexión TCP se identifica mediante ambas direcciones IP y ambos puertos. Las distintas direcciones de origen hacen que estas cuádruplas sean diferentes aunque coincidan los puertos de origen. El servidor puede mantener un solo puerto de escucha; no necesita uno separado para cada cliente.

Pregunta 3 de 10

Una respuesta UDP va de 203.0.113.8:123 a 192.0.2.18:57320. ¿Cuál es su puerto de destino?
  1. 57320
  2. 123
  3. 17
  4. 192
Mostrar respuestaOcultar respuesta
Respuesta: A
El puerto de destino es el puerto del extremo receptor, 57320. El puerto 123 identifica el servicio emisor en esta respuesta y, por tanto, es el puerto de origen. Una respuesta invierte los papeles de los extremos de la solicitud; el puerto bien conocido del servicio no tiene por qué ser el de destino en ambos sentidos.

Pregunta 4 de 10

Un mensaje UDP transporta 72 bytes de datos. ¿Qué valor corresponde a su campo de longitud?
  1. 72 bytes
  2. 92 bytes
  3. 80 bytes
  4. 100 bytes
Mostrar respuestaOcultar respuesta
Respuesta: C
La longitud UDP incluye los 8 bytes de la cabecera UDP y los 72 bytes de datos, lo que da 80 bytes. Contar solo los datos de aplicación deja fuera la cabecera de transporte. Añadir una cabecera IP contaría bytes externos al segmento UDP; IP tiene su propia información de longitud.

Pregunta 5 de 10

Una actualización de posición de un juego caduca dentro de 35 ms. Recuperar una copia perdida tardaría 90 ms y ya hay disponible una posición más reciente. ¿Por qué podría la aplicación omitir esa recuperación?
  1. La copia llegaría después de su plazo útil.
  2. UDP garantiza que la posición más reciente es precisa.
  3. La red ya debe haber entregado la actualización perdida.
  4. La cabecera UDP impide enviar posiciones antiguas.
Mostrar respuestaOcultar respuesta
Respuesta: A
La actualización recuperada llegaría 55 ms después de caducar, por lo que su posición antigua ya no ayudaría a esta aplicación. UDP no decide la utilidad ni impide los envíos de datos obsoletos; la aplicación toma esa decisión. La pérdida de un mensaje tampoco dice nada sobre la precisión de una posición más reciente.

Pregunta 6 de 10

Un receptor de parada y espera ha entregado el paquete 0 y ahora espera el paquete 1. Llega otro paquete 0 intacto. ¿Qué debe hacer?
  1. Entregarlo de nuevo y enviar ACK 0.
  2. Descartar sus datos y enviar ACK 1.
  3. Descartar sus datos y no enviar respuesta.
  4. Descartar sus datos y enviar ACK 0.
Mostrar respuestaOcultar respuesta
Respuesta: D
El número repetido identifica una copia antigua, por lo que los datos no deben entregarse dos veces. Volver a enviar ACK 0 permite al emisor recuperarse si el primer ACK se perdió o era ilegible. ACK 1 afirmaría la recepción del siguiente paquete, que el receptor no ha aceptado.

Pregunta 7 de 10

Un protocolo de parada y espera con errores, pero sin pérdidas, tiene sumas de comprobación y respuestas ACK/NAK, pero no números de secuencia. ¿Por qué no es seguro reenviar después de una respuesta corrompida?
  1. La copia no puede llevar una suma de comprobación válida.
  2. El receptor puede entregar dos veces un paquete ya aceptado.
  3. El emisor debe cambiar su puerto de origen en cada reintento.
  4. El canal de respuesta no puede llevar información útil.
Mostrar respuestaOcultar respuesta
Respuesta: B
La respuesta ilegible podría haber sido un ACK de datos ya entregados. Sin una identidad de paquete, el receptor puede confundir la copia de reemplazo con datos nuevos y entregarla dos veces. Una suma de comprobación válida detecta contenido intacto; no distingue un duplicado de una nueva entrega.

Pregunta 8 de 10

Un emisor de parada y espera usa paquetes de 1000 bytes en un enlace de 8 Mbit/s con un RTT de 19 ms. Ignora la transmisión y el procesamiento del ACK. ¿Cuál es su utilización?
  1. 0,005
  2. 0,95
  3. 0,05
  4. 0,50
Mostrar respuestaOcultar respuesta
Respuesta: C
Un paquete contiene 8000 bits, por lo que la transmisión tarda 1 ms. El ciclo completo es 19 + 1 = 20 ms, lo que da una utilización de 1/20 = 0,05. Usar 1000 como cantidad de bits omite la conversión de bytes a bits y produce un tiempo de transmisión incorrecto.

Pregunta 9 de 10

Un campo de desplazamiento de datos TCP contiene 9. ¿Qué longitud tiene la cabecera TCP?
  1. 36 bytes
  2. 9 bytes
  3. 29 bytes
  4. 72 bytes
Mostrar respuestaOcultar respuesta
Respuesta: A
El desplazamiento de datos cuenta palabras de 32 bits, cada una de 4 bytes. Por tanto, un valor de 9 da 36 bytes de cabecera TCP, incluidos los 20 bytes fijos. Es la longitud total de la cabecera, por lo que añadir otros 20 bytes contaría la parte fija una segunda vez.

Pregunta 10 de 10

Un emisor de bit alternante envía el paquete 1. Su ACK se retrasa más allá del tiempo de espera, por lo que se envía una copia de reemplazo. El ACK original llega entonces antes de que la copia llegue al receptor. El emisor envía un paquete 0 nuevo. Sin reordenación de los paquetes de datos, ¿qué entrega el receptor de la copia de reemplazo 1 y del nuevo 0?
  1. Ambos paquetes, porque cada uno llegó intacto.
  2. Ningún paquete, porque venció el tiempo de espera.
  3. Solo el paquete 1, porque su ACK llegó primero.
  4. Solo el paquete 0, tras descartar el 1 duplicado.
Mostrar respuestaOcultar respuesta
Respuesta: D
El receptor ya entregó el paquete 1 original antes de enviar su ACK retrasado. Por tanto, descarta la copia de reemplazo 1 como duplicado y vuelve a confirmarla. El nuevo paquete 0 tiene el número alternante esperado y se entrega; el vencimiento del tiempo de espera no deshace la entrega anterior.
Set 2: Ventanas deslizantes y recuperación de pérdidas10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

En retroceso N, ¿qué confirma ACK 12?
  1. Solo el paquete 12
  2. Todos los paquetes hasta el 12 inclusive
  3. Todos los paquetes anteriores al 12
  4. Solo los paquetes posteriores al 12
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

Un emisor de retroceso N tiene tamaño de ventana 6, base 20 y nextseqnum 24. No hay retorno cíclico. ¿Qué paquetes nuevos puede enviar antes de otro ACK?
  1. Del 24 al 29
  2. El 20 y el 21
  3. El 24 y el 25
  4. El 25 y el 26
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

Un emisor de retroceso N usa una ventana de 5 y envía los paquetes 10–14; el paquete 12 se pierde. Llegan los ACK de 10 y 11, por lo que envía 15 y 16. Todos los datos posteriores llegan antes de que venza el tiempo de espera del paquete 12. ¿Qué se retransmite al vencer ese tiempo?
  1. 12, 13, 14, 15 y 16
  2. Solo 12
  3. Solo 12, 13 y 14
  4. 10, 11, 12, 13 y 14
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

Un emisor de repetición selectiva tiene la base en 30 y los paquetes 30–33 pendientes. Llegan los ACK 31, 32 y 33, pero no el ACK 30. ¿Dónde está la base del emisor?
  1. 31
  2. 33
  3. 34
  4. 30
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

Un receptor SR tiene una ventana de tamaño 4. Acepta los paquetes 8–11 y desplaza su base a 12. ACK 9 se pierde, por lo que se retransmite el paquete 9. ¿Qué respuesta permite al emisor recuperarse correctamente?
  1. Ignorar el paquete 9 porque está fuera de la ventana actual.
  2. Enviar ACK 11 porque se recibieron los cuatro paquetes.
  3. Enviar ACK 9 sin volver a entregar el paquete 9.
  4. Almacenar el paquete 9 hasta el retorno de los números.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

Una persona que diseña protocolos necesita ventanas de emisor y receptor de repetición selectiva del mismo tamaño, de 10 paquetes. ¿Cuál es el tamaño mínimo del campo de número de secuencia?
  1. 3 bits
  2. 5 bits
  3. 4 bits
  4. 6 bits
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

Una transmisión en cadena envía paquetes de 1250 bytes por un enlace de 10 Mbit/s con un RTT de 9 ms. Ignora la transmisión y el procesamiento del ACK. ¿Cuál es la ventana más pequeña que puede mantener al emisor ocupado continuamente?
  1. 9 paquetes
  2. 11 paquetes
  3. 90 paquetes
  4. 10 paquetes
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

¿Qué mecanismo permite a un receptor distinguir un paquete de reemplazo de datos nuevos en parada y espera?
  1. Un número de secuencia
  2. Un tiempo de espera mayor
  3. Una tasa de enlace mayor
  4. Solo una suma de comprobación
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Dos trayectos de parada y espera usan tamaños de paquete y RTT idénticos. La tasa del segundo enlace es el doble. ¿Cómo cambian la utilización y el rendimiento útil, sin contar las pérdidas ni la transmisión del ACK?
  1. Ambos se duplican.
  2. La utilización baja; el rendimiento aumenta menos del doble.
  3. La utilización se mantiene; el rendimiento se duplica.
  4. La utilización aumenta; el rendimiento se mantiene.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

TCP envía tres segmentos consecutivos. El ACK del primero se pierde, pero llega un ACK posterior que cubre los tres antes de que venza el tiempo de espera. ¿Qué datos deben reenviarse debido a ese ACK perdido?
  1. Solo el primer segmento
  2. Solo el último segmento
  3. Ninguno de los tres segmentos
  4. Los tres segmentos
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Set 3: Bytes TCP y estado de conexión10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

Un programa escribe 60 bytes y después 90 bytes en un socket TCP. ¿Qué puede devolver una sola lectura del receptor?
  1. Solo 60 bytes hasta una segunda lectura
  2. Exactamente un mensaje de 150 bytes con un marcador de límite
  3. Solo 90 bytes porque la escritura posterior sustituye a la primera
  4. Los 150 bytes sin un marcador de límite de escritura
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

Un segmento TCP empieza en el byte 8401 y lleva 640 bytes de datos, sin SYN ni FIN. ¿Qué ACK confirma todo el segmento cuando han llegado todos los bytes anteriores?
  1. 9040
  2. 9041
  3. 8402
  4. 640
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

Un receptor espera el byte 12 001. Almacena en búfer 400 bytes que empiezan en 12 401, después recibe 250 bytes que empiezan en 12 001 y luego 150 bytes que empiezan en 12 251. ¿Qué ACK sigue a cada una de las dos últimas llegadas?
  1. 12 251, después 12 801
  2. 12 401, después 12 801
  3. 12 251, después 12 401
  4. 12 801, después 12 801
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

El siguiente byte de un cliente es 3001 y el siguiente byte de un servidor es 9101. El cliente envía 180 bytes; el servidor los recibe y envía 420 bytes sin datos anteriores del servidor pendientes. ¿Qué números de secuencia y de ACK contiene ese segmento del servidor?
  1. Secuencia 3281; ACK 9521
  2. Secuencia 9521; ACK 3181
  3. Secuencia 9101; ACK 3181
  4. Secuencia 3181; ACK 9101
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

Un cliente envía SYN con secuencia 4600. El servidor responde con SYN-ACK con secuencia 17 000. ¿Qué acuse de recibo corresponde al ACK final del cliente durante el establecimiento?
  1. 17000
  2. 17001
  3. 4601
  4. 17002
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

A ha enviado datos hasta el byte 7199 y después envía FIN. B confirma ese FIN y todavía tiene 300 bytes de aplicación sin enviar. ¿Cuál es el comportamiento correcto a continuación?
  1. B envía sus datos y puede enviar después su FIN; su ACK es 7201.
  2. B debe descartar sus datos sin enviar; su ACK es 7201.
  3. B envía sus datos solo tras un nuevo establecimiento; su ACK es 7200.
  4. B cierra ambos sentidos inmediatamente; su ACK es 7200.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

A cierra primero y llega a TIME_WAIT después de recibir el FIN de B. El ACK final de A se pierde. B retransmite su FIN. ¿Por qué resulta útil ahora conservar el estado de conexión de A?
  1. Permite a A reabrir el sentido de envío de B.
  2. Permite a A reenviar los datos de B que faltan.
  3. Permite a A confirmar de nuevo el FIN.
  4. Permite a A fijar el siguiente número de secuencia de B.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Un emisor TCP ha recibido un ACK 4401 seguido de otros tres ACK 4401 causados por la llegada de datos posteriores más allá de un hueco. ¿Qué segmento reenvía la retransmisión rápida básica?
  1. El segmento que termina en el byte 4400
  2. El segmento enviado más recientemente
  3. Todos los segmentos posteriores al byte 4401
  4. El segmento que empieza en el byte 4401
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Un receptor tiene una capacidad de 24 000 bytes y contiene 6500 bytes sin leer. El emisor ya tiene 5500 bytes pendientes según el anuncio actual. ¿Cuántos bytes adicionales caben?
  1. 17 500 bytes
  2. 12 000 bytes
  3. 18 500 bytes
  4. 6500 bytes
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

TCP envía segmentos que empiezan en 2001, 2501 y 3001, de 500 bytes cada uno. Llegan todos los datos, pero todos los ACK se retrasan más allá del tiempo de espera. El emisor reenvía el segmento que empieza en 2001; después llega ACK 3501 antes de que venza el nuevo temporizador. ¿Qué queda por retransmitir?
  1. Nada; ACK 3501 confirma los tres segmentos de datos.
  2. Solo el que empieza en 2501; solo se reemplazó el de 2001.
  3. Los de 2501 y 3001; cada uno necesita su propio vencimiento.
  4. Los tres; un ACK tras el vencimiento no puede confirmar datos originales.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Set 4: Tiempos de espera, huecos y espacio de recepción TCP10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

Un temporizador de retransmisión está configurado en 1,2 s. ¿Qué intervalo sigue a un vencimiento con espera exponencial?
  1. 0,6 s
  2. 1,2 s
  3. 2,4 s
  4. 4,8 s
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

EstimatedRTT es 200 ms y DevRTT es 20 ms. Una nueva muestra es de 240 ms. Con los pesos y el orden de actualización recomendados, ¿cuál es el tiempo de espera sin ajustar cuando la granularidad del reloj es insignificante?
  1. 305 ms
  2. 300 ms
  3. 285 ms
  4. 320 ms
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

EstimatedRTT es 240 ms y DevRTT es 20 ms. Un emisor sin marcas de tiempo ha aumentado su tiempo de espera a 2 s. Un ACK de datos retransmitidos llega 150 ms después del reintento. Más tarde, datos que no se habían retransmitido producen una muestra válida de 320 ms. Con una granularidad del reloj insignificante, ¿qué tiempo de espera sin ajustar debe calcularse a partir de estos eventos?
  1. 390 ms
  2. 444 ms
  3. 350 ms
  4. 2000 ms
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

Un receptor recibe un segmento TCP intacto más allá de un rango de bytes que falta. ¿Qué debe indicar su ACK inmediato?
  1. El final del segmento recién llegado
  2. El primer byte que aún falta del flujo continuo
  3. La longitud del segmento fuera de orden
  4. El primer byte después de todos los datos enviados por el otro extremo
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

Un receptor espera el byte 6001. Almacena en búfer tres segmentos consecutivos de 800 bytes que empiezan en 6801, 7601 y 8401, y envía ACK duplicados inmediatos. Después llega un segmento de reemplazo de 800 bytes que empieza en 6001. ¿Qué ACK acumulativo sigue?
  1. 6801
  2. 8401
  3. 9201
  4. 6001
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

Un emisor TCP tiene pendientes segmentos que empiezan en 10 501, 11 001, 11 501 y 12 001. Su límite de ACK acumulativo actual es 10 501. Recibe ACK 10 501 dos veces, después ACK 11 001 una vez y luego ACK 11 001 otras tres veces. Ningún temporizador vence. ¿Qué segmento reenvía la retransmisión rápida básica?
  1. El segmento que empieza en 10 501
  2. El segmento que empieza en 11 501
  3. El segmento que empieza en 12 001
  4. El segmento que empieza en 11 001
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

Después de anunciar una ventana cero, la aplicación de un receptor lee datos. La actualización de ventana que la reabre se pierde. ¿Qué permite al emisor descubrir el espacio disponible?
  1. Una retransmisión automática de cada ACK sin datos
  2. Un nuevo establecimiento en tres pasos en el mismo flujo
  3. Un tiempo de espera fijo que restablece la ventana al máximo
  4. Una sonda de ventana cero y la respuesta con la ventana actual
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Un trayecto tiene un RTT de 80 ms y puede transportar 200 Mbit/s. Un receptor puede anunciar hasta 65 535 × 2^s bytes. Sin contar otras limitaciones, ¿cuál es el menor desplazamiento de escala que permite suficientes datos en vuelo para llenar el trayecto?
  1. 4
  2. 5
  3. 6
  4. 7
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Un receptor anuncia ACK 51 001 y rwnd 18 000 mientras el emisor ha enviado hasta el byte 57 000. El emisor transmite después 8000 bytes más y recibe ACK 59 001 con rwnd 12 000. ¿Cuántos bytes adicionales puede enviar ahora según el nuevo anuncio?
  1. 4000 bytes
  2. 12 000 bytes
  3. 6000 bytes
  4. 10 000 bytes
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

Un servicio usa UDP, pero necesita una entrega completa y en orden y envía mucho tráfico por un trayecto compartido. ¿Qué debe proporcionar el servicio o un protocolo situado sobre UDP?
  1. Recuperación, ordenación y control de congestión adecuado
  2. Solo un campo de suma de comprobación y una cabecera IP mayores
  3. Solo un búfer de recepción mayor y puertos de origen permanentes
  4. La suposición de que toda pérdida en el trayecto compartido es inocua
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Set 5: Diagnostica seguimientos completos de transporte10 Preguntas de Práctica

Guarda esta unidad para ver todas las respuestas y practicar cada set.

Pregunta 1 de 10

Una suma de comprobación UDP suministrada y distinta de cero no supera la verificación en el receptor. ¿Qué hace UDP con el segmento?
  1. Corrige los bits y después entrega los datos.
  2. Descarta el segmento sin avisar.
  3. Solicita un reenvío con un NAK UDP.
  4. Entrega dos copias para compararlas.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 2 de 10

Dos palabras de entrada de 16 bits para una suma de comprobación son FFFE y 0002. ¿Cuál es su suma de comprobación de internet?
  1. FFFF
  2. 0000
  3. FFFE
  4. 0001
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 3 de 10

Un protocolo de repetición selectiva con ventanas del mismo tamaño usa los números 0–7 y una ventana de tamaño 5. El receptor acepta 0–4, pero se pierden todos los ACK. ¿Qué números de paquetes antiguos encajarían en la nueva ventana del receptor si se retransmitieran?
  1. 0 y 1
  2. 3 y 4
  3. 5 y 6
  4. Del 0 al 4
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 4 de 10

Un emisor de retroceso N tiene números de cuatro bits y necesita al menos 16 paquetes en vuelo para llenar un trayecto. ¿Cuál es el cambio mínimo que permite esa transmisión en cadena de forma segura sin cambiar el tipo de protocolo?
  1. Mantener cuatro bits y usar los 16 números.
  2. Mantener cuatro bits y aumentar solo el búfer de recepción.
  3. Mantener cuatro bits y sustituir los ACK acumulativos por individuales.
  4. Usar números de cinco bits y una ventana de al menos 16.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 5 de 10

Un trayecto permite datagramas IPv4 de 1400 bytes. La cabecera IP tiene 20 bytes y el desplazamiento de datos TCP es 8. ¿Cuántos bytes de datos caben sin superar ese límite?
  1. 1360 bytes
  2. 1348 bytes
  3. 1372 bytes
  4. 1380 bytes
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 6 de 10

Después de establecer una conexión con un ISN de cliente de 15 000, el cliente envía 2300 bytes divididos en 1000, 1000 y 300 bytes, y después FIN. Todo llega en orden. ¿Qué ACK confirma el FIN?
  1. 17300
  2. 17301
  3. 17302
  4. 18002
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 7 de 10

EstimatedRTT es 400 ms y DevRTT es 60 ms. Una nueva muestra válida es de 240 ms después de un aumento anterior del tiempo de espera. Con una granularidad del reloj insignificante y un mínimo de 1 s, ¿qué tiempo de espera resulta de esta nueva medición?
  1. 560 ms
  2. 640 ms
  3. 1120 ms
  4. 1000 ms
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 8 de 10

Un receptor anuncia ACK 8001 con rwnd 9000. El emisor ha enviado hasta el byte 11 000. Después la aplicación lee 2000 bytes, pero al emisor no le llega ningún anuncio actualizado. ¿Cuántos bytes nuevos puede enviar usando la ventana que conoce?
  1. 6000 bytes
  2. 8000 bytes
  3. 9000 bytes
  4. 11 000 bytes
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 9 de 10

Un servidor usa cookies SYN durante una inundación de intercambios de establecimiento incompletos. ¿Qué evento normalmente le permite reservar el estado de la nueva conexión?
  1. Recibir cualquier SYN dirigido al puerto de escucha
  2. Enviar el primer SYN-ACK a un supuesto cliente
  3. Validar la cookie devuelta por el ACK final
  4. Esperar un tiempo de vida máximo de segmento tras el SYN
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

Pregunta 10 de 10

Un receptor espera el byte 16 001. De cuatro segmentos de 600 bytes que empiezan en 16 001, 16 601, 17 201 y 17 801, se pierden el primero y el tercero. El segundo y el cuarto llegan y se almacenan en búfer; solo dos ACK duplicados llegan al emisor. Al vencer el tiempo de espera, se retransmite el primero y llega. ¿Qué ACK sigue y qué hueco permanece?
  1. ACK 18 401; no queda ningún hueco.
  2. ACK 17 201; queda el hueco que empieza en 17 201.
  3. ACK 16 601; deben reenviarse ambos segmentos posteriores.
  4. ACK 17 801; queda el hueco que empieza en 17 801.
Mostrar respuestaOcultar respuesta

Guarda esta unidad para ver esta respuesta.

¿Te atascas con una pregunta tuya? Ayuda con Tareas

Términos Clave

75 Términos Clave, cada uno con su definición

A

Acarreo circular
El acarreo circular vuelve a sumar a las posiciones de menor peso cualquier acarreo que supere el bit más alto de una palabra durante una suma en complemento a uno.
Sumar FFFF y 0001 da 10000 antes de incorporar el acarreo y después 0001 cuando se vuelve a sumar.
ACK duplicado
Un ACK duplicado repite un acuse de recibo acumulativo existente sin confirmar nuevos bytes, a menudo porque llegaron datos posteriores más allá de un hueco.
Tres ACK duplicados que cumplen las condiciones pueden desencadenar el reemplazo de un segmento que falta antes de que venza su temporizador.
ACK retardado
Un ACK retardado pospone brevemente la confirmación de datos TCP recibidos en orden para combinar respuestas, sujeto a límites de tiempo y frecuencia.
Un segundo segmento de tamaño completo recibido en orden provoca un ACK acumulativo en lugar de iniciar otra espera larga.
Acuse de recibo (ACK)
Un acuse de recibo es una respuesta del receptor que confirma la recepción de datos; su significado puede ser individual o acumulativo según el protocolo.
El ACK 14 de SR confirma solo el paquete 14, mientras que el ACK 14 de GBN también confirma todos los paquetes anteriores.
Acuse de recibo acumulativo
Un acuse de recibo acumulativo confirma un prefijo continuo completo de datos recibidos, lo que permite que un ACK cubra varias transmisiones anteriores.
Un ACK acumulativo posterior puede hacer inocua la pérdida de un ACK anterior si llega antes de que venza el tiempo de espera.
Acuse de recibo incorporado a los datos
La incorporación del acuse de recibo a los datos consiste en llevar información de confirmación de datos recibidos en un segmento TCP que también envía datos en el sentido inverso.
La respuesta de un servidor puede confirmar la solicitud mientras transporta sus propios bytes numerados de forma independiente.
Acuse de recibo individual
Un acuse de recibo individual confirma un paquete identificado sin confirmar también todos los paquetes anteriores de la secuencia.
Recibir ACK 22 de SR no indica al emisor si llegó el paquete 21 o si todavía necesita una copia de reemplazo.
Acuse de recibo negativo (NAK)
Un acuse de recibo negativo es una respuesta que indica que los datos no se recibieron correctamente y que se necesita una transmisión de reemplazo.
Un diseño de parada y espera que solo trata errores de bits envía un NAK después de que su suma de comprobación detecte un paquete dañado.
Acuse de recibo selectivo (SACK)
El acuse de recibo selectivo es una opción TCP que informa de los bloques de bytes recibidos más allá de un hueco y complementa el límite del acuse de recibo acumulativo.
SACK puede mostrar que dos bloques posteriores ya están almacenados en búfer mientras un rango de bytes intermedio todavía necesita recuperación.
Algoritmo de Karn
El algoritmo de Karn excluye las mediciones ambiguas del RTT de datos retransmitidos, salvo que información como las marcas de tiempo identifique la transmisión.
Un ACK después de un reintento podría corresponder a la copia original, por lo que su momento de llegada por sí solo no puede proporcionar una nueva muestra.
Algoritmo de Nagle
El algoritmo de Nagle agrupa las escrituras pequeñas del emisor mientras hay datos anteriores sin confirmar o hasta que haya suficientes datos almacenados para formar un segmento completo.
Una secuencia de escrituras de un byte puede agruparse en lugar de enviar un segmento separado con mucha sobrecarga de cabecera para cada una.
Almacenamiento de datos fuera de orden
El almacenamiento de datos fuera de orden guarda los datos válidos recibidos más allá de un hueco hasta que llegan los datos anteriores que faltan y puede continuar la entrega ordenada.
Una vez que el paquete 4 llena el hueco, los paquetes 5 y 6 almacenados en búfer pueden entregarse sin otra transmisión.

B

Base de la ventana de envío
La base de la ventana de envío marca los datos más antiguos sin acuse de recibo al comienzo de una ventana de envío y limita hasta dónde pueden llegar las nuevas transmisiones.
En GBN, recibir ACK 19 desplaza la base a 20 y puede dejar espacio para paquetes adicionales.
Bloqueo de cabecera de cola
El bloqueo de cabecera de cola en un flujo TCP ocurre cuando los bytes anteriores que faltan retrasan la entrega de bytes posteriores que ya han llegado.
Un receptor puede retener datos de audio posteriores mientras TCP espera los bytes de reemplazo de un segmento anterior.

C

Capa de transporte
La capa de transporte proporciona comunicación lógica entre procesos de aplicación en distintos sistemas terminales, sobre el servicio de IP entre sistemas terminales.
Un navegador recibe sus propios bytes de respuesta mediante un socket mientras otra aplicación usa el mismo sistema terminal.
Comunicación lógica
La comunicación lógica permite que procesos del mismo nivel interactúen como si estuvieran conectados directamente, mientras las capas inferiores transportan sus datos por una red.
Dos aplicaciones en equipos distintos usan sockets sin gestionar cada encaminador y enlace del trayecto entre ellas.
Conexión dúplex completo
Una conexión dúplex completo permite que ambos extremos transmitan al mismo tiempo y mantiene una numeración de flujo independiente en cada sentido.
Un servidor puede enviar bytes de respuesta mientras el cliente sigue enviando datos adicionales por la misma conexión.
Control de flujo
El control de flujo limita los datos pendientes de un emisor según el espacio disponible en el búfer del receptor y protege a una aplicación que lee lentamente.
Un receptor con el búfer lleno puede anunciar una ventana cero incluso cuando el trayecto de red tiene capacidad disponible.
Cookie SYN
Una cookie SYN codifica información de conexión verificable en el ISN de un servidor para que el estado individual pueda reservarse después de un ACK final válido.
El servidor comprueba el acuse de recibo que regresa antes de reservar recursos para esa conexión concreta.
Cuádrupla
La cuádrupla de una conexión TCP es la combinación de su dirección IP de origen, puerto de origen, dirección IP de destino y puerto de destino.
Dos conexiones a un mismo servidor web siguen siendo distintas cuando sus clientes usan direcciones de origen diferentes.

D

Demultiplexación
La demultiplexación selecciona el socket de aplicación receptor de un segmento de transporte entrante mediante el protocolo y la información de los extremos.
El sistema terminal envía una respuesta DNS al socket que la solicitó en lugar de colocarla en el flujo de un navegador.
Desplazamiento de datos
El desplazamiento de datos TCP indica la longitud total de la cabecera TCP en palabras de 32 bits e identifica dónde comienza la carga útil de aplicación.
Un desplazamiento de datos de 6 da una cabecera de 24 bytes, que contiene cuatro bytes adicionales a la cabecera TCP fija.
Desviación del RTT (DevRTT)
DevRTT es una medida suavizada de cuánto difieren las muestras recientes de RTT de la estimación anterior, utilizada para establecer el margen del tiempo de espera.
Un retardo variable del trayecto aumenta el margen de desviación incluso cuando su RTT medio cambia muy poco.

E

Encapsulación
La encapsulación coloca la unidad de datos de una capa dentro de la unidad de otra, con una nueva cabecera que describe la información de entrega de esa capa.
IP encapsula un segmento de transporte añadiendo la cabecera IP que se usa para entregarlo al sistema terminal de destino.
Entrega de mejor esfuerzo
La entrega de mejor esfuerzo intenta transportar datos sin garantizar su llegada, orden, integridad, retardo ni un rendimiento mínimo.
TCP puede recuperar un segmento perdido aunque el servicio IP subyacente siga siendo de mejor esfuerzo.
Escalado de ventana
El escalado de ventana multiplica los campos de ventana TCP posteriores por una potencia de dos negociada durante el establecimiento, lo que permite ventanas de recepción superiores a 65 535 bytes.
Un desplazamiento de escala de 3 interpreta un valor de campo posterior de 12 000 como una ventana anunciada de 96 000 bytes.
Espacio de números de secuencia
Un espacio de números de secuencia es el conjunto finito de identificadores disponibles para paquetes o bytes, que se reutilizan cíclicamente cuando se supera su valor máximo.
Con números de paquete de tres bits, el número que sigue al 6 es 7 y el siguiente después de 7 es 0.
Espera exponencial
La espera exponencial duplica el tiempo de espera de retransmisión actual después de su vencimiento y aumenta la espera entre intentos fallidos repetidos.
Los vencimientos sucesivos pueden aumentar un intervalo de espera de 1 s a 2 s y después a 4 s.
Establecimiento de conexión en tres pasos
El establecimiento de conexión en tres pasos es el intercambio TCP de SYN, SYN-ACK y ACK para establecer el estado de los extremos y confirmar ambos números de secuencia iniciales.
El ACK final confirma el SYN del servidor y puede llevar al mismo tiempo los primeros datos de aplicación del cliente.

F

Flujo de bytes
Un flujo de bytes es una secuencia ordenada de bytes sin límites de mensaje de aplicación incorporados, como la que TCP entrega a su receptor.
Una lectura puede devolver bytes de varias escrituras anteriores, por lo que la aplicación comprueba su propia delimitación de mensajes.

I

Inundación de solicitudes SYN
Una inundación de solicitudes SYN es un ataque que envía muchas solicitudes de apertura de conexión sin completar sus intercambios de establecimiento, consumiendo recursos del servidor.
Una cola de solicitudes incompletas puede impedir que un servidor acepte conexiones de clientes legítimos.

L

Límite de mensaje
Un límite de mensaje separa un mensaje de aplicación de otro; UDP conserva estas divisiones, mientras que TCP transporta un flujo de bytes sin delimitación de mensajes.
Dos envíos UDP crean dos mensajes, por lo que el receptor no los combina en un solo mensaje UDP.

M

Máquina de estados finitos
Una máquina de estados finitos describe un sistema mediante un estado actual y transiciones desencadenadas por eventos que especifican las acciones que se deben realizar.
Un emisor que espera ACK 1 gestiona un ACK correspondiente de forma distinta a una respuesta que contiene un número incorrecto.
Muestra de RTT (SampleRTT)
SampleRTT es un intervalo medido desde el envío de datos hasta la recepción de un ACK que los cubre, siempre que la medición del tiempo no sea ambigua.
Sin marcas de tiempo, un ACK que cubre datos retransmitidos no puede revelar qué copia desencadenó la respuesta.
Multiplexación
La multiplexación reúne datos salientes de varios sockets de aplicación y añade información de transporte para que el tráfico pueda compartir la red.
Un sistema terminal envía tráfico del navegador y del correo por la misma interfaz con distinta información de puertos.

N

Número de acuse de recibo
Un número de acuse de recibo TCP identifica el siguiente byte esperado del otro extremo y confirma todos los bytes anteriores de la parte continua del flujo.
ACK 4001 confirma los bytes hasta el 4000 inclusive aunque el receptor también haya almacenado datos más allá de un hueco posterior.
Número de puerto
Un número de puerto es un identificador de transporte de 16 bits que ayuda a seleccionar un extremo de aplicación en un sistema terminal; TCP y UDP tienen espacios de puertos separados.
Un servicio DNS puede recibir consultas en el puerto UDP 53 y también escuchar conexiones TCP en el puerto 53.
Número de secuencia
El número de secuencia de un segmento de datos TCP identifica su primer byte de datos en el flujo de ese sentido, con aritmética módulo 2^32.
A un segmento de 700 bytes que empieza en 2001 le siguen datos nuevos que empiezan en 2701 cuando no interviene ningún indicador de control.
Número de secuencia inicial (ISN)
Un número de secuencia inicial es el número TCP de partida que selecciona un extremo y lleva en su SYN antes de que comiencen los datos de aplicación.
Cuando SYN usa 27 000, el primer byte de aplicación normalmente usa el número de secuencia 27 001.

O

Opción TCP
Una opción TCP es información de cabecera de longitud variable que amplía la cabecera fija, como MSS, escalado de ventana, marcas de tiempo o acuses de recibo selectivos.
Una opción de marca de tiempo hace más larga la cabecera y reduce el espacio de carga útil dentro de un datagrama IP de tamaño fijo.

P

Parada y espera
Parada y espera es un método de transferencia en el que el emisor mantiene un solo paquete de datos pendiente y espera su confirmación antes de avanzar.
Un tiempo de ida y vuelta largo puede dejar inactivo al emisor incluso cuando su enlace puede transmitir el paquete muy rápidamente.
Plazo límite de reproducción
Un plazo límite de reproducción es el momento en que una parte recibida de audio o vídeo debe estar disponible para su presentación programada.
Una parte de audio que falta y se recupera después de su momento de reproducción no puede llenar el hueco que quien escucha ya ha oído.
Principio de extremo a extremo
El principio de extremo a extremo sitúa las comprobaciones de una propiedad requerida en todo el trayecto en los extremos que pueden verificar si se cumple.
Una suma de comprobación de transporte sigue verificando los datos recibidos incluso cuando los enlaces individuales tienen sus propias comprobaciones de errores.
Producto ancho de banda-retardo
El producto ancho de banda-retardo es la tasa del enlace o trayecto multiplicada por el tiempo de ida y vuelta, y estima los datos en vuelo necesarios para mantener esa tasa.
Un trayecto de 100 Mbit/s con un RTT de 0,1 s necesita unos 10 millones de bits, o 1,25 MB, en vuelo para mantenerse ocupado.
Protección contra la reutilización cíclica de números de secuencia (PAWS)
La protección contra la reutilización cíclica de números de secuencia usa marcas de tiempo TCP para rechazar segmentos antiguos cuando los números de byte reutilizados por sí solos podrían parecer actuales.
Una conexión rápida puede recorrer sus números de byte de 32 bits antes de que haya desaparecido una copia antigua retrasada.
Protocolo de control de transmisión (TCP)
TCP es un protocolo de transporte orientado a la conexión que proporciona un flujo de bytes fiable, en orden y dúplex completo entre dos extremos de aplicación.
La aplicación recibe un flujo ordenado incluso cuando los datagramas IP llegaron en otro orden.
Protocolo de datagramas de usuario (UDP)
UDP es un protocolo de transporte sin conexión que transporta mensajes separados mediante entrega basada en puertos y un campo de suma de comprobación de internet.
Un cliente DNS puede enviar su consulta UDP inicial sin intercambiar primero mensajes de establecimiento de transporte.
Protocolo del bit alternante
El protocolo del bit alternante usa los números de secuencia 0 y 1 con parada y espera, acuses de recibo y un temporizador para gestionar errores y pérdidas.
Después de perderse un ACK, un número de paquete repetido permite al receptor evitar entregar los mismos datos dos veces.
Pseudocabecera
Una pseudocabecera es información de direccionamiento IP y del protocolo que se incluye en el cálculo de una suma de comprobación de transporte sin convertirse en una cabecera de transporte adicional.
La suma de comprobación UDP incluye información de direccionamiento de destino, además de la cabecera y los datos UDP.
Puerto efímero
Un puerto efímero es un puerto local temporal que el sistema operativo suele seleccionar para la comunicación de red de un cliente.
La solicitud del cliente usa el puerto de origen temporal 55120 y la respuesta usa ese valor como puerto de destino.

Q

QUIC
QUIC es un protocolo de transporte seguro sobre UDP que proporciona flujos fiables y control de congestión y transporta tráfico HTTP/3.
Una conexión web que usa HTTP/3 obtiene entrega fiable de QUIC aunque UDP por sí mismo no proporcione recuperación.

R

Reinicio de conexión (RST)
Un reinicio de conexión TCP es un segmento con RST activado que rechaza o aborta bruscamente una conexión en lugar de completar un intercambio FIN ordenado.
Un SYN enviado a un puerto TCP sin socket de escucha normalmente recibe un reinicio del sistema terminal de destino.
Repetición selectiva
La repetición selectiva es un protocolo de transferencia fiable con ACK individuales por paquete, temporizadores lógicos por paquete y almacenamiento en búfer de paquetes fuera de orden en el receptor.
Si solo vence el tiempo de espera del paquete 7, su emisor puede reemplazar el 7 sin reenviar los paquetes confirmados correctamente.
Retorno cíclico de los números de secuencia
El retorno cíclico de los números de secuencia reutiliza el número más bajo después del valor más alto de un espacio de secuencia finito, lo que requiere reglas de comparación cíclica.
Después de que TCP use los 2^32 valores de byte, los números se repiten aunque la conexión pueda seguir transportando datos.
Retransmisión rápida
La retransmisión rápida reenvía el segmento TCP que se sospecha que falta después de tres ACK duplicados en el algoritmo básico, sin esperar a que venza el tiempo de espera.
Los segmentos posteriores que llegan más allá de un hueco proporcionan respuestas que permiten al emisor actuar antes de que venza su temporizador.
Retroceso N
Retroceso N es un protocolo de transferencia fiable en cadena con ACK acumulativos, un temporizador para el paquete más antiguo y un receptor que solo acepta paquetes en orden.
Un paquete que falta provoca que las llegadas posteriores fuera de orden se descarten y después se reenvíen al vencer el tiempo de espera.
RTT estimado (EstimatedRTT)
EstimatedRTT es la estimación suavizada del tiempo de ida y vuelta de TCP, actualizada ponderando la estimación anterior y cada nueva medición válida.
Usar un peso de 1/8 para una nueva muestra hace que un ACK retrasado cambie la estimación menos que si la sustituyera por completo.

S

Segmento
Un segmento es una unidad de la capa de transporte que contiene una cabecera de transporte y datos de aplicación y se transporta dentro de un datagrama IP.
Un emisor TCP añade una cabecera a una parte de los bytes de un archivo antes de pasar el segmento a la capa IP.
Semicierre
Un semicierre termina un sentido de envío TCP con FIN mientras permite que los datos sigan fluyendo en el otro sentido de la conexión.
Un cliente puede terminar de enviar una solicitud y seguir recibiendo los bytes restantes de la respuesta del servidor.
Síndrome de la ventana tonta
El síndrome de la ventana tonta es una transferencia ineficiente en muchos segmentos TCP diminutos, a menudo favorecida por escrituras muy pequeñas o aumentos muy pequeños de la ventana anunciada.
Anunciar unos pocos bytes recién liberados cada vez puede hacer que la sobrecarga de cabecera predomine sobre los datos útiles.
Socket
Un socket es una interfaz de extremo mediante la cual un proceso de aplicación envía datos a una red y los recibe de ella.
Un servidor TCP mantiene un socket de escucha mientras los clientes aceptados se comunican mediante sockets de conexión.
Solicitud de repetición automática (ARQ)
La solicitud de repetición automática es una forma de recuperación para la transferencia fiable que combina detección de errores, respuestas del receptor y transmisiones de reemplazo.
Después de que un NAK informe de un daño, el emisor usa su copia almacenada del paquete para realizar otra transmisión.
Sonda de ventana cero
Una sonda de ventana cero es una pequeña transmisión del emisor que provoca que el receptor envíe su ventana actual mientras el envío ordinario de datos nuevos está detenido.
El sondeo permite al emisor descubrir el espacio reabierto si se perdió la actualización de ventana anterior del receptor.
Suma de comprobación de internet
La suma de comprobación de internet es el complemento bit a bit de una suma en complemento a uno de palabras de 16 bits con acarreo circular, utilizada para detectar errores de transmisión.
Un sistema terminal receptor incluye la suma de comprobación en la suma con acarreo circular y comprueba si el resultado está formado solo por unos.

T

Tamaño máximo de segmento (MSS)
El tamaño máximo de segmento es la mayor carga útil de datos de aplicación anunciada para segmentos TCP, sin incluir las cabeceras de transporte y de red.
Un datagrama IPv4 de 1500 bytes con dos cabeceras de 20 bytes deja 1460 bytes para datos de aplicación.
Tiempo de espera de retransmisión
Un tiempo de espera de retransmisión es un intervalo de espera cuyo vencimiento desencadena otra transmisión cuando no ha llegado la confirmación esperada.
Un paquete de datos perdido no produce ninguna respuesta, pero el vencimiento del tiempo de espera sigue dando al emisor un motivo para reintentar.
Tiempo de vida máximo de un segmento (MSL)
El tiempo de vida máximo de un segmento es un límite superior usado para razonar sobre cuánto tiempo puede permanecer un segmento TCP en la red antes de caducar.
TIME_WAIT usa el doble del MSL para permitir que caduque el tráfico antiguo de la conexión y que se repita el ACK final.
TIME_WAIT
TIME_WAIT es un estado de cierre TCP que conserva información de la conexión para repetir el ACK final y permitir que caduquen los segmentos antiguos.
Si se pierde el ACK final, el extremo que cerró primero todavía puede responder a un FIN retransmitido por el otro extremo.
Transferencia fiable de datos
La transferencia fiable de datos entrega datos de aplicación correctos en orden, sin pérdidas ni duplicados, mediante recuperación sobre un canal no fiable.
Un paquete de reemplazo repara una transmisión fallida sin crear una segunda copia en los datos entregados.
Transmisión en cadena
La transmisión en cadena permite que varios paquetes de datos permanezcan sin confirmar a la vez y usa el enlace mientras los paquetes anteriores esperan una respuesta.
Un emisor puede enviar un segundo paquete antes de que el ACK del primero complete su viaje de ida y vuelta.

U

Utilización del emisor
La utilización del emisor es la fracción del tiempo transcurrido durante la cual un emisor está transmitiendo activamente bits de paquetes a su enlace de salida.
Una utilización de 0,1 significa que el emisor transmite durante una décima parte del tiempo medido y espera durante el resto.

V

Vencimiento prematuro del tiempo de espera
Un vencimiento prematuro del tiempo de espera ocurre cuando un emisor reintenta antes de que la confirmación de una transmisión original correcta haya tenido tiempo de regresar.
El receptor descarta los datos de la copia de reemplazo innecesaria, pero vuelve a confirmarla para que el emisor siga avanzando.
Ventana de recepción
Una ventana de recepción en repetición selectiva es el rango de números de secuencia aceptables en ese momento para datos nuevos, que comienza en la base de entrega.
Un paquete situado más allá de un hueco puede aceptarse si su número está dentro de la ventana de recepción SR actual.
Ventana de recepción
La ventana de recepción es la capacidad anunciada por el receptor para los datos TCP pendientes, que cambia a medida que llegan datos almacenados y la aplicación lee.
Si el anuncio es de 10 000 bytes y ya hay 4000 pendientes, solo caben 6000 más.
Ventana deslizante
Una ventana deslizante es un rango móvil de números de secuencia que limita qué paquetes pueden estar pendientes o ser aceptables en un momento dado.
Un ACK de GBN que hace avanzar la ventana libera una posición en el extremo derecho para enviar otro paquete nuevo.

Sobre esta unidad

Por StudeliInformar de un error

Crea tus propios Materiales de Estudio

Convierte tus notas, diapositivas y documentos en Guías de Estudio, Preguntas de Práctica, Flashcards y 6 herramientas más.

Comenzar