Κεφαλίδα πακέτου IP: Μορφή, Πεδία

⚡ Έξυπνη Σύνοψη

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

  • 🧭 Σκοπός: Η κεφαλίδα IP αποθηκεύει λεπτομέρειες δρομολόγησης και παράδοσης, έτσι ώστε κάθε πακέτο να φτάνει στον σωστό προορισμό σε όλα τα δίκτυα.
  • 📏 Διαστάσεις: Μια κεφαλίδα IPv4 κυμαίνεται από 20 έως 60 byte, και ελέγχεται από το πεδίο Μήκος Κεφαλίδας Internet.
  • 🧱 Βασικά πεδία: Τα βασικά πεδία περιλαμβάνουν την Έκδοση, το Διεθνές Δίκαιο Χημικό Δίκαιο, τον Τύπος Υπηρεσίας, το Συνολικό Μήκος, το TTL, το Πρωτόκολλο, το Άθροισμα Ελέγχου και τις διευθύνσεις.
  • 🔀 Θρυμματισμός: Η αναγνώριση, οι σημαίες και η μετατόπιση τμημάτων επιτρέπουν στα μεγάλα datagrams να διαχωρίζονται και να επανασυναρμολογούνται σωστά.
  • 🆚 IPv4 έναντι IPv6: Το IPv6 αντικαθιστά την κεφαλίδα μεταβλητής με μια σταθερή κεφαλίδα 40 byte και καταργεί το πεδίο ελέγχου αθροίσματος.
  • 🤖 Βοήθεια AI: Οι αναλυτές πακέτων τεχνητής νοημοσύνης αναλύουν αυτόματα τις κεφαλίδες IP για να επισημαίνουν ανωμαλίες και να επιταχύνουν την αντιμετώπιση προβλημάτων.

Μορφή και πεδία κεφαλίδας πακέτου IP

Τι είναι η κεφαλίδα IP;

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

Η μορφή κεφαλίδας IPv4 έχει μήκος 20 έως 60 byte και περιέχει τις πληροφορίες που απαιτούνται για τη δρομολόγηση και την παράδοση. Αποτελείται από πεδία όπως Έκδοση, Μήκος Κεφαλίδας, Συνολικό Μήκος, Αναγνώριση, Σημαίες, Άθροισμα Ελέγχου, η διεύθυνση IP προέλευσης και η διεύθυνση IP προορισμού. Μαζί, αυτά τα πεδία παρέχουν τα απαραίτητα δεδομένα που απαιτούνται για την transmit το πακέτο να μεταφέρεται αξιόπιστα από έναν κεντρικό υπολογιστή σε έναν άλλο.

Στοιχεία/πεδία κεφαλίδας IPv4

Το παρακάτω διάγραμμα δείχνει την πλήρη μορφή κεφαλίδας IPv4, με κάθε πεδίο σχεδιασμένο στη σωστή θέση και πλάτος bit:

Διάγραμμα μορφής κεφαλίδας πακέτου IPv4 που δείχνει όλα τα πεδία και τις θέσεις bit τους

