Análisis PCAP de pérdida de paquetes: retransmisiones, ACK duplicados y dónde desaparecieron los paquetes

Cómo utilizar capturas de paquetes para diagnosticar pérdida de paquetes, retransmisiones TCP, ACK duplicados, sesgo del punto de captura y si la pérdida ocurrió en la red o el host.

La pérdida de paquetes es uno de los temas de solución de problemas de red más buscados porque los síntomas son amplios: "descargas lentas, videos congelados, cargas fallidas, mala calidad de VoIP, transmisiones RTSP interrumpidas, retransmisiones TCP, retrasos en los juegos, inestabilidad de VPN y tiempos de espera HTTP. Los usuarios buscan "análisis de pcap de pérdida de paquetes", "significado de retransmisión TCP", "ACK Wireshark duplicado" y "cómo encontrar pérdida de paquetes en pcap" porque necesitan pruebas, no conjeturas."

La captura de un paquete puede resultar muy útil, pero sólo si se interpreta con cuidado. Una retransmisión en una captura no prueba automáticamente que la red haya descartado un paquete. Puede probar que el punto de captura no vio un paquete, que el remitente retransmitió porque no recibió un ACK o que el receptor vio datos desordenados.

La cirugía PCAP es útil en este flujo de trabajo porque las investigaciones de pérdida de paquetes a menudo requieren recortar una captura grande a una conversación, preservar marcas de tiempo, comparar puntos de captura y mantener intacta la evidencia de números de secuencia.

Cómo se ve la pérdida de paquetes en TCP

TCP intenta recuperarse de la pérdida. En capturas de paquetes, esto puede aparecer como:

  • Retransmissions
  • Retransmisiones rápidas
  • ACK duplicados
  • Paquetes desordenados
  • Bloques ACK selectivos
  • Brechas en números de secuencia
  • Grandes retrasos antes de que se reanuden los datos
  • Rendimiento reducido después de la pérdida

La captura puede etiquetar un paquete como retransmisión, pero la etiqueta es una interpretación. La evidencia subyacente son los números de secuencia, los reconocimientos, el momento y la dirección.

ACK duplicados

Un ACK duplicado significa que el receptor está reconociendo el mismo número de secuencia nuevamente. Esto suele ocurrir porque recibió datos más allá de un segmento faltante y todavía está esperando los bytes faltantes.

Ejemplo:

Sender -> Receiver: Seq 1000 Len 1000
Sender -> Receiver: Seq 2000 Len 1000
Sender -> Receiver: Seq 3000 Len 1000
Receiver -> Sender: ACK 2000
Receiver -> Sender: ACK 2000
Receiver -> Sender: ACK 2000
Sender -> Receiver: Retransmit Seq 2000 Len 1000

Retransmission timeout

When investigating, measure:

Capture point bias

Example:

Capture loss vs network loss

Signs of capture loss include:

TCP SACK evidence

Out-of-order is not always loss

When analyzing:

UDP packet loss

Checklist for packet loss PCAP analysis

Use this process:

Why edited capture files need care

Final diagnosis

<!-- pcap-localized-evidence-foundation-v1:start -->

Respuesta basada en paquetes para «Análisis PCAP de pérdida de paquetes: retransmisiones, ACK duplicados y dónde desaparecieron los paquetes»

La respuesta directa es que una etiqueta del analizador o un mensaje de la aplicación no determina la causa. Empieza por punto de captura y dirección; demuestra la última frontera correcta y la primera fallida. En «Análisis PCAP de pérdida de paquetes: retransmisiones, ACK duplicados y dónde desaparecieron los paquetes», otro revisor debe poder encontrar el packet, hueco o intervalo que sostiene cada frase y saber qué evidencia podría refutarla.

Situar la captura en el camino

