¿Cómo puede ser real este tiempo de ping de una hora?


15

Recientemente pasé el feriado bancario de Pascua con mis padres, que viven en una zona muy rural en el Reino Unido. Tienen una conexión a Internet ADSL (terrible), que se ejecuta en varios kilómetros de cobre poco fiable y se interrumpe periódicamente cuando los agricultores cercanos invierten sus tractores en las líneas telefónicas.

Me di cuenta de que su enrutador soltaba repetidamente el pptpapretón de manos y lo renegociaba, interrumpiendo la conexión de manera efectiva. Esto fue frustrante. Entonces, en un intento por evitar volverme loco, le dije que duplicara el margen mínimo aceptable de SNR y el apretón de manos para velocidades más bajas:

$ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
U.S. Robotics Wireless MAXg ADSL Gateway
Login: ***********
Password: 
> sh


BusyBox v1.00 (2006.02.17-20:30+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.

# adsl configure --snr 200; exit 
Connection closed by foreign host.

Esto mejoró las cosas, y la cosa consiguió una tubería (algo) estable, aunque increíblemente lenta, hacia el mundo exterior:

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
64 bytes from 8.8.8.8: icmp_seq=0 ttl=55 time=3236.679 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=55 time=3699.541 ms
...

Aproximadamente en este punto, la vida real intervino y luego pasé varias horas jugando con gatos, mirando gifs de gatos en mi teléfono, en realidad hablando con mi familia , etc. Olvidé que había dejado este proceso de ping en funcionamiento y volví sobre Un día después para golpear ctrl-c.

Las estadísticas resumidas mostradas me conmovieron:

--- 8.8.8.8 ping statistics ---
103074 packets transmitted, 100564 packets received, 2.4% packet loss
round-trip min/avg/max/stddev = 32.986/3034.479/3600577.732/87527.276 ms

Como puede ver, el tiempo de respuesta máximo registrado para un paquete ICMP que realiza un pequeño salto transatlántico al servidor DNS de Google es 3600577.732 ms . Eso es casi exactamente una hora , y ciertamente mucho más tiempo que el tiempo de pingespera predeterminado.

¿Cómo puede ser esto? ¿ Es exacto? ¿Qué enrutador retendrá felizmente un paquete durante sesenta minutos antes de enviarlo en su camino? ¿Por qué no se dejó caer este paquete? ¿Es el resultado de un desbordamiento del contador de paquetes de 8 bits combinado con grandes latencias?

Finalmente, me interesaría saber si hay algún código de conducta en el Reino Unido que indique que se espera que las conexiones ADSL de los consumidores tengan menos latencia y una mejor gestión del tráfico que las RFC 1149 y RFC 2549 ;-).


1
un enrutador que no está sobrecargado con spam.
monstruo de trinquete

Un enrutador codicioso;) Solo tengo que jugar esto cuando note que planea esperar una hora antes de reenviar el paquete. youtube.com/watch?v=moSFlvxnbgk
Cestarian

1
¿Es posible que, dado que dijiste que lo dejaste toda la noche, tu computadora aplicó la +1 hora al comienzo del horario de verano y eso se equivocó con el cálculo del RTT de un paquete en particular?
kenkh

@kenkh - No; Definitivamente estoy seguro de que el día que cambiaron los relojes no fue ese. Además, mirando el ping código fuente (de ~ l 761) puedo ver que las zonas horarias se ignoran en el cálculo posterior ( gettimeofday(nv, NULL)devuelve microsegundos de época). ¡Realmente tomó una hora!
Landak

si tiene acceso al sistema, ¿podría ejecutar una ruta en él? Mostraría aproximadamente dónde está la desaceleración
Journeyman Geek

Respuestas:


4

El paquete ICMP y la respuesta para el ping tienen una longitud de 32 bytes, por lo que parece que para un ping de una hora cada byte tardaba casi un minuto en transmitirse.

Esto solo se explica por un recuento de reintentos de error muy generoso (¿estás haciendo?), Junto con un enrutador muy lento y una espera o reintentos dolorosos para cada byte transmitido.

El Protocolo de Internet (IP) transmite datos por datagramas e intenta no enviar los parciales. Una vez que se inicia la transmisión, esperará por defecto 200 milisegundos para que se agreguen más bytes al datagrama. Pasado ese tiempo, el software / firmware enviará lo que tenga como un datagrama. En el caso del tiempo de ping de una hora, la carga útil del paquete puede haber sido tan pequeña como un byte. Mientras los datos aún estuvieran llegando, la conexión no será terminada por las dos partes participantes.

Lo que puedes hacer :

  • Si otros teléfonos, fax u otros dispositivos están conectados a la misma línea telefónica, verifique si están protegidos por filtros DSL . Asegúrese de no poner un filtro en la línea que va a su módem DSL.
  • Pruebe con otro enrutador: una vez que tenga un dispositivo defectuoso, no hay absolutamente nada que pueda hacer al respecto, excepto tirarlo y obtener algo mejor.
  • Si no hay otro enrutador disponible, comuníquese con su ISP; pueden ejecutar pruebas útiles desde su lado.
  • Si el ISP no encuentra nada, intente exigir de todos modos un enrutador / módem de reemplazo.
  • Si ocurre el mismo problema con otro enrutador, póngase en contacto con la compañía telefónica.

Puede ser bastante complicado localizar un conmutador problemático, como puede ser con la compañía telefónica, pero el ISP también puede tener sus propios conmutadores. Normalmente, un problema con un interruptor es de área amplia, lo que ayuda a localizar el interruptor que funciona mal. Pero en una zona rural donde no hay demasiados suscriptores que usan ese interruptor, esto podría pasar desapercibido. Si algunos vecinos usan el mismo ISP, intente averiguar cómo es su conexión.


Daría la vuelta 2 y 3. Es mucho más fácil llamar al ISP primero. Pueden hacer una prueba. Si ven problemas, enviarán un nuevo módem (no necesariamente un enrutador). Si un nuevo módem no resuelve el problema, el ISP debe comunicarse con la compañía telefónica. Así es como funciona aquí, pero puede ser diferente en el Reino Unido.
SPRBRN

Quise decir que uno debería ejecutar tantos puntos arriba en paralelo como sea posible. En mi caso, mi ISP podría decidir enviar a un técnico, pero si el problema es tan trivial como los filtros DSL no utilizados, puede decidir cobrar una tarifa.
harrymc

Ugh Los comentarios se refieren a números en una lista numerada. Luego, el póster de la respuesta editó la respuesta para eliminar los números, haciendo que los comentarios parecieran fuera de lugar. Tsk tsk.
TOOGAM

1
200 ms : está integrado en el software de Windows / Linux. Lo encontré al analizar por qué el producto de mi empresa tenía un rendimiento TCP / IP demasiado bajo en datagramas pequeños, luego encontré las llamadas del sistema que "se envían inmediatamente" en el socket. Carga útil del paquete : esto no se negocia, más bien un datagrama TCP / IP demasiado grande se cortará en partes cuando encuentre una vía donde la MTU es demasiado pequeña. Módem DSL : es posible que los parámetros cambiantes compensen de alguna manera la mala línea / conmutador telefónico, pero debería repararse en lugar de compensarse.
harrymc

1
Otro ajuste: deshabilite ADSL2 + y quédese con ADSL1 para mayor estabilidad. Cualquiera que sea el enrutador que compre, asegúrese de que puede ajustar los márgenes de SNR correctamente (alguna información aquí ). Mil millones de enrutadores son buenos, al igual que Netgear (prefiero los modelos que admiten DD-WRT con una instalación simple). Este artículo puede darle más ideas y echar un vistazo al diagrama de distancia / velocidad.
harrymc

0

Veo este caso muy relacionado con la gestión de la congestión de datos, aunque uno muy mal gestionado por el motivo que sea. Según tengo entendido, hay un búfer de paquetes a lo largo del sistema de transmisión, administrado con moderación, lo que causa esta anomalía en los paquetes de solicitud / respuesta de eco ICMP.

Por lo tanto, la combinación de tener una política de gestión de congestión incorrecta con una sesión de ping abierta durante horas puede resultar en un escenario tan extraño.

Más información sobre el manejo de la congestión aquí .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.