IPv6

Το IPv6 (Internet Protocol version 6) είναι η πιο πρόσφατη αναθεώρηση του πρωτοκόλλου Internet (IP), του βασικού πρωτοκόλλου επικοινωνίας πάνω στο οποίο έχει χτιστεί ολόκληρο το διαδίκτυο. Πρόκειται να αντικαταστήσει το παλιότερο IPv4, το οποίο χρησιμοποιείται μέχρι σήμερα (2013). Το IPv6 αναπτύχθηκε από την Τακτική Δύναμη Μηχανικών του Internet (Internet Engineering Task Force, IETF), για να ασχοληθεί με το επί μακρόν αντιμετωπιζόμενο πρόβλημα της εξάντλησης των διευθύνσεων του IPv4.
Σε κάθε συσκευή στο διαδίκτυο, όπως ένας ηλεκτρονικός υπολογιστής ή ένα κινητό τηλέφωνο, πρέπει να αποδοθεί μία Διεύθυνση IP, ένας αριθμός αποτελούμενος από συγκεκριμένο αριθμό bits, ο οποίος και αποτελεί την ταυτότητα της συσκευής, ώστε να είναι δυνατή η επικοινωνία της στο Internet. Με τον ολοένα αυξανόμενο αριθμό συσκευών που συνδέονται στο διαδίκτυο, παρουσιάστηκε η ανάγκη περισσοτέρων διευθύνσεων, από όσες μπορεί να παράσχει το IPv4. To IPv4 χρησιμοποιεί διευθύνσεις 32 bit, οποίο επιτρέπει 2³² δηλαδή περίπου 4,3 δισεκατομμύρια διαφορετικές διευθύνσεις. Το IPv6 χρησιμοποιεί διευθύνσεις 128 bit, το οποίο επιτρέπει 2¹²⁸ δηλ. 3.4×10³⁸ διαφορετικές διευθύνσεις. Τα δύο πρωτόκολλα δεν έχουν σχεδιαστεί ώστε να μπορούν να συνεργάζονται, δυσκολεύοντας έτσι την μετάβαση στο IPv6. Οι διευθύνσεις IP του πρωτοκόλλου IPv6, αποτελούνται από 8 ομάδες των τεσσάρων δεκαεξαδικών ψηφίων, χωρισμένων με άνω και κάτω τελεία, π.χ 2001:0db8:85a3:0042:1000:8a2e:0370:7334.

Εξάντληση της δεξαμενής διαθέσιμων διευθύνσεων IPv4.

Στις 3 Φεβρουαρίου του 2011, σε μία τελετή στο Miami, η Αρχή Διατεθέντων  Διευθύνσεων Internet (IANA, Internet Assigned Numbers Authority) διέθεσε την τελευταία παρτίδα 5 μπλοκ διευθύνσεων κλάσης Α σε Kαταχωρητές Διευθύνσεων Internet Περιοχών  (Regional Internet Registries), εξαντλώντας την παγκόσμια δεξαμενή  αχρησιμοποίητων διευθύνσεων Internet. Κάθε μπλόκ κλάσης Α αντιπροσωπεύει περίπου 16,7 εκατομμύρια διευθύνσεις, οπότε τα πέντε μπλοκ παρέχουν ένα σύνολο από 80 εκατομμύρια περίπου διευθύνσεις.
Την περίοδο εκείνη προβλεπόταν ότι οι διευθύνσεις αυτές, με τον ρυθμό που διετίθεντο, θα μπορούσαν να καταναλωθούν μέσα σε 6 μήνες. Η ARNIC (Asia-Pacific Network Information Centre) ήταν ο πρώτος καταχωρητής Διευθύνσεων Internet Περιοχών που ανακοίνωσε στις 15 Απριλίου του 2011, την εξάντληση των διαθέσιμων διευθύνσεων, πέραν ολίγων που κράτησε για ειδικούς σκοπούς.

Προτάσεις ομάδων εργασίας

Από τις αρχές του 1992, παρουσιάστηκαν πολλές προτάσεις για τροποποίηση  του IPv4 και περί τα τέλη του 1992, η IETF εξέδωσε πρόσκληση για προτάσεις.  Τον Σεπτέμβριο του 1993 η IETF δημιούργησε μία προσωρινή περιοχή IP επόμενης γενεάς, για να ασχοληθεί ειδικά με το θέμα αυτό. Η νέα περιοχή καθοδηγούταν από τους Allison Mankin και Scott Bradner  και είχε ένα διευθυντήριο από 15 μηχανικούς με ποικίλα υπόβαθρα, για καθορισμό κατευθύνσεων και προκαταρκτική εξέταση των εγγράφων με τις προτάσεις. Τα μέλη της ομάδας εργασίας ήταν οι J. Allard (Microsoft), Steve Bellovin (AT&T), Jim Bound (Digital Equipment Corporation), Ross Callon (Wellfleet), Brian Carpenter (CERN), Dave Clark (MIT), John Curran (NEARNET), Steve Deering (Xerox), Dino Farinacci (Cisco), Paul Francis (NTT), Eric Fleischmann (Boeing), Mark Knopper (Ameritech), Greg Minshall (Novell), Rob Ullmann (Lotus), and Lixia Zhang (Xerox). 
Η IETF υιοθέτησε το μοντέλο  των IP διευθύνσεων στις 25 Ιουλίου του 1994, με τον σχηματισμό διαφόρων ομάδων εργασίας. Το 1996 εκδόθηκε μία σειρά RFCs που καθόριζε την έκδοση 6 (IPv6) του πρωτοκόλλου Internet, ξεκινώντας με την RFC 1983. (Η έκδοση 5, χρησιμοποιήθηκε από το πειραματικό Internet Stream Protocol).
Αναμένεται τα IPv4 και IPv6 θα χρησιμοποιηθούν παράλληλα στο προσεχές μέλλον. Οι κόμβοι IPv4 και IPv6 δεν μπορούν να επικοινωνήσουν απ’ ευθείας, αλλά χρειάζονται την βοήθεια ενδιαμέσων πυλών ή πρέπει να χρησιμοποιήσουν άλλους μηχανισμούς μετάβασης.

Σύγκριση με IPv4

Στο Internet, τα δεδομένα μεταδίδονται με την μορφή πακέτων δικτύου. Το IPv6 καθορίζει μία νέα μορφή πακέτου, σχεδιασμένη για να ελαχιστοποιεί την επεξεργασία των πακέτων από τους δρομολογητές. Επειδή οι επικεφαλίδες των πακέτων του IPv4 και IPv6 διαφέρουν σημαντικά, τα δύο πρωτόκολλα δεν μπορούν να συνεργαστούν. Όμως από τις περισσότερες πλευρές το IPv6 είναι μία συντηρητική επέκταση του IPv4. Τα περισσότερα πρωτόκολλα του επιπέδου μεταφοράς και εφαρμογής, χρειάζονται λίγη ή και καθόλου μετατροπή για να δουλέψουν πάνω στο IPv6. Εξαίρεση αποτελούν τα πρωτόκολλα εφαρμογών, τα οποία ενσωματώνουν διευθύνσεις του επιπέδου internet, όπως το FTP και το NTPv3, όπου η νέα μορφή των διευθύνσεων μπορεί να προκαλεί συγκρούσεις με την σύνταξη υπαρχόντων πρωτοκόλλων.

Μεγαλύτερος  χώρος διευθύνσεων

Το κυριότερο πλεονέκτημα του IPv6, απέναντι στο IPv4 είναι ο μεγαλύτερος χώρος διευθύνσεων. Το μήκος των διευθύνσεων του  IPv6 είναι 128 bit, ενώ του IPv4 είναι 32 bit. Για το λόγο αυτό ο χώρος των διευθύνσεων του είναι 2¹²⁸ ή περίπου 3,4x10³⁸ διευθύνσεις. Έτσι αναλογούν από 4.8×10²⁸ διευθύνσεις σε καθέναν από τα 7 δισεκατομμύρια ανθρώπων που ζουν σήμερα (το 2011) στη γη. Επιπλέον ο χώρος διευθύνσεων του IPv4 είναι κακώς κατανεμημένος, με αποτέλεσμα να χρησιμοποιείται κατά προσέγγιση μόνο το 14% των διαθέσιμων διευθύνσεων.  Παρότι ο χώρος των διευθύνσεων στο IPv6 είναι πολύ μεγάλος, δεν ήταν αυτό ο πρωταρχικός σκοπός των σχεδιαστών του IPv6. Περισσότερο οι μεγάλες διευθύνσεις απλοποιούν την απόδοση των διευθύνσεων, καθιστούν δυνατή την αποτελεσματική ομαδοποίηση της δρομολόγησης και επιτρέπουν την πραγματοποίηση ειδικών  χαρακτηριστικών διευθυνσιοδότησης. Στο IPv4 αναπτύχθηκαν περίπλοκες μέθοδοι "Αταξικής Δρομολόγησης Δικτυακών Περιοχών (CIDR))", για να γίνει δυνατή η  καλύτερη χρησιμοποίηση του μικρού χώρου διευθύνσεων. Το σταθερό (standard) μέγεθος ενός υποδικτύου στο IPv6 είναι 2⁶⁴ διευθύνσεις, ίσο με το τετράγωνο όλου του χώρου διευθύνσεων του IPv4. Έτσι το πραγματικό ποσοστό χρησιμοποίησης των διευθύνσεων του IPv6 θα είναι μικρό, αλλά η διαχείριση του δικτύου και η αποτελεσματικότητα της δρομολόγησης βελτιώνεται, τόσο από το μεγάλο μέγεθος των υποδικτύων, όσο και από την ιεραρχική ομαδοποίηση της δρομολόγησης.

Ανεπίσημη αυτόματη απόδοση διευθύνσεων (Stateless address autoconfiguration (SLAAC))

Οι συσκευές που συνδέονται σε ένα δίκτυο IPv6 μπορούν να αποδώσουν αυτόματα στον εαυτό τους μία IPv6 διεύθυνση, χρησιμοποιώντας το Πρωτόκολλο Ανακάλυψης Γειτόνων  (Neighbor Discovery Protocol). Αυτό το πετυχαίνουν χρησιμοποιώντας Μηνύματα Ανακάλυψης Δρομολογητών του Πρωτοκόλλου Μηνυμάτων Ελέγχου του Internet, έκδοση 6 (Internet Control Message Protocol version 6 (ICMPv6)). Με τα πακέτα αυτά οι συσκευές ζητούν από τους δρομολογητές να τους στείλουν τις παραμέτρους διαμόρφωσής τους. Οι δρομολογητές ανταποκρίνονται σε αυτήν την αίτηση με ένα πακέτο διαφήμισης του δρομολογητή, το οποίο περιέχει τις παραμέτρους διαμόρφωσης του Επιπέδου Internet (Internet Layer). 
Εάν  η Ανεπίσημη αυτόματη απόδοση διευθύνσεων IPv6 είναι ακατάλληλη για μία εφαρμογή, τότε ένα δίκτυο μπορεί να χρησιμοποιεί επίσημη διαμόρφωση (stateful configuration) χρησιμοποιώντας το Πρωτόκολλο Δυναμικής Απόδοσης Διευθύνσεων, έκδοσης 6 (Dynamic Host Configuration Protocol version 6 (DHCPv6)), ή ακόμη μπορεί να αποδοθεί στη συσκευή χειροκίνητα μία διεύθυνση IPv6 (στατική διεύθυνση).

Ασφάλεια Επιπέδου Δικτύου

Αρχικά για την ασφάλεια στο IPv6, είχε αναπτυχθεί το πρωτόκολλο Internet Protocol Security (IPsec). Το πρωτόκολλο όμως αυτό χρησιμοποιήθηκε ευρέως και στο IPv4, αφού βέβαια τροποποιήθηκε κατάλληλα. Στην αρχή το IPsec ήταν βασικό χαρακτηριστικό του IPv6, αλλά στη συνέχεια έγινε προαιρετικό.

Απλοποίηση της επεξεργασίας από τους δρομολογητές

Στο IPv6, έχει απλοποιηθεί η επικεφαλίδα και η προώθηση του πακέτου. Παρόλο που η επικεφαλίδα των πακέτων IPv6 είναι τουλάχιστον διπλάσια απο την επικεφαλίδα των πακέτων IPv4, η επεξεργασία των πακέτων είναι αποδοτικότερη, επειδή χρειάζονται λιγότερη επεξεργασία από τους δρομολογητές. Αυτό προάγει την σχεδιαστική Αρχή απ΄ Άκρου σ΄ Άκρο (end-to-end principle) του Internet, η οποία προβλέπει ότι η περισσότερη επεξεργασία πρέπει να πραγματοποιείται στους ακραίους κόμβους.
Η επικεφαλίδα του πακέτου IPv6, είναι απλούστερη από την επικεφαλίδα του πακέτου IPv4. Πολλά πεδία τα οποία χρησιμοποιούνται σπάνια, έχουν μετακινηθεί στις προαιρετικές επεκτάσεις της επικεφαλίδας. 
Οι δρομολογητές IPv6, δεν κάνουν διάσπαση των πακέτων IP. Οι συσκευές IPv6  είναι υποχρεωμένες, είτε να ανακαλύψουν την Μέγιστη Μονάδα Μεταφοράς της Διαδρομής (path MTU discovery), ή να μην στείλουν πακέτα μεγαλύτερα από την προεπιλεγμένη Μέγιστη Μονάδα Μεταφοράς  (Maximum transmission unit, MTU), η οποία είναι 1280 οκτάδες.

Κινητικότητα

Αντίθετα με το κινητό IPv4, το κινητό IPv6 αποφεύγει την τριγωνική δρομολόγηση (triangular routing) και για αυτό είναι το ίδιο αποτελεσματικό με το σταθερό IPv6. Οι δρομολογητές του IPv6, επιτρέπουν να μετακινηθούν ολόκληρα υποδίκτυα σε άλλους δρομολογητές, χωρίς επαναρίθμηση.

Επεκτασιμότητα προαιρετικών επιλογών

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

Jumbograms

Το IPv4 περιορίζει το μέγεθος του πακέτου σε to 65,535 (2¹⁶−1) οκτάδες δεδομένων. Ένας κόμβος IPv6, μπορεί προαιρετικά να επεξεργαστεί πακέτα πάνω από αυτό το όριο. Τα πακέτα αυτά αναφέρονται σαν Jumbograms και μπορούν να έχουν μέγεθος μέχρι 4,294,967,295 (2³²−1) οκτάδες. Η χρήση των  Jumbograms μπορεί να βελτιώσει την απόδοση πάνω σε συνδέσεις υψηλού MTU. Η χρήση Jumbograms δηλώνεται στον προαιρετικό πεδίο  Jumbo της επικεφαλίδας του πακέτου.

Μορφή Πακέτου

Ένα πακέτο IPv6 αποτελείται από 2 μέρη: Την επικεφαλίδα και τα δεδομένα.
Η επικεφαλίδα αποτελείται από ένα σταθερό τμήμα με την ελάχιστη λειτουργικότητα, που είναι απαραίτητη για όλα τα πακέτα, και μπορεί να ακολουθείται από προαιρετικές επεκτάσεις, που υλοποιούν ειδικά χαρακτηριστικά.
Το σταθερό μέρος της επικεφαλίδας καταλαμβάνει τις πρώτες 40 οκτάδες  (320 bits) του πακέτου. Περιέχει τις διευθύνσεις προέλευσης και προορισμού, το είδος της κυκλοφορίας (traffic classification), τον απαριθμητή αλμάτων (hop counter) και το είδος των προαιρετικών επολογών ή των δεδομένων που ακολουθούν την επικεφαλίδα. Το πεδίο επόμενη επικεφαλίδα (Next Header) ενημερώνει των παραλήπτη, πώς να ερμηνεύσει τα δεδομένα που ακολουθούν την επικεφαλίδα.

Διευθυνσιοδότηση

Σε σύγκριση με το IPv4, το πιο προφανές πλεονέκτημα του IPv6,είναι ο μεγαλύτερος χώρος διευθύνσεων. Οι διευθύνσεις στο IPv4 έχουν μήκος 32 bits, το οποίο μας παρέχει 4,3x10⁹ (4,3 δισεκατομμύρια ) διευθύνσεις. Οι διευθύνσεις στο IPv6 έχουν μήκος 128 bits, που καταλήγει σε έναν χώρο 3,4×10³⁸ διευθύνσεων. Ένας τέτοιος χώρος διευθύνσεων κρίνεται επαρκής για το ορατό μέλλον. 
Οι IPv6 διευθύνσεις, γράφονται σαν οκτώ ομάδες των τεσσάρων δεκαεξαδικών ψηφίων.  Οι ομάδες χωρίζονται με άνω-κάτω τελεία, για παράδειγμα 2001:0db8:85a3:0000:0000:8a2e:0370:7334.

Μηχανισμοί μετάβασης

Μέχρις ότου το IPv6 εκτοπίσει πλήρως το IPv4,  είναι απαραίτητος ένας αριθμός μεταβατικών μηχανισμών, που θα επιτρέψει σε συσκευές που χρησιμοποιούν μόνο το IPv6, να έχουν πρόσβαση σε υπηρεσίες του IPv4 και να επιτρέψουν σε απ΄ άκρου σε άκρον  συσκευές που χρησιμοποιούν το IPv6,  να μπορούν να επικοινωνούν μέσα από ένα δίκτυο που υποστηρίζει μόνο IPv4. Πολλοί από αυτούς τους μεταβατικούς μηχανισμούς χρησιμοποιούν την τεχνική tunneling, με την οποία ενθυλακώνουν κυκλοφορία του IPv6 σε δίκτυα IPv4. Αυτή είναι μία ατελής λύση η οποία μπορεί να δημιουργήσει προβλήματα.  Τα πρωτόκολλα tunneling είναι μία προσωρινή λύση για δίκτυα τα οποία δεν υποστηρίζουν διπλή στοίβα (dual-stack), όπου και τα δύο πρωτόκολλα τρέχουν ανεξάρτητα το ένα από το άλλο.

Πραγματοποίηση διπλής στοίβας (Dual Stack ή native Dual-Stack)

Η διπλή στοίβα αναφέρεται σε απ΄  άκρου σε άκρο πραγματοποίηση και των δύο πρωτοκόλλων του IPv4 και IPv6. Δηλ. και τα δύο πρωτόκολλα τρέχουν στο ίδιο δίκτυο και δεν είναι απαραίτητη η ενθυλάκωση του IPv6 στο IPv4 και αντιστρόφως. Η διπλή στοίβα καθορίζεται στο RFC 4213.
Παρότι αυτή είναι η πλέον πρόσφορη πραγματοποίηση του IPv6, καθότι παρακάμπτει πολλά μειονεκτήματα της τεχνικής tunneling, δεν είναι πάντοτε εφικτή, επειδή πεπαλαιωμένος δικτυακός εξοπλισμός δεν μπορεί να υποστηρίξει το IPv6. Έτσι π.χ. δρομολογητές συνδρομητών μπορεί να χρειάζονται είτε ενημέρωση του firmware είτε ακόμη και αλλαγή του hardware. Αυτό σημαίνει ότι διαχειριστές δικτύων πρέπει να καταφεύγουν στην τεχνική του tunneling,  μέχρις ότου η ραχοκοκαλιά των δικτύων υποστηρίξει τη διπλή στοίβα.

Τεχνική tunneling

Πολλοί από τους τωρινούς χρήστες του Internet δεν έχουν υποστήριξη διπλής στοίβας για το IPv6. Επομένως δεν μπορούν να έχουν απ’ ευθείας πρόσβαση σε τοποθεσίες IPv6. αντίθετα πρέπει να χρησιμοποιήσουν δίκτυα IPv4 για να μεταφέρουν πακέτα IPv6. Αυτό επιτυγχάνεται χρησιμοποιώντας μία τεχνική γνωστή ως tunneling, η οποία ενθυλακώνει πακέτα IPv6 μέσα σε IPv4, χρησιμοποιώντας στην πραγματικότητα το IPv4 σαν επίπεδο σύνδεσης αντί του IPv6.
Το πρωτόκολλο IP 41, δηλώνει πακέτα IPv4 τα οποία ενθυλακώνουν αυτοδύναμα πακέτα (datagrams) IPv6. Μερικοί δρομολογητές ή συσκευές μετατροπής διευθύνσεων δικτύου (NAT) μπορεί να μπλοκάρουν το πρωτόκολλο 41.  Για να διέλθει διαμέσου τέτοιων συσκευών, μπορεί να χρησιμοποιηθούν πακέτα UDP για την ενθυλάκωση αυτοδύναμων πακέτων IPv6. Δημοφιλείς είναι επίσης και άλλες μορφές ενθυλάκωσης, όπως  οι AYIYA  και η Generic Routing Encapsulation,

Hardware και ενσωματωμένα συστήματα (embedded systems)

Εξοπλισμός χαμηλού επιπέδου, όπως κάρτες δικτύου και μεταγωγείς δικτύου μπορεί να μην επηρεαστούν από την αλλαγή του πρωτοκόλλου, εφ’ όσον μεταδίδουν πλαίσια επιπέδου σύνδεσης χωρίς να εξετάζουν το περιεχόμενο. Όμως δικτυακές συσκευές οι οποίες χρησιμοποιούν την διεύθυνση IP για να πραγματοποιήσουν την δρομολόγηση, χρειάζεται να κατανοούν το IPv6.
Το μεγαλύτερο μέρος του εξοπλισμού θα μπορούσε με αναβάθμιση του software ή του firmware να μεταβεί στο πρωτόκολλο IPv6, με την προϋπόθεση ότι διαθέτει επαρκή μνήμη EEPROM για τη νέα στοίβα του IPv6 και μνήμη RAM. Όμως οι κατασκευαστές μπορεί να είναι απρόθυμοι να ξοδέψουν για την ανάπτυξη software για hardware το οποίο έχουν ήδη πουλήσει, όταν αποβλέπουν σε νέες πωλήσεις συσκευών που υποστηρίζουν το πρωτόκολλο IPv6.
Σε άλλες περιπτώσεις ασύμβατος εξοπλισμός πρέπει να αντικατασταθεί, είτε διότι ο κατασκευαστής δεν υπάρχει πλέον, είτε διότι το firmware του δικτύου είναι γραμμένο σε μόνιμη  μνήμη μόνο ανάγνωσης(ROM).
Ο εξοπλισμός ο οποίος δεν είναι έτοιμος για IPv6, εκτείνεται από την καλωδιακή τηλεόραση, έως συσκευές VoIP, εργαστηριακό εξοπλισμό και εκτυπωτές.