Kämpfe um Millisekunden. So wählen Sie den Server mit dem niedrigsten Ping aus

Für viele Aufgaben sind Verzögerungen zwischen Client und Server kritisch, beispielsweise bei Online-Spielen, Video-/Sprachkonferenzen, IP-Telefonie, VPN usw. Wenn der Server auf IP-Netzwerkebene zu weit vom Client entfernt ist, beeinträchtigen Verzögerungen (im Volksmund „Ping“, „Lag“ genannt) die Arbeit.

Die geografische Nähe eines Servers ist nicht immer gleichbedeutend mit der Nähe auf IP-Routing-Ebene. So kann beispielsweise ein Server in einem anderen Land „näher“ bei Ihnen sein als ein Server in Ihrer Stadt. Alles aufgrund der Besonderheiten des Routings und des Netzwerkaufbaus.

Kämpfe um Millisekunden. So wählen Sie den Server mit dem niedrigsten Ping aus

Wie wählt man einen Server aus, der möglichst nah an allen potenziellen Clients ist? Was ist IP-Netzwerkkonnektivität? Wie leite ich einen Client zum nächstgelegenen Server? Finden wir es im Artikel heraus.

Verzögerungen messen

Lassen Sie uns zunächst lernen, wie man Verzögerungen misst. Diese Aufgabe ist nicht so einfach, wie es scheint, da die Verzögerungen je nach Protokoll und Paketgröße variieren können. Möglicherweise verpassen Sie auch kurzfristige Ereignisse, z. B. Einbrüche, die nur wenige Millisekunden dauern.

ICMP – regelmäßiger Ping

Wir werden das Unix-Ping-Dienstprogramm verwenden; es ermöglicht Ihnen, die Intervalle zwischen dem Senden von Paketen manuell festzulegen, was die Ping-Version für Windows nicht kann. Dies ist wichtig, da Sie bei langen Pausen zwischen den Paketen möglicherweise einfach nicht sehen, was zwischen ihnen passiert.

Packungsgrösse (Option -s) – Standardmäßig sendet das Ping-Dienstprogramm Pakete mit einer Größe von 64 Byte. Bei solch kleinen Paketen sind Phänomene, die bei größeren Paketen auftreten, möglicherweise nicht wahrnehmbar, daher werden wir die Paketgröße auf 1300 Bytes festlegen.

Intervall zwischen Paketen (Option -i) – Zeit zwischen Datensendungen. Standardmäßig werden Pakete einmal pro Sekunde gesendet. Dies ist sehr lang. Echte Programme senden Hunderte und Tausende von Paketen pro Sekunde. Daher stellen wir das Intervall auf 0.1 Sekunden ein. Weniger lässt das Programm einfach nicht zu.

Im Ergebnis sieht der Befehl so aus:

ping -s 1300 -i 0.1 yandex.ru

Dieses Design ermöglicht Ihnen ein realistischeres Bild von Verzögerungen.

Ping über UDP und TCP

In einigen Fällen werden TCP-Verbindungen anders verarbeitet als ICMP-Pakete, weshalb die Messungen je nach Protokoll variieren können. Es kommt auch häufig vor, dass der Host einfach nicht auf ICMP reagiert und der normale Ping nicht funktioniert. Das ist es zum Beispiel, was ein Gastgeber sein ganzes Leben lang tut. microsoft.com.

Dienstprogramm nping Von den Entwicklern des berühmten Scanners NMAP können beliebige Pakete generiert werden. Es kann auch zur Messung von Verzögerungen verwendet werden.
Da UDP und TCP auf bestimmten Ports arbeiten, müssen wir einen bestimmten Port „pingen“. Versuchen wir, TCP 80, also den Webserver-Port, anzupingen:

$ sudo nping --tcp -p 80 --delay 0.1 -c 0 microsoft.com