Ακολουθούν τα διάφορα στοιχεία/πεδία της κεφαλίδας του πακέτου IP:

  • Εκδοχή: Το πρώτο πεδίο κεφαλίδας IP είναι ένας δείκτης έκδοσης 4 bit. Στο IPv4, η τιμή αυτών των τεσσάρων bit ορίζεται σε 0100, που υποδηλώνει 4 σε δυαδικό αρχείο. Εάν ο δρομολογητής δεν υποστηρίζει την καθορισμένη έκδοση, το πακέτο απορρίπτεται.
  • Μήκος κεφαλίδας Διαδικτύου: Το μήκος κεφαλίδας Internet, γνωστό ως IHL, έχει μέγεθος 4 bit. Ονομάζεται επίσης HELEN (Header Length). Αυτό το στοιχείο IP δείχνει πόσες λέξεις 32-bit υπάρχουν στην κεφαλίδα.
  • Είδος υπηρεσίας: Ο τύπος υπηρεσίας ονομάζεται επίσης Διαφοροποιημένες Υπηρεσίες Code Σημείο ή DSCP. Αυτό το πεδίο παρέχει λειτουργίες που σχετίζονται με την ποιότητα υπηρεσίας για ροή δεδομένων ή κλήσεις VoIP. Τα πρώτα 3 bit είναι τα bit προτεραιότητας. Καθορίζει επίσης τον τρόπο χειρισμού ενός datagram.
  • Συνολικό μήκος: Το συνολικό μήκος μετριέται σε bytes. Το ελάχιστο μέγεθος ενός IP datagram είναι 20 bytes και το μέγιστο είναι 65,535 bytes. Το HELEN και το Total Length μπορούν να χρησιμοποιηθούν για τον υπολογισμό του μεγέθους του ωφέλιμου φορτίου. Όλοι οι κεντρικοί υπολογιστές πρέπει να είναι σε θέση να διαβάζουν datagrams 576 bytes. Ωστόσο, εάν ένα datagram είναι πολύ μεγάλο για τους κεντρικούς υπολογιστές στο δίκτυο, η μέθοδος κατακερματισμού χρησιμοποιείται ευρέως.
  • Ταυτοποίηση: Η αναγνώριση είναι ένα πεδίο που χρησιμοποιείται για την μοναδική αναγνώριση των τμημάτων ενός IP datagram. Κάποιοι έχουν προτείνει τη χρήση αυτού του πεδίου για άλλους σκοπούς, όπως η προσθήκη πληροφοριών για πακέτα. tracING.
  • Σημαίες IP: Οι σημαίες είναι ένα πεδίο τριών bit που σας βοηθά να ελέγχετε και να αναγνωρίζετε θραύσματα. Οι πιθανές διαμορφώσεις είναι: Το bit 0 είναι δεσμευμένο και πρέπει να οριστεί σε μηδέν. Το bit 1 σημαίνει ότι δεν γίνεται θραύση και το bit 2 σημαίνει ότι υπάρχουν περισσότερα θραύσματα.
  • Μετατόπιση θραύσματος: Η μετατόπιση τμήματος αντιπροσωπεύει τον αριθμό των byte δεδομένων που βρίσκονται μπροστά από ένα συγκεκριμένο τμήμα στο συγκεκριμένο datagram. Καθορίζεται σε μονάδες των 8 byte και έχει μέγιστη τιμή 65,528 byte.
  • Ωρα να ζήσω: Αυτό είναι ένα πεδίο 8-bit που υποδεικνύει τον μέγιστο χρόνο που ένα datagram μπορεί να παραμείνει στο σύστημα του Διαδικτύου. Κάθε φορά που επεξεργάζεται ένα datagram, η τιμή TTL του μειώνεται κατά ένα. Όταν η τιμή του TTL φτάσει στο μηδέν, το datagram απορρίπτεται, ώστε τα πακέτα να μην παραδίδονται απεριόριστα. Η τιμή του TTL μπορεί να κυμαίνεται από 0 έως 255.
  • Πρωτόκολλο: Αυτό το πεδίο κεφαλίδας IPv4 υποδηλώνει ποιο πρωτόκολλο διαδικτύου μεταφέρεται στο τελευταίο τμήμα του datagram. Για παράδειγμα, ο αριθμός 6 χρησιμοποιείται για να υποδείξει το TCP και ο αριθμός 17 χρησιμοποιείται για να υποδηλώσει το πρωτόκολλο UDP.
  • Άθροισμα ελέγχου κεφαλίδων: Το επόμενο στοιχείο είναι ένα πεδίο αθροίσματος ελέγχου κεφαλίδας 16-bit, το οποίο χρησιμοποιείται για τον έλεγχο της κεφαλίδας για τυχόν σφάλματα. Η κεφαλίδα IP συγκρίνεται με την τιμή του αθροίσματος ελέγχου της. Όταν το άθροισμα ελέγχου κεφαλίδας δεν ταιριάζει, το πακέτο απορρίπτεται.
  • Πηγή Διεύθυνση: Η διεύθυνση πηγής είναι μια διεύθυνση 32-bit της πηγής που χρησιμοποιείται για το πακέτο IPv4.
  • Διεύθυνση προορισμού: Η διεύθυνση προορισμού έχει επίσης μέγεθος 32 bit και αποθηκεύει τη διεύθυνση του παραλήπτη.
  • Επιλογές IP: Αυτό είναι ένα προαιρετικό πεδίο της κεφαλίδας IPv4, που χρησιμοποιείται όταν η τιμή του IHL (Internet Header Length - Μήκος Κεφαλίδας Διαδικτύου) έχει οριστεί μεγαλύτερη από 5. Περιέχει τιμές και ρυθμίσεις που σχετίζονται με την ασφάλεια, τη διαδρομή εγγραφής, τη χρονική σήμανση και παρόμοιες επιλογές. Η λίστα επιλογών συνήθως τελειώνει με έναν δείκτη Τέλος Λίστας Επιλογών (EOL).
  • Δεδομένα: Αυτό το πεδίο αποθηκεύει τα δεδομένα από το επίπεδο πρωτοκόλλου που έχει παραδώσει τα δεδομένα στο επίπεδο IP.

