Análisis PCAP de fragmentación y agujero negro de MTU: búsqueda de fallas de PMTUD, problemas de MSS y TCP bloqueado
Cómo diagnosticar agujeros negros de MTU, fallas en el descubrimiento de rutas de MTU, discrepancias de TCP MSS, fragmentación, mensajes ICMP bloqueados, túneles VPN y conexiones detenidas en capturas de paquetes.
Los problemas de MTU crean algunas de las fallas de red más confusas. Las pequeñas solicitudes funcionan. Los pings pueden funcionar. El DNS puede funcionar. TCP se conecta. TLS puede comenzar. Luego, las respuestas grandes se estancan, las cargas se bloquean, los sitios web se cargan parcialmente, el tráfico VPN se interrumpe o las transmisiones RTSP/HTTP fallan con una tasa de bits más alta. Los usuarios buscan "pcap de agujero negro de MTU", "fallo de descubrimiento de MTU de ruta", "problema de TCP MSS", "captura de paquetes de fragmentación" y "VPN de bloqueo de paquetes grandes" porque la conexión no está simplemente activa o inactiva.
Una captura de paquetes puede mostrar si se envían, fragmentan, descartan, retransmiten o bloquean paquetes grandes debido a la falta de retroalimentación ICMP. Pero el seguimiento debe interpretarse con cuidado porque el punto de captura, la descarga y la sobrecarga del túnel pueden distorsionar los tamaños de paquetes visibles.
La cirugía PCAP es útil aquí porque las investigaciones de MTU a menudo necesitan seguimientos específicos: una conversación TCP, sincronización original, mensajes ICMP, retransmisiones, negociación MSS y suficientes paquetes antes y después de la parada.
¿Qué significa MTU?
MTU es la unidad de transmisión máxima en un enlace. Ethernet suele utilizar 1500 bytes. Las VPN, PPPoE, túneles, superposiciones y redes en la nube pueden reducir la MTU de ruta efectiva porque agregan encabezados.
Si un remitente transmite paquetes más grandes de lo que puede transportar una ruta, debe suceder una de dos cosas:
- Los paquetes se fragmentan donde está permitido.
- Los paquetes se descartan y el remitente debe aprender una MTU de ruta más pequeña.
Path MTU Discovery se basa en mensajes ICMP para informar que un paquete era demasiado grande. Si esos mensajes ICMP se bloquean, el remitente puede seguir enviando paquetes que desaparecen. Ese es el clásico agujero negro MTU.
Síntomas del agujero negro MTU
Los síntomas comunes incluyen:
- La conexión TCP se abre pero la transferencia grande se detiene.
- El protocolo de enlace HTTPS se detiene después de ClientHello o ServerHello.
- La página de inicio de sesión se carga pero falla la carga del archivo.
- La VPN se conecta pero algunos sitios no se cargan.
- SSH funciona hasta que aparece un resultado grande.
- Las llamadas API con cargas útiles pequeñas funcionan, las cargas útiles grandes fallan.
- El control RTSP funciona pero los medios o los paquetes grandes intercalados se comportan mal.
- Las retransmisiones se repiten con tamaños de paquetes similares.
El patrón clave es la sensibilidad al tamaño. Pasan paquetes pequeños. Los paquetes más grandes fallan.
Negociación MSS
El tamaño máximo del segmento TCP se negocia durante el intercambio SYN:
Client -> Server: SYN, MSS 1460
Server -> Client: SYN-ACK, MSS 1460
ICMP fragmentation needed
If the capture shows:
then Path MTU Discovery is working.
If the capture shows:
then an MTU black hole is plausible.
Fragmentation evidence
In a pcap, look for:
TLS handshake stalls and MTU
VPN and tunnel overhead
Capture point and offload
To avoid mistakes:
Checklist for MTU black hole PCAP analysis
Use this process:
Final diagnosis
<!-- pcap-localized-evidence-foundation-v1:start -->Respuesta basada en paquetes para «Análisis PCAP de fragmentación y agujero negro de MTU: búsqueda de fallas de PMTUD, problemas de MSS y TCP bloqueado»
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 fragmentación y agujero negro de MTU: búsqueda de fallas de PMTUD, problemas de MSS y TCP bloqueado», 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 fragmentación y agujero negro de MTU: búsqueda de fallas de PMTUD, problemas de MSS y TCP bloqueado», 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.
<!-- pcap-localized-flow-verdicts-v1:end -->