Come diavolo può essere reale questo tempo di ping riferito di un'ora?


15

Di recente ho trascorso le vacanze di Pasqua con i miei genitori, che vivono in una zona molto rurale del Regno Unito. Hanno una (terribile) connessione Internet ADSL, che viene eseguita su diversi chilometri di rame instabile e viene periodicamente interrotta quando gli agricoltori vicini invertono i loro trattori nelle linee telefoniche.

Ho notato che il loro router stava facendo cadere ripetutamente l' pptphandshake, rinegoziandolo, uccidendo la connessione in modo efficace. Questo è stato frustrante. Quindi, nel tentativo di evitare di impazzire, gli ho detto di raddoppiare il margine SNR minimo accettabile e la stretta di mano per le velocità più basse:

$ 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.

Ciò ha migliorato le cose e la cosa ha ottenuto un tubo (un po ') stabile, anche se incredibilmente lento, verso il mondo esterno:

$ 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
...

A questo punto, la vita reale è intervenuta e ho trascorso diverse ore a giocare con i gatti, guardando le gif di gatto sul mio telefono, in realtà parlando con la mia famiglia , ecc. Ho dimenticato che avevo lasciato questo processo di ping in esecuzione, e sono tornato indietro un giorno dopo per colpire ctrl-c.

Le statistiche riassuntive mostrate mi hanno paventato:

--- 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

Come puoi vedere, il tempo di risposta massimo registrato per un pacchetto ICMP che fa un salto transatlantico breve sul server DNS di Google è di 3600577,732 ms . È quasi un'ora esatta , e sicuramente molto più lunga pingdel timeout predefinito.

Come diavolo può essere? È preciso? Quale router rimarrà felicemente su un pacchetto per sessanta minuti prima di inviarlo sulla sua strada? Perché questo pacchetto non è stato eliminato? È il risultato di un overflow dal contatore di pacchetti a 8 bit combinato con latenze elevate?

Infine, sarei interessato a sapere se esiste un codice di condotta nel Regno Unito che afferma che le connessioni ADSL dei consumatori dovrebbero avere una latenza inferiore e una migliore gestione del traffico rispetto a quella di RFC 1149 e RFC 2549 ;-).


1
un router che non è sovraccaricato di spam.
maniaco del cricchetto

Un router avido;) Devo solo giocare quando noti che sta pianificando di aspettare un'ora prima di inoltrare il pacchetto. youtube.com/watch?v=moSFlvxnbgk
Cestarian

1
È possibile che, dal momento che hai detto che l'hai lasciato durante la notte, il tuo computer ha applicato l'ora +1 all'inizio dell'ora legale e che ha incasinato il calcolo dell'RTT di un determinato pacchetto?
Kenkh,