Πώς να υπολογίσετε το μήκος της κεφαλίδας IPv4

Το πεδίο Μήκος Κεφαλίδας Διαδικτύου (IHL) λέει σε έναν δρομολογητή ακριβώς πόσο μήκος έχει η κεφαλίδα, ώστε να γνωρίζει πού τελειώνει η κεφαλίδα και πού αρχίζουν τα δεδομένα. Επειδή το πεδίο έχει πλάτος μόνο 4 bit, δεν αποθηκεύει απευθείας το μήκος σε byte. Αντίθετα, μετράει την κεφαλίδα σε λέξεις 32-bit, όπου κάθε λέξη ισούται με 4 byte.

Για να μετατρέψετε την τιμή IHL σε bytes, πολλαπλασιάστε την επί 4:

  • Ελάχιστο: Η μικρότερη νόμιμη τιμή IHL είναι 5, επομένως 5 × 4 = 20 bytes. Αυτή είναι μια κεφαλίδα χωρίς επιλογές.
  • Μέγιστη: Η μεγαλύτερη τιμή IHL είναι 15, επομένως 15 × 4 = 60 byte. Τα επιπλέον 40 byte περιέχουν προαιρετικά πεδία.

Ας εξετάσουμε ένα λειτουργικό παράδειγμα. Εάν ένα πακέτο φτάσει με τιμή IHL 6, το μήκος της κεφαλίδας είναι 6 × 4 = 24 bytes, που σημαίνει ότι υπάρχουν 4 bytes επιλογών μετά την τυπική κεφαλίδα των 20 byte. Για να βρείτε το μέγεθος του ωφέλιμου φορτίου, υπολογίστεtract το μήκος της κεφαλίδας από το πεδίο Total Length. Εάν το Total Length είναι 1,500 byte και η κεφαλίδα είναι 24 byte, τότε το ωφέλιμο φορτίο είναι 1,500 − 24 = 1,476 byte.

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

Κεφαλίδα IPv4 έναντι IPv6

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

Χαρακτηριστικό Κεφαλίδα IPv4 Κεφαλίδα IPv6
Μέγεθος κεφαλίδας 20 έως 60 bytes (μεταβλητό) 40 bytes (σταθερό)
Αριθμός πεδίων 13 πεδία συν επιλογές 8 πεδία
Μήκος διεύθυνσης Πηγή και προορισμός 32-bit Πηγή και προορισμός 128-bit
Άθροισμα ελέγχου κεφαλίδας Παρουσιάστε Καταργήθηκε
Πεδία κατακερματισμού Στην βασική κεφαλίδα (Αναγνώριση, Σημαίες, Μετατόπιση) Μετακινήθηκε σε μια κεφαλίδα επέκτασης Fragment
Επιλογές Μεταφέρεται μέσα στην κεφαλίδα Μεταφέρεται σε κεφαλίδες επέκτασης
Πεδίο μήκους Συνολικό μήκος (κεφαλίδα συν δεδομένα) Μήκος ωφέλιμου φορτίου (μόνο ωφέλιμο φορτίο)

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