Registra client, server y cualquier proxy, load balancer, NAT o firewall. Indica interface, lugar, reloj, sistema y direcciones visibles. Una captura junto al client demuestra lo que llegó allí, no que el server no enviara. Una junto al server demuestra salida en ese punto, no tránsito completo. Antes de comparar dos puntos corrige clock offset y alinea flow tuple, TCP sequence o transaction ID.

Comprueba calidad: snap length, dropped packets, offload, capture filter, ring buffer y hora inicial. Un checksum incorrecto en host puede ser offload artifact. Un segmento grande puede provenir de GRO/TSO y no existir así en el cable. Un packet ausente en un archivo limitado no es network loss hasta demostrar que el punto debía verlo.

Leer fronteras en orden

Frontera Evidencia correcta Evidencia de fallo
Link e IP dirección, addresses y ruta coherentes ARP/NDP ausente, ICMP, MTU, asimetría
TCP SYN, SYN-ACK, ACK y sequence retransmission, RST, zero window, timeout
TLS ClientHello, ServerHello y progreso alert o límite SNI/ALPN/certificate
Aplicación request completo y response relacionado status, gap o cierre temprano
Usuario response time o failure window stall ligado a una frontera

Detente en la primera frontera sin éxito. Si TCP no termina, no empieces por HTTP. Si request llega al proxy pero no al upstream, el límite está en proxy o su camino. Si llega al upstream sin response antes del timeout, usa ACK y progreso de bytes para separar application delay de network loss.

Separar observación e hipótesis

La observación se puede señalar: «Client envió hasta cierta sequence; sender repitió un segmento tres veces y no apareció ACK avanzado en este punto». La hipótesis es «el camino perdió el segmento». Otra captura o dropped records pueden refutarla. Para cada hipótesis escribe una prueba favorable y una contraria.

Retransmission o duplicate ACK no asigna culpable. Reordering, loss, capture artifact y receiver delay producen marcas similares. Relaciona dirección, sequence, ACK, SACK, RTT, window y tiempo de aplicación. En DNS o DHCP enlaza transaction ID, addresses e intentos; en HTTP, request y response; en TLS, dirección del handshake.

Preservar el original

Calcula checksum y conserva el original sin cambios. Filtra, recorta y redacta una working copy. Registra input, transformación, hora, packet count antes/después, checksum y motivo. Tras reescribir timestamps o eliminar packets, esa copia pierde capacidad para algunas conclusiones de tiempo o secuencia.

Sustituye addresses e identificadores de forma constante para seguir el mismo endpoint. No elimines ports, directions o lengths necesarios. Guarda aparte el mapa secreto. Revisa límites de captura y exportación y el flujo general de PCAP Surgery.

QA antes de publicar

¿Título y respuesta tratan el mismo flow? ¿Cada duración nombra reloj y puntos? ¿Está identificada la primera frontera fallida? ¿Existe explicación alternativa? ¿Se repite cambiando una variable? ¿Se conserva el original? Declara el límite: «Esta captura demuestra comportamiento junto al client durante este intervalo; no demuestra la ejecución interna del server».

Semrush no se distribuye por plantilla. El término validado PCAP analyzer pertenece solo a la página del producto; este artículo conserva su pregunta técnica y no inventa volumen ni KD.

<!-- pcap-localized-evidence-foundation-v1:end --><!-- pcap-localized-flow-verdicts-v1:start -->

Libro de flow y prueba de descarte

Para «Análisis PCAP de pérdida de paquetes: retransmisiones, ACK duplicados y dónde desaparecieron los paquetes», crea una fila por dirección: endpoints con alias, primer/último packet, bytes enviados y reconocidos, resets, retransmissions, requests y responses. No mezcles conexiones por compartir hostname; source port, inicio e initial sequence separan sessions. Con NAT o proxy documenta la relación de flows sin esperar iguales sequence o ports.

Calcular TCP, no contar etiquetas

Sigue next expected sequence del receiver. El payload mueve sequence por su longitud; SYN y FIN consumen un número. Duplicate ACK estable tras segmentos superiores apoya loss o reordering. SACK blocks muestran ranges recibidos, no dónde se perdieron. Si retransmission aparece junto al sender y no junto al receiver, prueba el tramo; si falta el segmento original en sender capture, revisa capture loss u offload.

Separa fast retransmit tras duplicate ACKs de RTO tras silencio. Compara RTT previo, advertised window, zero-window probes, burst y tamaño. No cada label es pérdida independiente: overlap, spurious retransmission o captura iniciada a mitad cambian la clasificación.

Medir tiempo con fronteras

Usa request first byte, request complete, response first byte y response complete. TTFB no equivale a tiempo de server sin punto y transporte. Retransmission antes de response añade posible network delay; request reconocido y silencio largo apoya application wait. Indica valor, unidad, clock y punto.

Con dos puntos alinea un packet distintivo en ambas direcciones, estima offset y usa intervals internos. Si clock es incierto, da un range. Compara ventanas correctas y fallidas de duración y carga similares.

Preguntas por protocolo

DNS: ¿ID, nombre y tipo coinciden, y retry cambia resolver o source port? DHCP: ¿Discover, Offer, Request y ACK pertenecen al mismo client identifier? TLS: ¿último handshake message por dirección y alert visible o cifrado? HTTP: ¿quién genera 4xx/5xx y existe upstream flow? TCP close: ¿quién envía FIN/RST y qué bytes quedan sin ACK?

Prueba decisiva y entrega

Elige dos hipótesis y una prueba que las separe. Captura al otro extremo separa network loss de measurement loss; desactivar offload en test comprueba artifact; request idéntico por path fijo prueba intermittency; log upstream contra packet boundary prueba application delay. Escribe resultados esperados antes.

Acepta cuando otro reviewer repite el cálculo con metadata, encuentra la misma frontera y entiende límites. Entrega original/derived checksum, filter, packet ranges y pasos de trim/redaction. Termina con owner, acción y condición medible.

Revisión de reproducción

Abre una connection nueva y repite tres veces con iguales entradas y filtros. Ports e initial sequence pueden cambiar, pero frontera, dirección y patrón deben repetirse. Informa éxitos y fallos. Una corrección cambia una variable y debe producir el cambio de packets previsto, no solo ocultar el mensaje.

Abre la copia derivada en otro equipo. El reviewer encuentra alias, clock, capture point, último éxito, primer fallo y alternativa. Busca hostname, query, header o payload sensible tras redaction, conservando lengths y directions necesarios. Enumera lo no probado: otra dirección, IPv6, reconnect o carga.

Cierra como demostrado dentro del alcance, todavía reproducible o pendiente por una captura concreta. No escribas «red arreglada» tras probar un solo flow.

Control contrario y grado de confianza

Antes de cerrar «{{TITLE}}», escribe una predicción contraria. Si el network path causa el fallo, ¿qué debe verse en ambos puntos al mover la captura? Si es server delay, ¿quedan reconocidos los request bytes sin response? Anotar resultados antes evita reinterpretar después.

Relaciona confianza con evidencia. «Alta» requiere repetición y dos puntos o prueba independiente; «media», una captura completa con alternativa pendiente; «baja», solo label o timing aproximado. La confianza no convierte hypothesis en fact, pero define la siguiente acción.

En fallos lentos o intermitentes, mide más que el intervalo normal. Compara tasas: retransmissions por megabyte, fallos por connection y percentiles de latency con carga similar. Registra idle, reconnect, DNS cache y TLS session reuse, porque cambian la segunda ejecución.

Entrega una tabla de flow, timeline de cinco eventos, primera diferencia, prueba de descarte, resultado de la corrección y alcance no probado. Packet numbers apuntan a la copia derivada y un mapa temporal vuelve al original. El receptor debe repetir el veredicto sin secrets ni la sesión del autor.

<!-- pcap-localized-flow-verdicts-v1:end -->