Δίκτυα Υπολογιστών Κεφάλαιο 33 – Πρωτόκολλο IP: IPv6 Επικεφαλίδα

Δημοσιεύτηκε από τον/την codebrakes στις

Δίκτυα Υπολογιστών
Κεφάλαιο 33 - Πρωτόκολλο IP: IPv6 Επικεφαλίδα

Δομή IPv6 επικεφαλίδας

Η επικεφαλίδα του IPv6 είναι πολύ πιο απλή και περιεκτική σε σχέση με αυτήν της IPv4 επικεφαλίδας. Περιέχει μόνο την απαραίτητη πληροφορία που χρειάζεται προκειμένου να προωθηθεί ένα IPv6 πακέτο. Η IPv6 επικεφαλίδα έχει σταθερό μήκος 40 bytes και συνεπώς οι δρομολογητές (routers) έχουν καλύτερη απόδοση όταν θα το επεξεργαστούν. Η παρακάτω εικόνα αποτυπώνει την δομή ενός IPv6 πακέτου.


IPv6 Επικεφαλίδα
(IPv6 header)
Επέκταση επικεφαλίδας
extension header
Στοιχεία ανωτέρου επιπέδου
Upper-Layer protocol data


Δομή ενός IPv6 πακέτου

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

Πεδία IPv6 Επικεφαλίδας

  1. Έκδοση (Version): Πεδίο μήκους 4 bits το οποίο περιέχει τον αριθμό 6. Υποδεικνύει την έκδοση του IPv6 πρωτοκόλλου κι έχει μέγεθος ίδιο με αυτό του IPv4.
  2. Κλάση Κινήσεως (Traffic Class): Πεδίο μήκους 8 bit το οποίο χωρίζεται σε δύο μέρη, το πρώτο μέρος (6 bits) αφορά τον τύπο υπηρεσιών (Type of Service – TOS) προκειμένου να ενημερώσει έναν δρομολογητή για την προτεραιότητα ενός πακέτου. Τα τελευταία 2 bits χρησιμοποιούνται για ECN.
  3. Ετικέτα Ροής (Flow Label): Πεδίο μήκους 20 bits όπου παρέχει υποστήριξη για αντίστοιχες υπηρεσίες πραγματικού χρόνου (real-time) και ποιότητας υπηρεσιών. Αυτό το πεδίο αναλαμβάνει τον ρόλο ενδείξεως για ένα IPv6 πακέτο υποδεικνύοντας σε ποια ροή δεδομένων ανήκει.
  4. Μήκος Ωφέλιμου Φορτίου (Payload): Πεδίο μήκους 16 bits το οποίο υποδικνύει το μήκος του ωφέλιμου φορτίου (payload), συμπεριλαμβάνοντας τις αντίστοιχες επεκτάσεις επικεφαλίδας καθώς και τα στοιχεία που προσθέτει το ανώτερο επίπεδο.
  5. Επόμενη Κεφαλίδα (Next Header): Πεδίο μήκους 8 bits το οποίο υποδεικνύει τον τύπο της πρώτης επέκτασης (αν κι εφόσον υπάρχει κάποια επέκταση στο αντίστοιχο IPv6 αυτοδύναμο πακέτο) ή το πρωτόκολλο του ανωτέρου επιπέδου όπως το TCP, UDP ή ICMPv6.
  6. Όριο Αλμάτων (Hop Limit): Πεδίο μήκους 8 bits το οποίο υποδεικνύει μέγιστο αριθμό των δρομολογητών (routers) από το οποίο μπορεί να περάσει ένα IPv6 αυτοδύναμο πακέτο. Αυτό το πεδίο είναι παρόμοιο με το αντίστοιχο πεδίο χρόνου ζωής (Time-To-Live – TTL) που υπάρχει στην IPv4 επικεφαλίδα.
  7. Διεύθυνση Πηγής IPv6 (Source IPv6 Address): Πεδίο μήκους 128 bits το οποίο περιέχει την IPv6 διεύθυνση πηγής.
  8. Διεύθυνση Προορισμού IPv6 (Destination IPv6 Address): Πεδίο μήκους 128 bits το οποίο περιέχει την IPv6 διεύθυνση προορισμού.
                      Δομή IPv6 επικεφαλίδας

                      Κεφαλίδες επέκτασης του IPv6

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

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

                                          Διαδοχική σειρά των επεκτάσεων κεφαλίδας στην IPv6 επικεφαλίδα
                                          Σύνδεση IPv6 επεκτάσεων επικεφαλίδας με χρήση του πεδίου επόμενης κεφαλίδας
                                          IPv6 πακέτο με επεκτάσεις κεφαλίδας

                                          Ο παρακάτω πίνακας περιγράφει όλες τις επεκτάσεις κεφαλίδας του IPv6:

                                          Τύπος
                                          Επικεφαλίδας
                                          Επόμενος κωδικός
                                          κεφαλίδας

                                          Περιγραφή
                                          Βασική IPv6
                                          επικεφαλίδα

                                          ----

                                          ----
                                          Επιλογές
                                          Hop-by-Hop

                                          0
                                          Χρήσιμες πληροφορίες για τους ενδιάμεσους δρομολογητές από τους οποίους θα περάσει το πακέτο
                                          Επιλογές προορισμού
                                          (με επιλογές δρομολόγησης)

                                          60
                                          Πρόσθετες πληροφορίες που μπορεί να χρειαστούν όταν το πακέτο φτάσει στον τελικό προορισμό του
                                          Δρομολόγησης
                                          43
                                          Μέθοδοι που ορίζουν την διαδρομή που θα ακολουθήσει ένα πακέτο
                                          Κατακερματισμού
                                          44
                                          Περιέχει διάφορες παραμέτρους για τον κατακερματισμό των αυτοδύναμων πακέτων (datagrams).
                                          Πιστοποίησης
                                          ταυτότητας

                                          51
                                          Περιέχει χρήσιμη πληροφορία για την επαλήθευση της αυθεντικότητας του αποστολέα
                                          Ασφαλούς ενθυλάκωσης
                                          ωφέλιμου φορτίου

                                          50
                                          Περιέχει χρήσιμη πληροφορία για την επαλήθευση της αυθεντικότητας του αποστολέα
                                          Επιλογές
                                          προορισμού

                                          60
                                          Πρόσθετες πληροφορίες που μπορεί να χρειαστούν όταν το πακέτο φτάσει στον τελικό προορισμό του
                                          Επικεφαλίδα
                                          φορητότητας

                                          135
                                          Παράμετροι που χρησιμοποιούνται στο Mobile IPv6.
                                          Καμία επικεφαλίδα
                                          59

                                          ----

                                          Επεκτάσεις κεφαλίδας στο IPv6



                                          1 Βασική IPv6 επικεφαλίδα
                                          2 Επιλογές Hop-by-Hop
                                          3 Επιλογές προορισμού (με επιλογές δρομολόγησης) *1
                                          4 Δρομολόγησης
                                          5 Κατακερματισμού
                                          6 Πιστοποίησης ταυτότητας
                                          6 Πιστοποίησης ταυτότητας
                                          7 Ασφαλούς ενθυλάκωσης ωφέλιμου φορτίου
                                          8 Επιλογές προορισμού *2
                                          9 Επικεφαλίδα φορητότητας

                                          Ιεραρχική σειρά των IPv6 κεφαλίδων επέκτασης


                                          Οι σημειωμένες (με κόκκινο) επικεφαλίδες του πίνακα:

                                          1. Επεξεργάζονται από τον αρχικό κόμβο και τους ενδιάμεσους κόμβους.
                                          2. Επεξεργάζονται μόνο από τον τελικό προορισμό.

                                          Κεφαλίδες επέκτασης του IPv6

                                          • Επικεφαλίδα Hop-by-hop και επιλογής προορισμού: Η επικεφαλίδα επιλογών Hop-by-Hop ελέγχεται από όλους τους κόμβους από τους οποίους θα περάσει το IPv6 πακέτο, ενώ η επικεφαλίδα επιλογής προορισμού ελέγχεται μόνο από την συσκευή του παραλήπτη. Και οι δύο αυτές επεκτάσεις επικεφαλίδας έχουν μέγεθος 8 bytes.
                                          Δομή κεφαλίδας και hop-by-hop επιλογής προορισμού
                                          Τεχνική Anycast

                                          Η τεχνική anycast αφορά την επικοινωνία ανάμεσα σε έναν αποστολέα και τους χρονικά κοντινότερους του παραλήπτες που ανήκουν σε ένα group. Η τεχνική anycast χρησιμοποιείται στο IPv6 ως μια μέθοδος ανανέωσης πινάκων δρομολόγησης. Για παράδειγμα ένας host πραγματοποιεί μια ανανέωση ενός πίνακα δρομολόγησης για ένα group από hosts και στέλνει τα δεδομένα στον αμέσως κοντινότερο του host. Μετέπειτα αυτός ο host στέλνει το μήνυμα στον αμέσως κοντινότερο κόμβο έως ότου όλοι οι πίνακες σε αυτό το group ανανεωθούν.

                                          Μήκος IPv6 διευθύνσεων

                                          Στο IPv4, οι IP διευθύνσεις είναι μήκους 32 bits και διαχωρίζονται σε 4 οκτάδες των 8 bits η κάθε μια. Θεωρητικά το μήκος των IPv4 διευθύνσεων είναι 232 ή 4,294,967,296 δισεκατομμύρια διευθύνσεις. Για να αυξηθεί ο χώρος διευθύνσεων απλά επεκτείνουμε το μήκος των διευθύνσεων, δηλαδή κάθε επιπλέον bit που δίνουμε στο μήκος διευθύνσεων αυξάνει και τον χώρο των επιπλέων διευθύνσεων. Πάνω σε αυτήν την λογική οι σχεδιαστές του IPv6 αποφάσισαν ότι έπρεπε να αυξήσουν τον χώρο των διευθύνσεων από 32 σε 128 bits ή αλλιώς σε 16 οκτάδες των 8 bits.

                                          Τα 128 bits της IPv6 διεύθυνσης υποδηλώνουν ότι το μέγεθος του χώρου των IPv6 διευθύνσεων είναι κυριολεκτικά αστρονομικό (όπως δηλαδή τα αριθμητικά ποσά που χρησιμοποιούν επιστήμονες της NASA για να περιγράψουν αποστάσεις από πλανήτες ή άλλους γαλαξίες κλπ). Εν ολίγης αριθμός των διευθύνσεων που μπορεί να υποστηρίξει το IPv6 είναι εξωπραγματικός. Η παρακάτω εικόνα δίνει μια ιδέα του αστρονομικού ποσού αυτού.

                                          Όνομα
                                          υποπεδίου
                                          Μήκος
                                          (σε bytes)

                                          Περιγραφή
                                          Τύπος
                                          επιλογής
                                          1 byte Αυτό το πεδίο υποδεικνύει τον τύπο επιλογής. Ο παρακάτω πίνακας δείχνει τις τιμές αυτού του πεδίου:
                                          1. Ενέργεια μη αναγνωρισμένης επιλογής (2-bits): Τα πρώτα δύο bits υποδικνύουν ποία ενέργεια πρέπει να παρθεί αν μια συσκευή δεν αναγνωρίζει κάποιον τύπο επιλογής. Υπάρχουν 4 τιμές οι οποίες είναι:

                                            • 00: Επιλογή παράλειψης, επεξεργασίας της υπόλοιπης επικεφαλίδας

                                            • 01: Απόρριψη αυτόδυναμου πακέτου

                                            • 10: Απόρριψη αυτοδύναμου πακέτου και στείλε ICMP μήνυμα με κωδικό 2 (Parameter problem message) πίσω στην πηγή απ' όπου ήρθε

                                            • 11: Απέρριψε το πακέτο και στείλε ένα ICMP μήνυμα (όπως το παραπάνω) αν ο προορισμός δεν έχει Multicast διεύθυνση


                                          2. Ένδειξη αλλαγής επιλογής (1-bit): Θα πάρει την τιμή 1 αν η επιλογή δεδομένων μπορεί να αλλάξει την στιγμή που στέλνεται το πακέτο. Σε διαφορετική περίπτωση θα πάρει την τιμή 0.


                                          3. Υπενθύμιση του τύπου επιλογής (5-bits): Πέντε τελευταία bits τα οποία επιτρέπουν τον ορισμό 32 διαφορετικών συνδυασμών για κάθε συνδυασμό των τριών bits παραπάνω
                                          Μήκος επιλογής
                                          δεδομένων
                                          1 byte Ορίζει το μήκος της επιλογής δεδομένων.
                                          Επιλογή
                                          δεδομένων
                                          Μεταβαλλόμενο Τα δεδομένα που πρόκειται να σταλθούν ως μέρος της επιλογής (όπου προφανώς αυτή ορίζει)

                                          Δομή IPv6 επιλογών

                                          • Κεφαλίδα δρομολόγησης: Η κεφαλίδα δρομολόγησης χρησιμοποιείται για να κατευθύνει ένα πακέτο σε έναν ή περισσότερους ενδιάμεσους κόμβους πρώτού αυτό σταλθεί προς τον τελικό του προορισμό. Μπορούμε να πούμε ότι είναι παρόμοιο με την χαλαρή δρομολόγηση που γίνεται στο IPv4 όπου κάθε πακέτο οφείλει να περάσει από ένα σύνολο δρομολογητών προκειμένου αυτό να φτάσει στον τελικό του προορισμό. Η μορφή της επικεφαλίδας αποτυπώνεται στην παρακάτω εικόνα:
                                          Δομή κεφαλίδας επέκτασης δρομολόγησης
                                            • Τα πεδία επόμενης κεφαλίδας και μήκους κεφαλίδας είναι ίδια ακριβώς με τις κεφαλίδες hop-by-hop και επιλογής προορισμού. Μετέπειτα έχουμε το πεδίο τύπου δρομολόγησης όπου ορίζει διάφορους τύπους δρομολόγησης, προς το παρόν οι τιμές που παίρνει είναι οι 0, 1 και 2.
                                            • Η τιμή 0 δεν χρησιμοποιείται στους home routers καθότι είναι επιρρεπής σε επιθέσεις DoS. Η τιμή 1 χρησιμοποιείται στον αλγόριθμο δρομολόγησης Nimrod που σχεδιάστηκε από την DARPA. Η τιμή 2 χρησιμοποιείται για mobile IPv6 αρχιτεκτονικές.
                                            • Το πεδίο υπόλοιπων τμημάτων ορίζει τον αριθμό των συγκεκριμένων κόμβων που έχουν απομείνει έως ότου το IPv6 πακέτο φτάσει στον τελικό του προορισμό.
                                            • Το πεδίο δεσμευμένο (reserved) δεν χρησιμοποιείται και παίρνει την τιμή 0.
                                            • Το τελευταίο πεδίο αφορά το σύνολο των IPv6 διευθύνσεων που ορίζουν την διαδρομή του πακέτου.
                                          • Κεφαλίδα Κατακερματισμού: Η επέκταση κεφαλίδας κατακερματισμού περιέχεται στα κατακερματισμένα αυτοδύναμα πακέτα έτσι ώστε να μπορέσουν όταν φτάσουν στον παραλήπτη να ανασυναρμολογηθούν καταλλήλως. Συνεπώς περιέχει χρήσιμη πληροφορία η οποία βοηθάει στην επανασυναρμολόγηση ενός κατακερματισμένου αυτοδύναμου πακέτου.
                                          Δομή κεφαλίδας κατακερματισμού
                                            • Το πεδίο επόμενης κεφαλίδας περιέχει τον αριθμό πρωτοκόλλου της επόμενης κεφαλίδας που ακολουθεί μετά από την κεφαλίδα κατακερματισμού. Χρησιμοποιείται για να συνδέσει τις διάφορες επικεφαλίδες μεταξύ τους.
                                            • Το πεδίο δεσμευμένο δεν χρησιμοποιείται και παίρνει την τιμή 0. Το πεδίο κατακερματισμένων τμημάτων υποδηλώνει τον αριθμό του τμήματος από το συνολικό κατακερματισμένο μήνυμα Το πεδίο Res δεν χρησιμοποιείται και συνεπώς παίρνει την τιμή 0. Το πεδίο Mflag αποτελεί πεδίο ένδειξης, δηλαδή αν το πεδίο αυτό έχει την τιμή 1 τότε σημαίνει πως μετά από αυτό θα έρθουν κι άλλα τμήματα. Όταν έχει την τιμή 0 τότε πρόκειται για το τελευταίο τμήμα.
                                            • Τέλος το πεδίο του αναγνωριστικού περιέχει μια συγκεκριμένη τιμή η οποία είναι παρόμοια σε κάθε τμήμα. Αυτό το πεδίο ουσιαστικά μαρκάρει κάθε πακέτο μιας συγκεκριμένης ροής δεδομένων έτσι ώστε αυτά να μην μπερδευτούν με άλλα αντίστοιχα πακέτα από διαφορετικές ροές.
                                            Σύγκριση του χώρου διευθύνσεων μεταξύ του IPv4 και IPv6

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

                                            Κωδικός Πρωτόκολλο/
                                            κεφαλίδα

                                            Περιγραφή
                                            0 HBH Hop-by-Hop κεφαλίδα
                                            1 ICMP Internet Control Message Protocol
                                            2 IGMP Internet Group Management
                                            3 GGP Gateway-to-Gateway Protocol
                                            4 IP Internet Protocol
                                            5 ST Steam
                                            6 TCP Transmission Control Protocol
                                            8 EGP Exterior Gateway Protocol
                                            9 IGP Any private interior gateway
                                            16 CHAOS Chaos
                                            17 UDP User Datagram Protocol
                                            29 ISO-TP4 ISO Transport Protocol Class 4
                                            43 RH Κεφαλίδα δρομολόγησης
                                            44 FH Κεφαλίδα κατακερματισμού
                                            45 IDPR Inter-Domain Routing Protocol
                                            46 RSVP Reservation Protocol
                                            50 ESP Encapsulating Security Payload
                                            51 AH Κεφαλίδα πιστοποίησης ταυτότητας
                                            58 ICMPv6 Internet Control Message
                                            59 NULL Καμία κεφαλίδα
                                            60 DOH Κεφαλίδα επιλογής προορισμού
                                            80 ISO-IP ISO Internet Protocol
                                            88 IGRP Interior Gateway Routing Protocol
                                            89 OSPF Open Shortest Path First
                                            93 AX.25 AX.25 Frames

                                            Πιθανές τιμές του πεδίου επόμενης κεφαλίδας

                                            Ασφάλεια (IPsec) στο IPv6: Κεφαλίδες κρυπτογράφησης

                                            Το IPsec ορίζει ασφάλεια σε επίπεδο κρυπτογράφησης τόσο για το IPv4 όσο και για το IPv6. Το IPsec είναι προαιρετικό στο IPv4 ενώ στο IPv6 υπάρχει ενσωματωμένος μηχανισμός. Το IPv6 παρέχει δύο κεφαλίδες ασφάλειας που μπορούν να χρησιμοποιηθούν είτε ξεχωριστά είτε ενιαία. Η πρώτη κεφαλίδα είναι η κεφαλίδα πιστοποίησης ταυτότητας και η δεύτερη είναι η κεφαλίδα ασφαλούς ενθυλάκωσης ωφέλιμου φορτίου (ESP) που χρησιμοποιείται κατά την διάρκεια της σύνδεσης με ανταλλαγή κλειδιών ασφαλείας.

                                            Δομή κεφαλίδας πιστοποίησης ταυτότητας
                                            Δομή κεφαλίδας ασφαλούς ενθυλάκωσης ωφέλιμου φορτίου (ESP)
                                            Κεφαλίδες κρυπτογράφησης του IPv6
                                            Κεφαλίδα πιστοποίησης
                                            ταυτότητας
                                            Κεφαλίδα ασφαλούς ενθυλάκωσης
                                            ωφέλιμου φορτίου (ESP)
                                            Παρέχει τα εξής στοιχεία:
                                            • Ακεραιότητα δεδομένων και προστασία ενάντια σε συνεχές επιθέσεις.

                                            • Γίνεται χρήση του πεδίου ελέγχου τιμής ακεραιότητας (Integrity Check Value - ICV) για να διασφαλίσει την ακεραιότητα των δεδομένων. Το ICV υπολογίζεται πάνω στο ωφέλιμο φορτίο και την επικεφαλίδα του IPv6 πακέτου.

                                            • Δεν παρέχει όμως εμπιστευτικότητα για τα περιεχόμενα του πακέτου.

                                            Παρέχει τα εξής στοιχεία:

                                            • Ακεραιότητα δεδομένων,

                                            • Προστασία ενάντια σε συνεχές επιθέσεις,

                                            • Περιορισμένη εμπιστευτικότητα όσων αφορά την ροής κινήσεως των πακέτων.

                                            Σύγκριση IPv4 και IPv6 επικεφαλίδων

                                            IPv4 και IPv6 επικεφαλίδες
                                            1. Η IPv6 επικεφαλίδα είναι πολύ πιο απλή σε σχέση με την IPv4 επικεφαλίδα.
                                            2. Το μήκος της IPv6 επικεφαλίδας είναι πολύ μεγαλύτερο από αυτό της IPv4 επικεφαλίδας, προφανώς λόγω του μεγέθους των IPv6 διευθύνσεων. Οι IPv4 διευθύνσεις είναι μήκους 32 bit και οι IPv6 διευθύνσεις είναι μήκους 128 bits.
                                            3. Η IPv4 επικεφαλίδα περιέχει το πεδίο επιλογών όμως στο IPv6 δεν υπάρχει αντίστοιχο πεδίο. Μπορούμε να πούμε ότι την διαδικασία αυτή στο IPv6 την αναλαμβάνουν οι επεκτάσεις επικεφαλίδας.
                                            4. Τα πεδία μήκος επικεφαλίδας, αναγνωριστικού και σημαίες της IPv4 επικεφαλίδας δεν υπάρχουν στο IPv6.
                                            5. Το πεδίο χρόνου ζωής (TTL) της IPv4 επικεφαλίδας που χρησιμοποιείται για την αποφυγή routing loop, στο IPv6 έχει αντιστοιχηθεί με το πεδίο ορίου άλματος (hop limit)

                                            Τελευταία ενημέρωση: 29/04/2018