Γιατί είναι σημαντική η κεφαλίδα IP

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

  • Δρομολόγηση: Η διεύθυνση προορισμού λέει σε κάθε δρομολογητή πού να προωθήσει το πακέτο, ενώ η διεύθυνση προέλευσης επιτρέπει την επιστροφή απαντήσεων και μηνυμάτων σφάλματος.
  • Πρόληψη βρόχου: Το πεδίο «Χρόνος Ζωής» μειώνεται σε κάθε βήμα, επομένως ένα πακέτο που έχει δρομολογηθεί λανθασμένα απορρίπτεται αντί να περιφέρεται στο διαδίκτυο για πάντα.
  • Παράδοση στο σωστό πρωτόκολλο: Το πεδίο Protocol (Πρωτόκολλο) ενημερώνει τον κεντρικό υπολογιστή λήψης εάν θα παραδώσει το ωφέλιμο φορτίο σε TCP, UDP ή σε άλλο πρωτόκολλο.
  • Integrity και επανασυναρμολόγηση: Το άθροισμα ελέγχου προστατεύει την κεφαλίδα από καταστροφή και τα πεδία Identification, Flags και Fragment Offset επιτρέπουν την ανακατασκευή ενός κατακερματισμένου datagram με τη σωστή σειρά.

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

Συχνές Ερωτήσεις

Το Μήκος Κεφαλίδας (IHL) μετρά μόνο την κεφαλίδα, σε λέξεις 32-bit, και κυμαίνεται από 20 έως 60 byte. Το Συνολικό Μήκος μετρά ολόκληρο το datagram — κεφαλίδα συν δεδομένα — σε byte, έως 65,535.tracΗ απόκλιση του ενός από το άλλο δίνει το μέγεθος του ωφέλιμου φορτίου.

Ο κατακερματισμός διαιρεί ένα datagram που είναι μεγαλύτερο από το μέγιστο όριο ενός συνδέσμου. Transmission Μονάδα σε μικρότερα κομμάτια. Τα πεδία Identification (Αναγνώριση), Flags (Σημαίες) και Fragment Offset (Μετατόπιση τμημάτων) επιτρέπουν στον προορισμό να επανασυναρμολογήσει τα κομμάτια με τη σειρά. Αυτό συμβαίνει κάθε φορά που ένα πακέτο πρέπει να διασχίσει ένα δίκτυο με μικρότερο MTU.

Μια κεφαλίδα IPv4 έχει 13 σταθερά πεδία — Έκδοση, Διεθνές Δίκαιο Χημικό Δίκαιο, Τύπος Υπηρεσίας, Συνολικό Μήκος, Αναγνώριση, Σημαίες, Μετατόπιση Τμήματος, TTL, Πρωτόκολλο, Άθροισμα Ελέγχου, Διεύθυνση Πηγής, Διεύθυνση Προορισμού, καθώς και ένα προαιρετικό πεδίο Επιλογές. Η ενότητα Δεδομένα που ακολουθεί είναι το ωφέλιμο φορτίο, όχι πεδίο κεφαλίδας.

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

Όταν το TTL φτάσει στο μηδέν, ο δρομολογητής απορρίπτει το πακέτο και επιστρέφει ένα μήνυμα ICMP Time Exceeded στην πηγή. Αυτό αποτρέπει την αναζήτηση πακέτων.ping για πάντα σε έναν βρόχο δρομολόγησης. Το traceroute Το εργαλείο βασίζεται σε αυτή τη συμπεριφορά για να χαρτογραφήσει κάθε άλμα κατά μήκος μιας διαδρομής.

Το πεδίο Πρωτόκολλο προσδιορίζει ποιο πρωτόκολλο ανώτερου επιπέδου θα πρέπει να λάβει το ωφέλιμο φορτίο στον προορισμό. Οι συνήθεις τιμές είναι 6 για το TCP, 17 για το UDP και 1 για το ICMP. Ο κεντρικός υπολογιστής λήψης διαβάζει αυτόν τον αριθμό για να μεταβιβάσει τα δεδομένα στον σωστό χειριστή.

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

GitHub Copilot μπορεί να συντάξει Python ή κώδικας C που αποσυμπιέζει τα πεδία κεφαλίδας IP, αποκωδικοποιεί σημαίες και επικυρώνει αθροίσματα ελέγχου από ένα σύντομο σχόλιο. RevΕξετάστε προσεκτικά τη δημιουργημένη λογική μάσκας bit, καθώς οι μετατοπίσεις off-by-one είναι μια κοινή πηγή σφαλμάτων ανάλυσης.

Συνοψίστε αυτήν την ανάρτηση με: