Το αυτοδύναμο πακέτο IP (datagram) - Δομή πακέτου 2

preview_player
Показать описание
3.2 Το αυτοδύναμο πακέτο IP (datagram) - Δομή πακέτου
Τα πεδία της επόμενης, δεύτερης λέξης των 32 bit του αυτοδύναμου πακέτου,
χρησιμοποιούνται για την περίπτωση που απαιτείται διάσπαση ή κατάτμηση (fragmentation) του πακέτου IP.
Όταν το πακέτο πρόκειται να διέλθει από δίκτυο το οποίο
στο δεύτερο επίπεδο (ζεύξης δεδομένων)
υποστηρίζει πλαίσια μικρότερου μεγέθους από το αυτοδύναμο πακέτο, τότε μοναδικός τρόπος για να εξυπηρετηθεί είναι
να διασπαστεί σε μικρότερα τμήματα,
να περάσουν από το δίκτυο και στον προορισμό
να επανασυνδεθούν
στο αρχικό πακέτο IP.
Τα κομμάτια αυτά του αρχικού πακέτου, τα τμήματα, αποτελούν νέα αυτοδύναμα πακέτα.
Για να μπορεί το πρωτόκολλο IP να γνωρίζει σε ποιο αρχικό πακέτο ανήκουν,
χρησιμοποιείτο πεδίο Αναγνώριση (Identification), μήκους 16 bit,
το οποίο είναι η ταυτότητα του πακέτου.
Το πεδίο αυτό είναι διαφορετικό σε κάθε πακέτο
αλλά ίδιο στα πακέτα που είναι τμήματα
του ίδιου αρχικού πακέτου.
Για να μπορέσει ο υπολογιστής προορισμού να τα βάλει με τη σωστή σειρά
χρησιμοποιείται το πεδίο Σχετική Θέση Τμήματος (Fragment Offset), μήκους 13 bit,
η οποία δείχνει τη σχετική απόσταση του τμήματος
από την αρχή του αρχικού πακέτου σε οκτάδες (8x) byte.
Η Σχετική Θέση Τμήματος η οποία αναφέρεται και ως Δείκτης Εντοπισμού Τμήματος (ΔΕΤ),
είναι ένας αριθμός ο οποίος υπολογίζεται ως εξής:
Fragment_offset = n * INT((MTU - IHL*4) / 8)
Στη διαδικασία της κατάτμησης σημαντικό ρόλο παίζουν και οι σημαίες MF και DF.
Οι σημαίες είναι μεμονωμένα bit των οποίων η κατάσταση είναι 1 ή 0 και έχουν να δηλώσουν κάτι.
Έτσι η σημαία MF (More Fragments), ύπαρξη περισσότερων τμημάτων, όταν είναι ενεργοποιημένη (1) δηλώνει ότι ακολουθούν και άλλα τμήματα
ενώ όταν είναι απενεργοποιημένη (0) δηλώνει ότι είναι το τελευταίο τμήμα
διασπασμένου πακέτου ή μεμονωμένο πακέτο.
Εάν για οποιοδήποτε λόγο το αυτοδύναμο πακέτο δεν πρέπει να διασπαστεί
τότε η σημαία DF (Don't Fragment), απαγόρευση διάσπασης, τίθεται σε τιμή (1).
Έτσι κατά τη δρομολόγηση του πακέτου θα ακολουθηθεί διαδρομή με MTU που δεν απαιτεί διάσπαση
ή αν αυτό δεν είναι δυνατό, το πακέτο θα απορριφθεί και ενδεχομένως να ειδοποιηθεί ο αποστολέας
για την ενέργεια αυτή του δικτύου.
Στο πρωτόκολλο IPv6 η διάσπαση των πακέτων διενεργείται μόνο από τον υπολογιστή προέλευσης
με βάση το μικρότερο MTU της διαδρομής (Path MTU - PMTU)
και όχι από τους ενδιάμεσους δρομολογητές.

Η διαδικασία της κατάτμησης (fragmentation) στο IPv4 περιγράφεται με περισσότερη λεπτομέρεια σε επόμενο παράδειγμα.Το πεδίο Χρόνος Ζωής (Time To Live - TTL) μήκους 8 bit,
ξεκινά από τον αποστολέα
με μια αρχική τιμή, συνήθως 64,
και κάθε δρομολογητής, από τον οποίο διέρχεται το πακέτο,
μειώνει την τιμή κατά ένα.
Όταν η τιμή μηδενιστεί το πακέτο απορρίπτεται
και επιστρέφεται στον αποστολέα
διαγνωστικό μήνυμα σφάλματος
υπέρβασης χρόνου (time exceeded).
Κάθε διέλευση του πακέτου από κόμβο χαρακτηρίζεται αναπήδηση (hop).
Έτσι το συγκεκριμένο πεδίο μπορεί να χαρακτηριστεί
και αντίστροφος μετρητής αναπηδήσεων (hops).
Πρακτικά λειτουργεί ως όριο απόρριψης του πακέτου
όταν αυτό έχει καθυστερήσει,
έχει χαθεί στη διαδρομή
ή έχει συμβεί κάποιο σφάλμα
με τη διεύθυνση προορισμού
και περιφέρεται άσκοπα στο δίκτυο.
Το πεδίο αυτό χρησιμοποιεί η εντολή traceroute
ή tracert για να ιχνηλατήσει τη διαδρομή,
να καταγράφει δηλαδή τους ενδιάμεσους κόμβους
από τους οποίους διέρχονται τα πακέτα προς ένα προορισμό.
Στέλνει διαδοχικά πακέτα με TTL αρχικά 1
και στη συνέχεια το αυξάνει κατά ένα.
Έτσι στο πρώτο πακέτο το πεδίο TTL με τιμή 1
αφού μειωθεί κατά 1 στον πρώτο κόμβο μηδενίζεται,
ο κόμβος το απορρίπτει (drop),
το αναφέρει και καταγράφεται ποιος είναι.
Στο δεύτερο πακέτο το πεδίο TTL=2 μηδενίζεται στον δεύτερο κόμβο κ.ο.κ.
μέχρι για κάποια τιμή TTL να καταφέρει να φτάσει στον προορισμό.
Εν τω μεταξύ έχουν κατανραφεί όλοι οι ενδιάμεσοί κόμβοι στη διαδρομή προς τον προορισμό.
SPYROS ZYGOURIS
Σπύρος Ζυγούρης
ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ
VISUALISED COURSES
Рекомендации по теме