Η επικεφαλίδα του IPv6 είναι πολύ πιο απλή και περιεκτική σε σχέση με αυτήν της IPv4 επικεφαλίδας. Περιέχει μόνο την απαραίτητη πληροφορία που χρειάζεται προκειμένου να προωθηθεί ένα IPv6 πακέτο. Η IPv6 επικεφαλίδα έχει σταθερό μήκος 40 bytes και συνεπώς οι δρομολογητές (routers) έχουν καλύτερη απόδοση όταν θα το επεξεργαστούν. Η παρακάτω εικόνα αποτυπώνει την δομή ενός IPv6 πακέτου.
IPv6 Επικεφαλίδα (IPv6 header)
Επέκταση επικεφαλίδας extension header
Στοιχεία ανωτέρου επιπέδου Upper-Layer protocol data
Δομή ενός IPv6 πακέτου
Μπορούμε να διαχωρίσουμε το IPv6 αυτοδύναμο πακέτο σε τρία κομμάτια, το πρώτο είναι η IPv6 επικεφαλίδα το δεύτερο είναι η επέκταση επικεφαλίδας και το τρίτο είναι τα στοιχεία (ή πληροφορίες) που προσθέτει το ανώτερο επίπεδο.
Πεδία IPv6 Επικεφαλίδας
Έκδοση (Version): Πεδίο μήκους 4 bits το οποίο περιέχει τον αριθμό 6. Υποδεικνύει την έκδοση του IPv6 πρωτοκόλλου κι έχει μέγεθος ίδιο με αυτό του IPv4.
Κλάση Κινήσεως (Traffic Class): Πεδίο μήκους 8 bit το οποίο χωρίζεται σε δύο μέρη, το πρώτο μέρος (6 bits) αφορά τον τύπο υπηρεσιών (Type of Service - TOS) προκειμένου να ενημερώσει έναν δρομολογητή για την προτεραιότητα ενός πακέτου. Τα τελευταία 2 bits χρησιμοποιούνται για ECN.
Ετικέτα Ροής (Flow Label): Πεδίο μήκους 20 bits όπου παρέχει υποστήριξη για αντίστοιχες υπηρεσίες πραγματικού χρόνου (real-time) και ποιότητας υπηρεσιών. Αυτό το πεδίο αναλαμβάνει τον ρόλο ενδείξεως για ένα IPv6 πακέτο υποδεικνύοντας σε ποια ροή δεδομένων ανήκει.
Μήκος Ωφέλιμου Φορτίου (Payload): Πεδίο μήκους 16 bits το οποίο υποδικνύει το μήκος του ωφέλιμου φορτίου (payload), συμπεριλαμβάνοντας τις αντίστοιχες επεκτάσεις επικεφαλίδας καθώς και τα στοιχεία που προσθέτει το ανώτερο επίπεδο.
Επόμενη Κεφαλίδα (Next Header): Πεδίο μήκους 8 bits το οποίο υποδεικνύει τον τύπο της πρώτης επέκτασης (αν κι εφόσον υπάρχει κάποια επέκταση στο αντίστοιχο IPv6 αυτοδύναμο πακέτο) ή το πρωτόκολλο του ανωτέρου επιπέδου όπως το TCP, UDP ή ICMPv6.
Όριο Αλμάτων (Hop Limit): Πεδίο μήκους 8 bits το οποίο υποδεικνύει μέγιστο αριθμό των δρομολογητών (routers) από το οποίο μπορεί να περάσει ένα IPv6 αυτοδύναμο πακέτο. Αυτό το πεδίο είναι παρόμοιο με το αντίστοιχο πεδίο χρόνου ζωής (Time-To-Live - TTL) που υπάρχει στην IPv4 επικεφαλίδα.
Διεύθυνση Πηγής IPv6 (Source IPv6 Address): Πεδίο μήκους 128 bits το οποίο περιέχει την IPv6 διεύθυνση πηγής.
Διεύθυνση Προορισμού IPv6 (Destination IPv6 Address): Πεδίο μήκους 128 bits το οποίο περιέχει την IPv6 διεύθυνση προορισμού.
Δομή IPv6 επικεφαλίδας
Κεφαλίδες επέκτασης του IPv6
Το πεδίο επίλογών της IPv4 επικεφαλίδας χρησιμοποιείται για να μεταφερθεί κάποια αντίστοιχη πληροφορία σε ένα IP πακέτο ή τον τρόπο με τον οποίο αυτό θα πρέπει να επεξεργαστεί από τον δρομολογητή. Οι δρομολογητές όταν λάβουν ένα IP πακέτο οφείλουν να εξετάσουν την IPv4 επικεφαλίδα και συγκεκριμένα το πεδίο επιλογών της IPv4 επικεφαλίδας. Αυτό μας οδηγεί σε καθυστερήσεις και συνεπώς επηρεάζει την επίδοση ενός δικτύου. Το πεδίο επιλογών στην IPv4 επικεφαλίδα παίζει σημαντικό ρόλο στην λειτουργία του IP πρωτοκόλλου και συνεπώς οι δυνατότητες του πρέπει να διατηρηθούν και στο IPv6. Όμως, από την άλλη μεριά, το πεδίο επιλογών επηρεάζει πολύ σημαντικά την επίδοση ενός δικτύου κάτι το οποίο οι σχεδιαστές του 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 κεφαλίδων επέκτασης
Οι σημειωμένες (με κόκκινο) επικεφαλίδες του πίνακα:
Επεξεργάζονται από τον αρχικό κόμβο και τους ενδιάμεσους κόμβους
Επεξεργάζονται μόνο από τον τελικό προορισμό
Κεφαλίδες επέκτασης του IPv6
Επικεφαλίδα Hop-by-hop και επιλογής προορισμού: Η επικεφαλίδα επιλογών Hop-by-Hop ελέγχεται από όλους τους κόμβους από τους οποίους θα περάσει το IPv6 πακέτο, ενώ η επικεφαλίδα επιλογής προορισμού ελέγχεται μόνο από την συσκευή του παραλήπτη. Και οι δύο αυτές επεκτάσεις επικεφαλίδας έχουν μέγεθος 8 bytes.
Δομή κεφαλίδας και hop-by-hop επιλογής προορισμού
Όνομα υποπεδίου
Μήκος (σε bytes)
Περιγραφή
Τύπος επιλογής
1 byte
Αυτό το πεδίο υποδεικνύει τον τύπο επιλογής. Ο παρακάτω πίνακας δείχνει τις τιμές αυτού του πεδίου:
Ενέργεια μη αναγνωρισμένης επιλογής (2-bits): Τα πρώτα δύο bits υποδικνύουν ποία ενέργεια πρέπει να παρθεί αν μια συσκευή δεν αναγνωρίζει κάποιον τύπο επιλογής. Υπάρχουν 4 τιμές οι οποίες είναι:
00: Επιλογή παράλειψης, επεξεργασίας της υπόλοιπης επικεφαλίδας
01: Απόρριψη αυτόδυναμου πακέτου
10: Απόρριψη αυτοδύναμου πακέτου και στείλε ICMP μήνυμα με κωδικό 2 (Parameter problem message) πίσω στην πηγή απ' όπου ήρθε
11: Απέρριψε το πακέτο και στείλε ένα ICMP μήνυμα (όπως το παραπάνω) αν ο προορισμός δεν έχει Multicast διεύθυνση
Ένδειξη αλλαγής επιλογής (1-bit): Θα πάρει την τιμή 1 αν η επιλογή δεδομένων μπορεί να αλλάξει την στιγμή που στέλνεται το πακέτο. Σε διαφορετική περίπτωση θα πάρει την τιμή 0.
Υπενθύμιση του τύπου επιλογής (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 τότε πρόκειται για το τελευταίο τμήμα.
Τέλος το πεδίο του αναγνωριστικού περιέχει μια συγκεκριμένη τιμή η οποία είναι παρόμοια σε κάθε τμήμα. Αυτό το πεδίο ουσιαστικά μαρκάρει κάθε πακέτο μιας συγκεκριμένης ροής δεδομένων έτσι ώστε αυτά να μην μπερδευτούν με άλλα αντίστοιχα πακέτα από διαφορετικές ροές.
Κωδικός
Πρωτόκολλο/ κεφαλίδα
Περιγραφή
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) που χρησιμοποιείται κατά την διάρκεια της σύνδεσης με ανταλλαγή κλειδιών ασφαλείας.
Ακεραιότητα δεδομένων και προστασία ενάντια σε συνεχές επιθέσεις.
Γίνεται χρήση του πεδίου ελέγχου τιμής ακεραιότητας (Integrity Check Value - ICV) για να διασφαλίσει την ακεραιότητα των δεδομένων. Το ICV υπολογίζεται πάνω στο ωφέλιμο φορτίο και την επικεφαλίδα του IPv6 πακέτου.
Δεν παρέχει όμως εμπιστευτικότητα για τα περιεχόμενα του πακέτου.
Παρέχει τα εξής στοιχεία:
Ακεραιότητα δεδομένων,
Προστασία ενάντια σε συνεχές επιθέσεις,
Περιορισμένη εμπιστευτικότητα όσων αφορά την ροής κινήσεως των πακέτων.
Σύγκριση IPv4 και IPv6 επικεφαλίδων
IPv4 και IPv6 επικεφαλίδες
Η IPv6 επικεφαλίδα είναι πολύ πιο απλή σε σχέση με την IPv4 επικεφαλίδα
Το μήκος της IPv6 επικεφαλίδας είναι πολύ μεγαλύτερο από αυτό της IPv4 επικεφαλίδας, προφανώς λόγω του μεγέθους των IPv6 διευθύνσεων. Οι IPv4 διευθύνσεις είναι μήκους 32 bit και οι IPv6 διευθύνσεις είναι μήκους 128 bits.
Η IPv4 επικεφαλίδα περιέχει το πεδίο επιλογών όμως στο IPv6 δεν υπάρχει αντίστοιχο πεδίο. Μπορούμε να πούμε ότι την διαδικασία αυτή στο IPv6 την αναλαμβάνουν οι επεκτάσεις επικεφαλίδας.
Τα πεδία μήκος επικεφαλίδας, αναγνωριστικού και σημαίες της IPv4 επικεφαλίδας δεν υπάρχουν στο IPv6.
Το πεδίο χρόνου ζωής (TTL) της IPv4 επικεφαλίδας που χρησιμοποιείται για την αποφυγή routing loop, στο IPv6 έχει αντιστοιχηθεί με το πεδίο ορίου άλματος (hop limit)