Starting Nping 0.7.80 ( https://nmap.org/nping ) at 2020-04-30 13:07 MSK
SENT (0.0078s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
SENT (0.1099s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.2068s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=43 id=0 iplen=44  seq=1480267007 win=64240 <mss 1440>
SENT (0.2107s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.3046s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=43 id=0 iplen=44  seq=1480267007 win=64240 <mss 1440>
SENT (0.3122s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.4247s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=42 id=0 iplen=44  seq=2876862274 win=64240 <mss 1398>

Max rtt: 112.572ms | Min rtt: 93.866ms | Avg rtt: 101.093ms
Raw packets sent: 4 (160B) | Rcvd: 3 (132B) | Lost: 1 (25.00%)
Nping done: 1 IP address pinged in 0.43 seconds

Standardmäßig sendet nping 4 Pakete und stoppt. Möglichkeit -c 0 ermöglicht das endlose Senden von Paketen; um das Programm zu stoppen, müssen Sie Strg+C drücken. Statistiken werden am Ende angezeigt. Wir sehen, dass der durchschnittliche RTT-Wert (Round-Trip-Time) 101 ms beträgt.

MTR – Traceroute auf Steroiden

Programm MTR My Traceroute ist ein erweitertes Dienstprogramm zum Verfolgen von Routen zu einem Remote-Host. Im Gegensatz zum üblichen Systemdienstprogramm Traceroute (in Windows ist dies das Tracert-Dienstprogramm) kann es Verzögerungen für jeden Host in der Paketkette anzeigen. Es kann Routen nicht nur über ICMP, sondern auch über UDP und TCP verfolgen.

$ sudo mtr microsoft.com

Kämpfe um Millisekunden. So wählen Sie den Server mit dem niedrigsten Ping aus
(Anklickbare) MTR-Programmoberfläche. Routenverfolgung zu microsoft.com gestartet

MTR zeigt sofort den Ping an jeden Host in der Kette an und die Daten werden während der Programmausführung ständig aktualisiert und kurzfristige Änderungen sind erkennbar.
Der Screenshot zeigt, dass Knoten Nr. 6 Paketverluste aufweist. Tatsächlich ist dies jedoch nicht ganz richtig, da einige Router Pakete mit abgelaufener TTL einfach verwerfen können und keine Fehlerantwort zurückgeben. Daher können die Paketverlustdaten hier ignoriert werden.

WLAN vs. Kabel

Kämpfe um Millisekunden. So wählen Sie den Server mit dem niedrigsten Ping aus
Dieses Thema ist für den Artikel nicht ganz relevant, aber meiner Meinung nach ist es im Zusammenhang mit Verzögerungen sehr wichtig. Ich liebe WLAN wirklich, aber wenn ich auch nur die geringste Möglichkeit habe, mich per Kabel mit dem Internet zu verbinden, werde ich es nutzen. Ich rate den Leuten auch immer davon ab, WLAN-Kameras zu verwenden.
Wenn Sie ernsthafte Online-Shooter spielen, Videos streamen oder an der Börse handeln: Bitte nutzen Sie das Internet per Kabel.

Hier ist ein visueller Test zum Vergleich von WLAN- und Kabelverbindungen. Dabei handelt es sich um einen Ping an den WLAN-Router, also noch nicht einmal ans Internet.

Kämpfe um Millisekunden. So wählen Sie den Server mit dem niedrigsten Ping aus
(Anklickbar) Vergleich des Pings an einen WLAN-Router per Kabel und per WLAN

Es ist ersichtlich, dass die Verzögerung über WLAN 1 ms länger ist und es manchmal Pakete mit zehnmal längeren Verzögerungen gibt! Und das ist nur eine kurze Zeitspanne. Gleichzeitig erzeugt derselbe Router stabile Verzögerungen von <1ms.

Im obigen Beispiel wird WLAN 802.11n mit 2.4 GHz verwendet, nur ein Laptop und ein Telefon sind mit dem WLAN-Zugangspunkt verbunden. Wenn es mehr Clients am Access Point gäbe, wären die Ergebnisse viel schlechter. Aus diesem Grund bin ich strikt dagegen, alle Bürocomputer auf WLAN umzustellen, wenn diese per Kabel erreichbar sind.

IP-Konnektivität

Wir haben also gelernt, Verzögerungen beim Server zu messen. Versuchen wir, den Server zu finden, der uns am nächsten liegt. Dazu können wir uns anschauen, wie das Routing unseres Anbieters funktioniert. Es ist bequem, hierfür den Dienst zu nutzen bgp.he.net

Kämpfe um Millisekunden. So wählen Sie den Server mit dem niedrigsten Ping aus

Wenn wir auf die Seite zugreifen, sehen wir, dass unsere IP-Adresse zum autonomen System gehört AS42610.

Anhand des Konnektivitätsdiagramms autonomer Systeme können wir erkennen, über welche übergeordneten Anbieter unser Anbieter mit dem Rest der Welt verbunden ist. Jeder der Punkte ist anklickbar, Sie können dort nachlesen, um welche Art von Anbieter es sich handelt.

Kämpfe um Millisekunden. So wählen Sie den Server mit dem niedrigsten Ping aus
Konnektivitätsdiagramm der autonomen Systeme des Anbieters

Mit diesem Tool können Sie untersuchen, wie die Kanäle eines beliebigen Anbieters, einschließlich Hosting, strukturiert sind. Sehen Sie, mit welchen Anbietern es direkt verbunden ist. Dazu müssen Sie die IP-Adresse des Servers in die Suche nach bgp.he.net eingeben und sich die Grafik seines autonomen Systems ansehen. Sie können auch verstehen, wie ein Rechenzentrum oder Hosting-Anbieter mit einem anderen verbunden ist.

Die meisten Verkehrsaustauschpunkte bieten ein spezielles Tool namens Looking Glass, mit dem Sie von einem bestimmten Router am Austauschpunkt aus pingen und verfolgen können.

Hier, zum Beispiel, Spiegel von MGTS

So können wir bei der Auswahl eines Servers im Voraus sehen, wie er von verschiedenen Verkehrsaustauschpunkten aus aussehen wird. Und wenn sich unsere potenziellen Kunden in einem bestimmten geografischen Gebiet befinden, können wir den optimalen Standort für den Server finden.

Wählen Sie den nächstgelegenen Server aus

Wir haben beschlossen, das Verfahren zur Suche nach dem optimalen Server für unsere Kunden zu vereinfachen, und haben eine Seite mit automatischen Tests von Standorten in der Nähe erstellt: RUVDS-Rechenzentren.
Wenn Sie eine Seite besuchen, misst das Skript die Verzögerungen von Ihrem Browser zu jedem Server und zeigt sie auf einer interaktiven Karte an. Wenn Sie auf ein Rechenzentrum klicken, werden Informationen mit Testergebnissen angezeigt.

Kämpfe um Millisekunden. So wählen Sie den Server mit dem niedrigsten Ping aus

Kämpfe um Millisekunden. So wählen Sie den Server mit dem niedrigsten Ping aus

Über den Button gelangen Sie zur Latenztestseite für alle unsere Rechenzentren. Um die Testergebnisse anzuzeigen, klicken Sie auf den Rechenzentrumspunkt auf der Karte

Kämpfe um Millisekunden. So wählen Sie den Server mit dem niedrigsten Ping aus

Source: habr.com

Kommentar hinzufügen