@kenkh - No; Sono sicuro che il giorno in cui sono cambiati gli orologi non è stato quello. Inoltre, guardando il ping codice sorgente (da ~ l 761) posso vedere che i fusi orari vengono ignorati nel calcolo successivo ( gettimeofday(nv, NULL)restituisce i microsecondi dell'epoca). Ci è voluta davvero un'ora!
Landak,

se hai accesso al sistema, potresti eseguire il pathping su di esso? Mostrerebbe approssimativamente dove si trova il rallentamento
Journeyman Geek

Risposte:


4

Il pacchetto ICMP e la risposta per il ping sono lunghi ciascuno 32 byte, quindi sembra che per un ping di un'ora che ogni byte impiegasse quasi un minuto a trasmettere.

Ciò è spiegabile solo con un conteggio dei tentativi di errore molto generoso (cosa stai facendo?), Abbinato a un router molto lento e una dolorosa attesa o tentativi per ogni byte trasmesso.

Internet Protocol (IP) trasmette i dati tramite datagrammi e cerca di non inviarne parziali. Una volta avviata la trasmissione, attenderà per impostazione predefinita 200 millisecondi per l'aggiunta di più byte al datagramma. Passato quel tempo, il software / firmware invierà tutto ciò che ha come un datagramma. Nel caso del tempo di ping di un'ora, il payload del pacchetto potrebbe essere piccolo quanto un byte. Finché i dati stavano ancora arrivando, la connessione non verrà chiusa dalle due parti partecipanti.

Cosa puoi fare :

  • Se altri telefoni, fax o altri dispositivi sono collegati alla stessa linea telefonica, verificare che siano protetti dai filtri DSL . Assicurati di non mettere un filtro sulla linea che va al tuo modem DSL.
  • Prova un altro router: una volta che hai un dispositivo difettoso, non c'è assolutamente nulla che tu possa fare al riguardo tranne gettarlo e ottenere qualcosa di meglio.
  • Se non è disponibile nessun altro router, contattare il proprio ISP: potranno eseguire test utili dalla propria parte.
  • Se l'ISP non trova nulla, provare comunque a richiedere un router / modem sostitutivo.
  • Se lo stesso problema si verifica con un altro router, mettersi in contatto con la compagnia telefonica.

Può essere abbastanza complicato individuare un interruttore problematico, come può essere con la compagnia telefonica, ma l'ISP può anche avere i propri interruttori. Normalmente un problema con un interruttore è a livello di area che aiuta a individuare l'interruttore malfunzionante. Ma in una zona rurale dove non ci sono troppi abbonati che usano questo interruttore questo potrebbe non essere rilevato. Se alcuni vicini utilizzano lo stesso ISP, prova a scoprire come è la loro connessione.


Vorrei girare 2 e 3 in giro. È molto più semplice chiamare prima l'ISP. Possono fare un test. Se vedono problemi, invieranno un nuovo modem (non necessariamente un router). Se un nuovo modem non risolve il problema, l'ISP deve contattare la compagnia telefonica. Funziona così qui, ma potrebbe essere diverso nel Regno Unito.
SPRBRN,

Volevo dire che uno dovrebbe eseguire il maggior numero possibile di punti sopra in parallelo. Nel mio caso, il mio ISP potrebbe decidere di inviare un tecnico, ma se il problema è banale come i filtri DSL inutilizzati, potrebbe decidere di addebitare una commissione.
harrymc,

Ugh. I commenti si riferiscono ai numeri in un elenco numerato. Quindi, il poster della risposta ha modificato la risposta per rimuovere i numeri, facendo apparire i commenti fuori posto. Tsk tsk.
TOOGAM

1
200 ms : è integrato nel software Windows / Linux. L'ho trovato analizzando perché il prodotto della mia azienda aveva un throughput TCP / IP troppo basso su datagrammi di piccole dimensioni, quindi ho trovato le chiamate di sistema che "inviano immediatamente" sul socket. Payload del pacchetto : questo non viene negoziato, ma un datagramma TCP / IP troppo grande verrà suddiviso in parti quando incontra un percorso in cui l' MTU è troppo piccola. Modem DSL : è possibile che la modifica dei parametri compensi in qualche modo la linea telefonica / switch difettosa, ma dovrebbe essere riparata anziché compensata.
harrymc,

1
Un altro accorgimento: disabilitare ADSL2 + e rimanere con ADSL1 per la stabilità. Qualunque router acquisti, assicurati di poter modificare correttamente i margini SNR (alcune informazioni qui ). Miliardi di router sono buoni, così come Netgear (preferisco i modelli che supportano DD-WRT con una semplice installazione). Questo articolo può darti più idee e dare un'occhiata al diagramma distanza / velocità.
harrymc,

0

Vedo questo caso molto legato alla gestione della congestione dei dati, anche se gestito in modo pessimo per qualunque motivo. Per quanto ne so, esiste un buffer di pacchetti lungo il sistema di trasmissione gestito correttamente, che causa questa anomalia nei pacchetti di richiesta / risposta dell'eco ICMP.

Quindi la combinazione di avere una cattiva politica di gestione della congestione con l'apertura di una sessione di ping per ore può ovviamente provocare uno scenario così strano.

Maggiori informazioni sulla gestione della congestione qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.