Ich habe vor kurzem den Osterfeiertag mit meinen Eltern verbracht, die in einer sehr ländlichen Gegend in Großbritannien leben. Sie haben eine (schreckliche) ADSL-Internetverbindung, die über mehrere Kilometer zwielichtigen Kupfers läuft und regelmäßig unterbrochen wird, wenn die Bauern in der Nähe ihre Traktoren in die Telefonleitungen stecken.
Ich bemerkte, dass der Router den pptp
Handshake wiederholt ablegte und neu aushandelte, wodurch die Verbindung effektiv unterbrochen wurde. Das war frustrierend. Um nicht verrückt zu werden, forderte ich ihn auf, die minimal akzeptable SNR-Marge und den Handshake für niedrigere Geschwindigkeiten zu verdoppeln:
$ 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.
Das verbesserte die Sache und das Ding bekam eine (etwas) stabile, wenn auch unglaublich langsame Leitung zur Außenwelt:
$ 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
...
Ungefähr zu diesem Zeitpunkt mischte sich das wirkliche Leben ein und ich verbrachte einige Stunden damit, mit Katzen zu spielen, mir Katzengifs auf meinem Handy anzusehen, tatsächlich mit meiner Familie zu sprechen usw. Ich vergaß, dass ich diesen Ping-Prozess laufen ließ, und kam zurück einen Tag später zu schlagen ctrl-c
.
Die zusammenfassende Statistik sagte mir:
--- 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
Wie Sie sehen, beträgt die maximale Antwortzeit für ein ICMP-Paket, das einen kurzen transatlantischen Sprung zum DNS-Server von Google durchführt, 3600577,732 ms . Das ist fast genau eine Stunde und sicherlich viel länger als ping
das Standard-Timeout.
Wie um alles in der Welt kann das sein? Ist es richtig? Welcher Router hält ein Paket gerne 60 Minuten lang fest, bevor er es auf seinem Weg sendet? Warum wurde dieses Paket nicht gelöscht? Ist es das Ergebnis eines Überlaufs des 8-Bit-Paketzählers in Kombination mit großen Latenzen?
Abschließend möchte ich wissen, ob es in Großbritannien einen Verhaltenskodex gibt, der besagt, dass für Consumer-ADSL-Verbindungen eine geringere Latenz und ein besseres Verkehrsmanagement erwartet wird als für RFC 1149 und RFC 2549 ;-).
quelle
ping
Quellcodes (von ~ l 761) feststellen, dass Zeitzonen in der nachfolgenden Berechnung ignoriert werden (gettimeofday(nv, NULL)
gibt Mikrosekunden in der Epoche zurück). Es hat wirklich eine Stunde gedauert!Antworten:
Das ICMP-Paket und die Antwort für den Ping sind jeweils 32 Byte lang. Für einen einstündigen Ping hat also jedes Byte fast eine Minute für die Übertragung benötigt.
Dies ist nur durch eine sehr großzügige Anzahl von Wiederholungsfehlern zu erklären (Ihr Vorgehen?), Verbunden mit einem sehr langsamen Router und einem schmerzhaften Warten oder erneuten Versuchen für jedes übertragene Byte.
Das Internet Protocol (IP) überträgt Daten über Datagramme und versucht, keine partiellen zu senden. Nach dem Start der Übertragung wird standardmäßig 200 Millisekunden gewartet, bis dem Datagramm weitere Bytes hinzugefügt wurden. Nach dieser Zeit sendet die Software / Firmware alles, was sie hat, als ein Datagramm. Im Fall der stundenlangen Ping-Zeit kann die Paketnutzlast nur ein Byte betragen haben. Solange noch Daten ankamen, wird die Verbindung von den beiden beteiligten Seiten nicht beendet.
Was du tun kannst :
Es kann ziemlich kompliziert sein, einen problematischen Switch zu finden, wie es bei der Telefongesellschaft der Fall sein kann, aber der ISP verfügt möglicherweise auch über eigene Switches. Normalerweise ist ein Problem mit einem Schalter großflächig, wodurch der fehlerhafte Schalter leichter zu lokalisieren ist. In ländlichen Gegenden, in denen nicht zu viele Teilnehmer diesen Switch verwenden, kann dies jedoch unerkannt bleiben. Wenn einige Nachbarn denselben ISP verwenden, versuchen Sie herauszufinden, wie ihre Verbindung aussieht.
quelle
Ich sehe diesen Fall sehr stark im Zusammenhang mit der Verwaltung von Datenstaus, obwohl es sich um einen sehr schlecht verwalteten Fall handelt, aus welchem Grund auch immer. Meines Erachtens ist der Paketpuffer entlang des Übertragungssystems schlecht verwaltet, was diese Anomalie in den ICMP-Echoanforderungs- / Antwortpaketen verursacht.
Die Kombination aus einer schlechten Überlastungsmanagementrichtlinie und einer stundenlangen Ping-Sitzung kann daher offensichtlich zu solch einem seltsamen Szenario führen.
Weitere Informationen zum Engpassmanagement finden Sie hier .
quelle