Πολεμήστε για χιλιοστά του δευτερολέπτου. Πώς να επιλέξετε τον διακομιστή με το χαμηλότερο ping

Για πολλές εργασίες, οι καθυστερήσεις μεταξύ του πελάτη και του διακομιστή είναι κρίσιμες, για παράδειγμα σε διαδικτυακά παιχνίδια, τηλεδιάσκεψη/φωνή, τηλεφωνία IP, VPN κ.λπ. Εάν ο διακομιστής είναι πολύ μακριά από τον πελάτη σε επίπεδο δικτύου IP, τότε οι καθυστερήσεις (που συνήθως ονομάζονται "ping", "lag") θα επηρεάσουν την εργασία.

Η γεωγραφική εγγύτητα ενός διακομιστή δεν ισοδυναμεί πάντα με την εγγύτητα σε επίπεδο δρομολόγησης IP. Έτσι, για παράδειγμα, ένας διακομιστής σε άλλη χώρα μπορεί να είναι "πιο κοντά" σε εσάς από έναν διακομιστή στην πόλη σας. Όλα οφείλονται στις ιδιαιτερότητες της δρομολόγησης και της κατασκευής δικτύου.

Πολεμήστε για χιλιοστά του δευτερολέπτου. Πώς να επιλέξετε τον διακομιστή με το χαμηλότερο ping

Πώς να επιλέξετε έναν διακομιστή που είναι όσο το δυνατόν πιο κοντά σε όλους τους πιθανούς πελάτες; Τι είναι η συνδεσιμότητα δικτύου IP; Πώς να κατευθύνετε έναν πελάτη στον πλησιέστερο διακομιστή; Ας μάθουμε στο άρθρο.

Μέτρηση καθυστερήσεων

Αρχικά, ας μάθουμε πώς να μετράμε τις καθυστερήσεις. Αυτή η εργασία δεν είναι τόσο απλή όσο μπορεί να φαίνεται επειδή οι καθυστερήσεις μπορεί να διαφέρουν για διαφορετικά πρωτόκολλα και μεγέθη πακέτων. Μπορεί επίσης να χάσετε βραχυπρόθεσμα γεγονότα, όπως βουτιές που διαρκούν μερικά χιλιοστά του δευτερολέπτου.

ICMP - κανονικό ping

Θα χρησιμοποιήσουμε το βοηθητικό πρόγραμμα ping Unix, το οποίο σας επιτρέπει να ορίσετε μη αυτόματα τα διαστήματα μεταξύ αποστολής πακέτων, κάτι που δεν μπορεί να κάνει η έκδοση ping για Windows. Αυτό είναι σημαντικό γιατί εάν υπάρχουν μεγάλες παύσεις μεταξύ των πακέτων, μπορεί απλά να μην δείτε τι συμβαίνει μεταξύ τους.

Μέγεθος πακέτου (επιλογή -s) - από προεπιλογή, το βοηθητικό πρόγραμμα ping στέλνει πακέτα μεγέθους 64 byte. Με τέτοια μικρά πακέτα, τα φαινόμενα που συμβαίνουν με μεγαλύτερα πακέτα μπορεί να μην είναι αισθητά, επομένως θα ορίσουμε το μέγεθος του πακέτου στα 1300 byte.

Διάστημα μεταξύ πακέτων (επιλογή -i) — χρόνος μεταξύ αποστολής δεδομένων. Από προεπιλογή, τα πακέτα αποστέλλονται μία φορά το δευτερόλεπτο, αυτό είναι πολύ μεγάλο, τα πραγματικά προγράμματα στέλνουν εκατοντάδες και χιλιάδες πακέτα ανά δευτερόλεπτο, επομένως θα ορίσουμε το διάστημα στο 0.1 δευτερόλεπτο. Το πρόγραμμα απλά δεν επιτρέπει λιγότερα.

Ως αποτέλεσμα, η εντολή μοιάζει με αυτό:

ping -s 1300 -i 0.1 yandex.ru

Αυτός ο σχεδιασμός σας επιτρέπει να δείτε μια πιο ρεαλιστική εικόνα των καθυστερήσεων.

Ping μέσω UDP και TCP

Σε ορισμένες περιπτώσεις, οι συνδέσεις TCP επεξεργάζονται διαφορετικά από τα πακέτα ICMP, και εξαιτίας αυτού, οι μετρήσεις ενδέχεται να διαφέρουν ανάλογα με το πρωτόκολλο. Συμβαίνει επίσης συχνά ότι ο κεντρικός υπολογιστής απλά δεν ανταποκρίνεται στο ICMP και το κανονικό ping δεν λειτουργεί. Αυτό κάνει για παράδειγμα ένας οικοδεσπότης όλη του τη ζωή. microsoft.com.

