Una conexión lenta y retrasada puede indicar que estoy perdiendo paquetes en la transmisión. Si bien es aceptable un cierto nivel de pérdida de paquetes en algunos escenarios, puede degradar seriamente mi experiencia como usuario en otros, especialmente cuando se transmiten medios. Además, mi sistema puede descartar paquetes por completo para compensar la latencia y es posible que se pierdan datos en el proceso.
Aquí te explico cómo determinar si se trata de paquetes caídos o perdidos con Wireshark para que puedas diagnosticar el problema de inmediato.
¿Paquetes perdidos? Vamos a conseguirlos
Cuando te quejas de la lentitud del servicio o de la mala transmisión de datos, es lógico suponer que la culpa es de la pérdida de paquetes. No todos los paquetes perdidos se descartan, pero una alta tasa de descarte aún puede indicar una serie de problemas. Vamos a ver cómo verificar si dejaste caer paquetes en Wireshark.
- Abro la aplicación de escritorio Wireshark.
- Asegúrate de estar en modo de captura.
- Busca la barra de estado en la parte inferior de la ventana.
Verás algunas estadísticas sobre los paquetes capturados aquí. El número junto a “Dropped” indicará si se descartaron paquetes. En algunas versiones, el contador “Dropped” solo aparecerá si Wireshark no ha capturado todos los paquetes.
Si estás seguro de que se han descartado algunos paquetes, pero la barra de estado no ayuda, puedes encontrar las estadísticas de tus paquetes descartados de esta manera:
- Haz clic en “Estadísticas” en la barra de menú.
- Selecciona “Propiedades del archivo de captura”. Una nueva ventana se abrirá.
- En “Interfaces”, verás “Paquetes descartados”. El número debajo te indicará cuántos paquetes no fueron capturados.
Incluso si Wireshark no captura todos los paquetes, eso no significa que no se hayan transmitido. Es posible que el programa simplemente no pueda mantenerse al día con un flujo rápido. Sin embargo, aún puedes reconocer paquetes que no fueron capturados con un paquete ACK, ya que son paquetes más pequeños y más fáciles de capturar. Por lo tanto, a menudo puedes identificar los paquetes descartados buscando los ACK en la columna de información. El ACK te dice que los datos se transmitieron con éxito a pesar del paquete faltante.
Investigación de paquetes perdidos
Los paquetes no capturados no son lo mismo que los paquetes perdidos. Si bien los paquetes que Wireshark no ha capturado aún pueden llegar a su destino, los paquetes perdidos no lo hacen. En cambio, generalmente se retransmiten y descartan solo en el peor de los casos. Para investigar los paquetes perdidos en un segmento TCP, deberás observar más de cerca la columna de información en la pantalla de captura.
- Elige una conversación que quieras investigar y aplícala como filtro. Esto no es obligatorio, pero te ayudará a obtener una mejor visión general.
- Selecciona cualquiera de los paquetes.
- Haz clic en “Protocolo de Internet versión 4” en la sección Detalles.
- Busca el número de ID y haz clic derecho sobre él y presiona “Aplicar como columna”.
Ahora, podrás ver el número de identificación secuencial de cada transmisión. Examina los números para encontrar cualquier discrepancia. Recuerda que en TCP, los paquetes perdidos se pueden retransmitir más tarde, por lo que incluso si falta una transmisión en su lugar, aún puede estar allí. Puedes buscarlo usando tu número de identificación.
Cada vez que un paquete no se transfiere, verás un mensaje “Segmento anterior no capturado” en la columna Información de la siguiente línea. También puedes buscar paquetes perdidos en todas las conversaciones filtrándolos para este mensaje de error. Escribe “tcp.analysis.lost_segment” en la barra de filtro y presiona Entrar. También puedes combinar esto con la dirección IP o los filtros de conversación escribiendo “y” entre los dos filtros para obtener un resultado más preciso. Una vez más, puedes buscar paquetes perdidos después de determinar sus números de identificación.
Como mencioné, TCP permite que los segmentos perdidos se retransmitan más tarde. Puedes usar el filtro “tcp.analysis.retransmission” para encontrar sus retransmisiones. La búsqueda de paquetes retransmitidos a veces puede ser más productiva que la búsqueda de segmentos perdidos, ya que los segmentos perdidos pueden incluir más de un paquete, mientras que las retransmisiones son paquetes individuales.
Seguimiento de paquetes perdidos con Wireshark
Determinar si Wireshark perdió o descartó un paquete no siempre es sencillo. Por lo general, no es suficiente mirar solo una métrica, sino que debes considerar varios factores. Los paquetes descartados generalmente llegan a su destino ilesos, mientras que demasiados paquetes perdidos pueden conducir a una experiencia de usuario deficiente.