Αντιμετώπιση προβλημάτων καθυστέρησης δικτύου με το Wireshark

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

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

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

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

Πώς να διορθώσετε την καθυστέρηση δικτύου;

Υπάρχουν πολλά εργαλεία και λογισμικό διαθέσιμα στο διαδίκτυο για την ανάλυση και την αντιμετώπιση προβλημάτων ενός δικτύου. Ορισμένα πληρώνονται και άλλα είναι δωρεάν. Ωστόσο, υπάρχει ένα εργαλείο που ονομάζεται Wireshark, η οποία είναι μια εφαρμογή ανοιχτού κώδικα και άδεια GPL που χρησιμοποιείται για τη λήψη των πακέτων δεδομένων σε πραγματικό χρόνο. Το Wireshark είναι ο πιο δημοφιλής και ευρέως χρησιμοποιούμενος αναλυτής πρωτοκόλλου δικτύου στον κόσμο.

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

Τι προκαλεί την καθυστέρηση δικτύου;

Μερικοί κύριοι λόγοι για την αργή συνδεσιμότητα δικτύου, όπως:

  • Υψηλή καθυστέρηση
  • Εξαρτήσεις εφαρμογών
  • Απώλεια πακέτων
  • Συσκευές αναχαίτισης
  • Αναποτελεσματικά μεγέθη παραθύρων

Και σε αυτό το άρθρο, εξετάζουμε κάθε αιτία καθυστέρησης δικτύου και πώς να επιλύσετε τα προβλήματα με το Wireshark.

  Πώς να ενεργοποιήσετε τον φακό πατώντας το πίσω μέρος του iPhone σας

Εξέταση με το Wireshark

Υψηλή καθυστέρηση

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

  • Μεταβείτε στο Wireshark Statistics.
  • Επιλέξτε την επιλογή Γράφημα ροής TCP.
  • Επιλέξτε το γράφημα χρόνου μετ’ επιστροφής για να μάθετε πόσος χρόνος χρειάζεται για τη λήψη ενός αρχείου.

Το Wireshark χρησιμοποιείται για τον υπολογισμό του χρόνου μετ’ επιστροφής σε μια διαδρομή για να διαπιστωθεί εάν αυτή είναι η αιτία της ελαττωματικής απόδοσης του δικτύου επικοινωνιών του Πρωτοκόλλου Ελέγχου Μετάδοσης (TCP). Το TCP χρησιμοποιείται σε διάφορες εφαρμογές, όπως η διαδικτυακή περιήγηση, η μετάδοση δεδομένων, το πρωτόκολλο μεταφοράς αρχείων και πολλές άλλες. Σε πολλές περιπτώσεις, το λειτουργικό σύστημα μπορεί να τροποποιηθεί ώστε να αποδίδει πιο αποτελεσματικά σε κανάλια υψηλής καθυστέρησης, ιδίως όταν οι κεντρικοί υπολογιστές χρησιμοποιούν Windows XP.

Εξαρτήσεις εφαρμογής

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

Πάρτε, για παράδειγμα, μια εμπειρία περιήγησης στο Web όπου ο διακομιστής-στόχος αναφέρεται σε πολλούς άλλους ιστότοπους. Για παράδειγμα, για να φορτώσετε την κύρια σελίδα του ιστότοπου, www.espn.com, πρέπει πρώτα να επισκεφτείτε 16 κεντρικούς υπολογιστές που παρέχουν διαφημίσεις και περιεχόμενο για την κύρια σελίδα www.espn.com.

Στην παραπάνω εικόνα, το παράθυρο διανομής φορτίου HTTP στο Wireshark εμφανίζει μια λίστα με όλους τους διακομιστές που χρησιμοποιούνται από την αρχική σελίδα www.espn.com.

Απώλεια πακέτων

Ένα από τα πιο διαδεδομένα ζητήματα που βρίσκω στα δίκτυα είναι η απώλεια πακέτων. Η απώλεια πακέτων συμβαίνει όταν τα πακέτα δεδομένων δεν παραδίδονται σωστά από τον αποστολέα στον παραλήπτη μέσω του Διαδικτύου. Όταν ένας χρήστης επισκέπτεται έναν ιστότοπο και ξεκινά τη λήψη των στοιχείων του ιστότοπου, τα χαμένα πακέτα προκαλούν επαναμεταδόσεις, αυξάνοντας τη βεβαιότητα λήψης των αρχείων Ιστού και επιβραδύνοντας τη συνολική διαδικασία λήψης.

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

  14 Καλύτερες προσθήκες WooCommerce για υπερφόρτιση ιστοτόπων ηλεκτρονικού εμπορίου

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

Πώς φαίνεται όταν χάνεται ένα πακέτο; Είναι συζητήσιμο. Η απώλεια πακέτων μπορεί να λάβει δύο μορφές εάν το πρόγραμμα λειτουργεί μέσω TCP. Σε ένα παράδειγμα, ο δέκτης παρακολουθεί πακέτα με βάση τους αριθμούς σειράς τους και ανιχνεύει ένα πακέτο που λείπει. Ο πελάτης κάνει τρία αιτήματα για το πακέτο που λείπει (διπλές επιβεβαιώσεις), με αποτέλεσμα την εκ νέου αποστολή. Όταν ένας αποστολέας παρατηρεί ότι ένας παραλήπτης δεν έχει επιβεβαιώσει την παραλαβή ενός πακέτου δεδομένων, ο αποστολέας λήγει και αναμεταδίδει το πακέτο δεδομένων.

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

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

Συσκευές αναχαίτισης

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

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

Αναποτελεσματικά μεγέθη παραθύρων

Εκτός από το λειτουργικό σύστημα της Microsoft, υπάρχουν και άλλα «παράθυρα» στη δικτύωση TCP/IP.

  • Συρόμενο παράθυρο
  • Παράθυρο Δέκτη
  • Παράθυρο ελέγχου συμφόρησης

Αυτά τα παράθυρα μαζί αποτελούν την απόδοση επικοινωνίας του δικτύου που βασίζεται στο TCP. Ας ξεκινήσουμε ορίζοντας καθένα από αυτά τα παράθυρα και τον αντίκτυπό τους στο εύρος ζώνης του δικτύου.

Συρόμενο παράθυρο

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

  Το Fix Zoom δεν μπορεί να ανιχνεύσει μια κάμερα

Παράθυρο Δέκτη

Το παράθυρο δέκτη της στοίβας TCP είναι ένας χώρος προσωρινής αποθήκευσης. Όταν λαμβάνονται δεδομένα, αποθηκεύονται σε αυτόν τον χώρο αποθήκευσης μέχρι να τα παραλάβει μια εφαρμογή. Το παράθυρο του δέκτη γεμίζει όταν μια εφαρμογή δεν συμβαδίζει με τον ρυθμό λήψης, οδηγώντας τελικά σε ένα σενάριο «μηδενικού παραθύρου». Όλη η μετάδοση δεδομένων στον κεντρικό υπολογιστή πρέπει να σταματήσει όταν ένας δέκτης ανακοινώνει μια κατάσταση μηδενικού παραθύρου. Ο ρυθμός διεκπεραίωσης πέφτει στο μηδέν. Μια μέθοδος γνωστή ως Κλιμάκωση παραθύρου (RFC 1323) επιτρέπει σε έναν κεντρικό υπολογιστή να αυξήσει το μέγεθος του παραθύρου του δέκτη και να μειώσει την πιθανότητα ενός σεναρίου μηδενικού παραθύρου.

Η παραπάνω εικόνα εμφανίζει μια καθυστέρηση 32 δευτερολέπτων στις επικοινωνίες δικτύου λόγω ενός σεναρίου μηδενικού παραθύρου.

Παράθυρο συμφόρησης

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

Συμβουλές για ένα υγιές δίκτυο

  • Μάθετε πώς να χρησιμοποιείτε το Wireshark ως εργασία πρώτης απόκρισης για να ανακαλύψετε γρήγορα και αποτελεσματικά την πηγή της κακής απόδοσης.
  • Προσδιορίστε την πηγή της καθυστέρησης της διαδρομής δικτύου και, εάν είναι δυνατόν, μειώστε την σε αποδεκτό επίπεδο.
  • Εντοπίστε και επιλύστε την πηγή απώλειας πακέτων.
  • Εξετάστε το μέγεθος του παραθύρου μετάδοσης δεδομένων και, εάν είναι δυνατόν, μειώστε το.
  • Εξετάστε την απόδοση των συσκευών αναχαίτισης για να δείτε εάν προσθέτουν λανθάνοντα χρόνο ή ρίχνουν πακέτα.
  • Βελτιστοποιήστε τις εφαρμογές έτσι ώστε να μπορούν να παρέχουν μεγαλύτερες ποσότητες δεδομένων και, εάν είναι δυνατόν, να ανακτούν δεδομένα από το παράθυρο του δέκτη.

Τελειώνοντας 👨‍🏫

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

Θα πρέπει τώρα να εξετάσετε και να επιλύσετε την απόδοση του δικτύου μέσω πολλών φίλτρων και εργαλείων χρησιμοποιώντας το Wireshark. 👍