Χρησιμότητα nping από τους προγραμματιστές του διάσημου σαρωτή nmap μπορεί να δημιουργήσει οποιαδήποτε πακέτα. Μπορεί επίσης να χρησιμοποιηθεί για τη μέτρηση καθυστερήσεων.
Εφόσον το UDP και το TCP λειτουργούν σε συγκεκριμένες, πρέπει να κάνουμε "ping" σε μια συγκεκριμένη θύρα. Ας προσπαθήσουμε να κάνουμε ping στο TCP 80, δηλαδή στη θύρα του διακομιστή web:

$ 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

Από προεπιλογή, το nping στέλνει 4 πακέτα και σταματά. Επιλογή -γ 0 επιτρέπει την ατελείωτη αποστολή πακέτων· για να σταματήσετε το πρόγραμμα, πρέπει να πατήσετε Ctrl+C. Στατιστικά στοιχεία θα παρουσιαστούν στο τέλος. Βλέπουμε ότι η μέση τιμή rtt (χρόνος μετ' επιστροφής) είναι 101ms.

MTR - traceroute σε στεροειδή

Πρόγραμμα MTR Το My Traceroute είναι ένα προηγμένο βοηθητικό πρόγραμμα για τον εντοπισμό διαδρομών σε έναν απομακρυσμένο κεντρικό υπολογιστή. Σε αντίθεση με το συνηθισμένο βοηθητικό πρόγραμμα συστήματος traceroute (στα Windows αυτό είναι το βοηθητικό πρόγραμμα tracert), μπορεί να εμφανίζει καθυστερήσεις σε κάθε κεντρικό υπολογιστή στην αλυσίδα πακέτων. Μπορεί επίσης να ανιχνεύσει διαδρομές όχι μόνο μέσω ICMP, αλλά και μέσω UDP και TCP.

$ sudo mtr microsoft.com

Πολεμήστε για χιλιοστά του δευτερολέπτου. Πώς να επιλέξετε τον διακομιστή με το χαμηλότερο ping
(με δυνατότητα κλικ) Διεπαφή προγράμματος MTR. Ξεκίνησε η ανίχνευση διαδρομής στο microsoft.com

Το MTR εμφανίζει αμέσως το ping σε κάθε κεντρικό υπολογιστή στην αλυσίδα και τα δεδομένα ενημερώνονται συνεχώς ενώ το πρόγραμμα εκτελείται και είναι ορατές οι βραχυπρόθεσμες αλλαγές.
Το στιγμιότυπο οθόνης δείχνει ότι ο κόμβος #6 έχει απώλειες πακέτων, αλλά στην πραγματικότητα αυτό δεν είναι απολύτως αληθές, επειδή ορισμένοι δρομολογητές μπορούν απλά να απορρίψουν πακέτα με λήξαν TTL και να μην επιστρέψουν μια απάντηση σφάλματος, επομένως τα δεδομένα απώλειας πακέτων μπορούν να αγνοηθούν εδώ.

WiFi vs καλώδιο

Πολεμήστε για χιλιοστά του δευτερολέπτου. Πώς να επιλέξετε τον διακομιστή με το χαμηλότερο ping
Αυτό το θέμα δεν είναι απολύτως σχετικό με το άρθρο, αλλά κατά τη γνώμη μου είναι πολύ σημαντικό στο πλαίσιο των καθυστερήσεων. Μου αρέσει πολύ το WiFi, αλλά αν έχω έστω και την παραμικρή ευκαιρία να συνδεθώ στο Internet με καλώδιο, θα το χρησιμοποιήσω. Επίσης πάντα αποθαρρύνω τους ανθρώπους να χρησιμοποιούν κάμερες WiFi.
Εάν παίζετε σοβαρά online shooters, μεταδίδετε βίντεο ή πραγματοποιείτε συναλλαγές στο χρηματιστήριο: χρησιμοποιήστε το Διαδίκτυο μέσω καλωδίου.

Ακολουθεί μια οπτική δοκιμή για σύγκριση των συνδέσεων WiFi και καλωδίων. Αυτό είναι ένα ping στο δρομολογητή WiFi, δηλαδή ούτε καν στο Διαδίκτυο ακόμα.

Πολεμήστε για χιλιοστά του δευτερολέπτου. Πώς να επιλέξετε τον διακομιστή με το χαμηλότερο ping
(Με δυνατότητα κλικ) Σύγκριση ping σε δρομολογητή WiFi μέσω καλωδίου και μέσω WiFi

Φαίνεται ότι μέσω WiFi η καθυστέρηση είναι 1 ms μεγαλύτερη και μερικές φορές υπάρχουν πακέτα με καθυστερήσεις δέκα φορές μεγαλύτερες! Και αυτό είναι μόνο ένα μικρό χρονικό διάστημα. Ταυτόχρονα, ο ίδιος δρομολογητής παράγει σταθερές καθυστερήσεις <1ms.

Στο παραπάνω παράδειγμα, χρησιμοποιείται WiFi 802.11n στα 2.4 GHz, μόνο ένας φορητός υπολογιστής και ένα τηλέφωνο είναι συνδεδεμένα στο σημείο πρόσβασης WiFi. Εάν υπήρχαν περισσότεροι πελάτες στο σημείο πρόσβασης, τα αποτελέσματα θα ήταν πολύ χειρότερα. Αυτός είναι ο λόγος για τον οποίο είμαι τόσο αντίθετη με τη μετάβαση όλων των υπολογιστών γραφείου σε WiFi, εάν είναι δυνατόν να τους προσεγγίσετε με καλώδιο.

Συνδεσιμότητα IP

Έτσι, μάθαμε να μετράμε τις καθυστερήσεις στον διακομιστή, ας προσπαθήσουμε να βρούμε τον πλησιέστερο διακομιστή σε εμάς. Για να το κάνουμε αυτό, μπορούμε να δούμε πώς λειτουργεί η δρομολόγηση του παρόχου μας. Είναι βολικό να χρησιμοποιήσετε την υπηρεσία για αυτό bgp.he.net

Πολεμήστε για χιλιοστά του δευτερολέπτου. Πώς να επιλέξετε τον διακομιστή με το χαμηλότερο ping

Όταν μπαίνουμε στον ιστότοπο, βλέπουμε ότι η διεύθυνση IP μας ανήκει στο αυτόνομο σύστημα AS42610.

Εξετάζοντας το γράφημα συνδεσιμότητας των αυτόνομων συστημάτων, μπορούμε να δούμε μέσω ποιων παρόχων υψηλότερου επιπέδου ο πάροχος μας συνδέεται με τον υπόλοιπο κόσμο. Κάθε μια από τις κουκκίδες μπορεί να κάνει κλικ, μπορείτε να μπείτε και να διαβάσετε τι είδους πάροχος είναι.

Πολεμήστε για χιλιοστά του δευτερολέπτου. Πώς να επιλέξετε τον διακομιστή με το χαμηλότερο ping
Γράφημα συνδεσιμότητας των αυτόνομων συστημάτων του παρόχου

Χρησιμοποιώντας αυτό το εργαλείο, μπορείτε να μελετήσετε πώς είναι δομημένα τα κανάλια οποιουδήποτε παρόχου, συμπεριλαμβανομένης της φιλοξενίας. Δείτε με ποιους παρόχους είναι απευθείας συνδεδεμένο. Για να το κάνετε αυτό, πρέπει να εισαγάγετε τη διεύθυνση IP του διακομιστή στην αναζήτηση για το bgp.he.net και να δείτε το γράφημα του αυτόνομου συστήματός του. Μπορείτε επίσης να κατανοήσετε πώς ένα κέντρο δεδομένων ή πάροχος φιλοξενίας συνδέεται με έναν άλλο.

Τα περισσότερα σημεία ανταλλαγής κίνησης παρέχουν ένα ειδικό εργαλείο που ονομάζεται γυαλί αναζήτησης, το οποίο σας επιτρέπει να κάνετε ping και να πραγματοποιείτε ιχνηλάτηση από έναν συγκεκριμένο δρομολογητή στο σημείο ανταλλαγής.

Εδώ, για παράδειγμα, καθρέπτης από το MGTS

Έτσι, όταν επιλέγουμε έναν διακομιστή, μπορούμε να δούμε εκ των προτέρων πώς θα φαίνεται από διαφορετικά σημεία ανταλλαγής κίνησης. Και αν οι πιθανοί πελάτες μας βρίσκονται σε μια συγκεκριμένη γεωγραφική περιοχή, μπορούμε να βρούμε τη βέλτιστη τοποθεσία για τον διακομιστή.

Επιλέξτε τον πλησιέστερο διακομιστή

Αποφασίσαμε να απλοποιήσουμε τη διαδικασία για την εύρεση του βέλτιστου διακομιστή για τους πελάτες μας και δημιουργήσαμε μια σελίδα με αυτόματη δοκιμή των κοντινών τοποθεσιών: Κέντρα δεδομένων RUVDS.
Όταν επισκέπτεστε μια σελίδα, το σενάριο μετρά τις καθυστερήσεις από το πρόγραμμα περιήγησής σας σε κάθε διακομιστή και τις εμφανίζει σε έναν διαδραστικό χάρτη. Όταν κάνετε κλικ σε ένα κέντρο δεδομένων, εμφανίζονται πληροφορίες με αποτελέσματα δοκιμών.

Πολεμήστε για χιλιοστά του δευτερολέπτου. Πώς να επιλέξετε τον διακομιστή με το χαμηλότερο ping

Πολεμήστε για χιλιοστά του δευτερολέπτου. Πώς να επιλέξετε τον διακομιστή με το χαμηλότερο ping

Το κουμπί σάς μεταφέρει στη δοκιμαστική σελίδα λανθάνοντος χρόνου για όλα τα κέντρα δεδομένων μας. Για να δείτε τα αποτελέσματα της δοκιμής, κάντε κλικ στο σημείο του κέντρου δεδομένων στον χάρτη

Πολεμήστε για χιλιοστά του δευτερολέπτου. Πώς να επιλέξετε τον διακομιστή με το χαμηλότερο ping

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο