Το tcpdump δείχνει πακέτα 64 KB: offload και σημείο σύλληψης
Ένα τεράστιο πακέτο σε σύλληψη στον κεντρικό υπολογιστή μπορεί να είναι πριν από την κατάτμηση ή μετά τη συνάθροιση. Καθορίστε το σημείο παρατήρησης πριν συμπεράνετε ότι η σήραγγα αγνόησε το MTU της.
Μια σύλληψη σε έναν κεντρικό υπολογιστή μπορεί να δείξει πακέτο 64 KB σε διεπαφή με MTU 1420, και το προφανές συμπέρασμα είναι ότι η σήραγγα αγνόησε το όριο μεγέθους της. Αυτό το συμπέρασμα είναι συνήθως λάθος. Τα σημεία σύλληψης στον κεντρικό υπολογιστή βρίσκονται μέσα στη διαδρομή επεξεργασίας, όπου η κατάτμηση, η συνάθροιση και η εργασία αθροίσματος ελέγχου μπορεί να μην έχουν συμβεί ακόμη. Διαβάστε τη θέση του παρατηρητή πριν διαβάσετε το μέγεθος του πακέτου.
Το πού συλλαμβάνετε αλλάζει το τι βλέπετε
Το offload αποστολής επιτρέπει στη στοίβα να παραδώσει μια μεγάλη μονάδα στη συσκευή δικτύου, η οποία την κόβει αργότερα σε κομμάτια μεγέθους σύρματος. Η συνάθροιση λήψης κάνει το αντίθετο στην είσοδο, ενώνοντας τμήματα πριν τα δει ένας παρατηρητής στην πλευρά του κεντρικού υπολογιστή. Επομένως μια σύλληψη καταγράφει την εσωτερική εικόνα του κεντρικού υπολογιστή σε εκείνο το σημείο, όχι απαραίτητα τα πλαίσια στον σύνδεσμο. Και οι δύο μηχανισμοί εξαρτώνται από τη συσκευή και τη διαδρομή.
ethtool -k eth0 | grep -E 'tso|gso|gro'
Συλλάβετε σε δεύτερο σημείο, ιδανικά σε ανεξάρτητο δέκτη ή σε καθρέφτη, πριν θεωρήσετε το μέγεθος βλάβη. Αν η μεγάλη μονάδα εμφανίζεται μόνο στον αποστολέα, το σύρμα μπορεί να μην τη μετέφερε ποτέ. Δύο σημεία παρατήρησης είναι ισχυρότερα από ένα αρχείο, ειδικά όταν το ερώτημα είναι τι πραγματικά έφυγε από το μηχάνημα.
Διαχωρίστε την εσωτερική από την εξωτερική διεπαφή
Μια σήραγγα προσθέτει τη δική της διεπαφή, και η εξωτερική και η εσωτερική εικόνα διαφέρουν στην ενθυλάκωση και στην επεξεργασία. Μια σύλληψη στη συσκευή σήραγγας δείχνει το εσωτερικό πακέτο· μια σύλληψη στον φυσικό προσαρμογέα δείχνει το εξωτερικό. Μέγεθος, διευθύνσεις και κατάσταση αθροίσματος ελέγχου μπορούν να διαφέρουν μεταξύ τους για λόγους που δεν έχουν καμία σχέση με βλάβη.
Καταγράψτε ποια διεπαφή παρήγαγε κάθε αρχείο. Ένα μέγεθος που βλέπετε στη συσκευή σήραγγας περιγράφει το εσωτερικό πακέτο, όχι το πλαίσιο που έστειλε τελικά ο προσαρμογέας. Το να τα αναμειγνύετε σε μία ανάλυση είναι ο τρόπος με τον οποίο μια φυσιολογική διαφορά ενθυλάκωσης γίνεται μυστήριο.
Η προειδοποίηση αθροίσματος ελέγχου είναι επίσης θέση-εξαρτώμενη
Μια σύλληψη στην πλευρά αποστολής μπορεί να δείξει πεδίο αθροίσματος ελέγχου πριν το συμπληρώσει το υλικό, κάτι που παράγει προειδοποίηση που κανένας δέκτης δεν θα έβλεπε ποτέ. Αυτό είναι διαφορετικό στοιχείο από έναν απομακρυσμένο κεντρικό υπολογιστή που απορρίπτει κατεστραμμένο πακέτο. Η κατεύθυνση και το σημείο σύλληψης καθορίζουν ποιο από τα δύο έχετε.
Όταν μια πραγματική μεταφορά αποτυγχάνει, συγκρίνετε παρατηρήσεις σε δέκτη ή σε άλλο σημείο της διαδρομής. Κρατήστε κατεύθυνση, διεπαφή και επίπεδο ενθυλάκωσης μαζί με την καταγραφή, γιατί ένα στιγμιότυπο οθόνης χωρίς αυτά δεν μπορεί να ερμηνευτεί αργότερα.
Απενεργοποιήστε το offload μόνο ως ελεγχόμενη δοκιμή
Η απενεργοποίηση του offload αλλάζει τις επιδόσεις και την επεξεργασία πακέτων, άρα δεν είναι η πρώτη αντίδραση σε μια παράξενη εμφάνιση μεγέθους. Αν το δοκιμάσετε, αλλάξτε μία ρύθμιση και καταγράψτε πρώτα τη βάση αναφοράς. Μια εκτέλεση που αλλάζει και MTU, κανόνες τείχους προστασίας και προφίλ πελάτη δεν μπορεί να αποδώσει το αποτέλεσμα στο offload. Επαναφέρετε τη ρύθμιση μετά.
ethtool -K eth0 tso off gro off
ping -M do -s 1400 example.com
Μια πραγματική καθυστέρηση μεγάλης μεταφοράς είναι ξεχωριστό ζήτημα για το MTU της διαδρομής και την ανατροφοδότηση που λαμβάνει η εφαρμογή. Μια συναθροισμένη μονάδα του κεντρικού υπολογιστή ούτε αποδεικνύει ούτε διαψεύδει όριο μεγέθους πιο κάτω, και ένα χαμηλό ποσοστό CPU δεν προσδιορίζει το offload ως αιτία.
Το χρήσιμο αποτέλεσμα είναι ένα εξηγημένο σημείο σύλληψης μαζί με μια αναπαραγώγιμη παρατήρηση εφαρμογής. Με αυτά χωριστά, μια αλλαγή MTU μπορεί να στοχεύσει πραγματικό περιορισμό αντί για το σχήμα ενός εσωτερικού buffer.