IPv6

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

 Στις 3 Φεβρουαρίου του 2011, σε μία τελετή στο Miami, η Αρχή Διατεθέντων Διευθύνσεων Internet (IANA, Internet Assigned Numbers Authority) διέθεσε την τελευταία παρτίδα 5 μπλοκ διευθύνσεων κλάσης Α, σε Καταχωρητές Διευθύνσεων 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 δεν μπορούν να επικοινωνήσουν απ’ ευθείας, αλλά χρειάζονται την βοήθεια ενδιαμέσων πυλών ή πρέπει να χρησιμοποιήσουν άλλους μηχανισμούς μετάβασης. Στο Internet, τα δεδομένα μεταδίδονται με την μορφή πακέτων δικτύου. Το IPv6 καθορίζει μία νέα μορφή πακέτου, σχεδιασμένη για να ελαχιστοποιεί την επεξεργασία των πακέτων από τους δρομολογητές. Επειδή οι επικεφαλίδες των πακέτων του IPv4 και IPv6 διαφέρουν σημαντικά, τα δύο πρωτόκολλα δεν μπορούν να συνεργαστούν. Όμως από τις περισσότερες πλευρές το IPv6 είναι μία συντηρητική επέκταση του IPv4. Τα περισσότερα πρωτόκολλα του επιπέδου μεταφοράς και εφαρμογής, χρειάζονται λίγη ή και καθόλου μετατροπή για να δουλέψουν πάνω στο IPv6. Εξαίρεση αποτελούν τα πρωτόκολλα εφαρμογών, τα οποία ενσωματώνουν διευθύνσεις του επιπέδου internet, όπως το FTP και το NTPv3, όπου η νέα μορφή των διευθύνσεων μπορεί να προκαλεί συγκρούσεις με την σύνταξη υπαρχόντων πρωτοκόλλων. Το κυριότερο πλεονέκτημα του IPv6, απέναντι στο IPv4 είναι ο μεγαλύτερος χώρος διευθύνσεων. Το μήκος των διευθύνσεων του IPv6 είναι 128 bit, ενώ του IPv4 είναι 32 bit. Για το λόγο αυτό ο χώρος των διευθύνσεων του είναι 2128 ή περίπου 3,4x1038 διευθύνσεις. Έτσι αναλογούν από 4.8×1028 διευθύνσεις σε καθέναν από τα 7 δισεκατομμύρια ανθρώπων που ζουν σήμερα (το 2011) στη γη. Επιπλέον ο χώρος διευθύνσεων του IPv4 είναι κακώς κατανεμημένος, με αποτέλεσμα να χρησιμοποιείται κατά προσέγγιση μόνο το 14% των διαθέσιμων διευθύνσεων. Παρότι ο χώρος των διευθύνσεων στο IPv6 είναι πολύ μεγάλος, δεν ήταν αυτό ο πρωταρχικός σκοπός των σχεδιαστών του IPv6. Περισσότερο οι μεγάλες διευθύνσεις απλοποιούν την απόδοση των διευθύνσεων, καθιστούν δυνατή την αποτελεσματική ομαδοποίηση της δρομολόγησης και επιτρέπουν την πραγματοποίηση ειδικών χαρακτηριστικών διευθυνσιοδότησης. Στο IPv4 αναπτύχθηκαν περίπλοκες μέθοδοι "Αταξικής Δρομολόγησης Δικτυακών Περιοχών (CIDR))", για να γίνει δυνατή η καλύτερη χρησιμοποίηση του μικρού χώρου διευθύνσεων. Το σταθερό (standard) μέγεθος ενός υποδικτύου στο IPv6 είναι 264 διευθύνσεις, ίσο με το τετράγωνο όλου του χώρου διευθύνσεων του IPv4. Έτσι το πραγματικό ποσοστό χρησιμοποίησης των διευθύνσεων του IPv6 θα είναι μικρό, αλλά η διαχείριση του δικτύου και η αποτελεσματικότητα της δρομολόγησης βελτιώνεται, τόσο από το μεγάλο μέγεθος των υποδικτύων, όσο και από την ιεραρχική ομαδοποίηση της δρομολόγησης. Οι συσκευές που συνδέονται σε ένα δίκτυο 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 οκτάδων. Οι προαιρετικές επιλογές υλοποιούνται σαν επεκτάσεις. Αυτό δίνει τη δυνατότητα μελλοντικών επεκτάσεων του πρωτοκόλλου, χωρίς να επηρεάζεται ο πυρήνας της δομής του πακέτου. Το IPv4 περιορίζει το μέγεθος του πακέτου σε 65,535 (216−1) οκτάδες δεδομένων. Ένας κόμβος IPv6, μπορεί προαιρετικά να επεξεργαστεί πακέτα πάνω από αυτό το όριο. Τα πακέτα αυτά αναφέρονται σαν Jumbograms και μπορούν να έχουν μέγεθος μέχρι 4,294,967,295 (232−1) οκτάδες. Η χρήση των Jumbograms μπορεί να βελτιώσει την απόδοση πάνω σε συνδέσεις υψηλού MTU. Η χρήση Jumbograms δηλώνεται στον προαιρετικό πεδίο Jumbo της επικεφαλίδας του πακέτου. Ένα πακέτο IPv6 αποτελείται από 2 μέρη: Την επικεφαλίδα και τα δεδομένα. Η επικεφαλίδα αποτελείται από ένα σταθερό τμήμα με την ελάχιστη λειτουργικότητα, που είναι απαραίτητη για όλα τα πακέτα, και μπορεί να ακολουθείται από προαιρετικές επεκτάσεις, που υλοποιούν ειδικά χαρακτηριστικά. Το σταθερό μέρος της επικεφαλίδας καταλαμβάνει τις πρώτες 40 οκτάδες (320 bits) του πακέτου. Περιέχει τις διευθύνσεις προέλευσης και προορισμού, το είδος της κυκλοφορίας (traffic classification), τον απαριθμητή αλμάτων (hop counter) και το είδος των προαιρετικών επολογών ή των δεδομένων που ακολουθούν την επικεφαλίδα. Το πεδίο επόμενη επικεφαλίδα (Next Header) ενημερώνει των παραλήπτη, πώς να ερμηνεύσει τα δεδομένα που ακολουθούν την επικεφαλίδα. Σε σύγκριση με το IPv4, το πιο προφανές πλεονέκτημα του IPv6,είναι ο μεγαλύτερος χώρος διευθύνσεων. Οι διευθύνσεις στο IPv4 έχουν μήκος 32 bits, το οποίο μας παρέχει 4,3x109 (4,3 δισεκατομμύρια ) διευθύνσεις. Οι διευθύνσεις στο IPv6 έχουν μήκος 128 bits, που καταλήγει σε έναν χώρο 3,4×1038 διευθύνσεων. Ένας τέτοιος χώρος διευθύνσεων κρίνεται επαρκής για το ορατό μέλλον. Οι IPv6 διευθύνσεις, γράφονται σαν οκτώ ομάδες των τεσσάρων δεκαεξαδικών ψηφίων. Οι ομάδες χωρίζονται με άνω-κάτω τελεία, για παράδειγμα 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Τα 128 bits μιας IPv6 διεύθυνσης, αναπαρίστανται σαν 8 ομάδες των 16 bits η κάθε μία. Κάθε ομάδα των 16 bits γράφεται σαν 4 δεκαεξαδικά ψηφία και οι ομάδες χωρίζονται με άνω-κάτω τελεία (:). Σαν παράδειγμα στην συζήτησή μας θα χρησιμοποιήσουμε τη διεύθυνση 2001:0db8:0000:0000:0000:ff00:0042:8329. Για λόγους ευκολίας μία IPv6 διεύθυνση μπορεί να συντομευτεί με εφαρμογή, όπου είναι δυνατόν, των παρακάτω κανόνων: Ένα ή περισσότερα εμπρόσθια μηδενικά σε οποιαδήποτε από τις οκτώ ομάδες μπορούν να απομακρυνθούν. Αυτό συνήθως γίνεται, είτε σε όλα, είτε σε κανένα από τα εμπρόσθια μηδενικά. Έτσι η ομάδα 0042 συντομεύεται στην 42.Διαδοχικά τμήματα με μηδενικά αντικαθίστανται με διπλή άνω-κάτω τελεία ( :: ). Η διπλή άνω-κάτω τελεία χρησιμοποιείται μόνο μία φορά σε κάθε διεύθυνση, καθώς η πολλαπλή χρήση της θα καθιστούσε την διεύθυνση απροσδιόριστη.Ένα παράδειγμα εφαρμογής αυτών των κανόνων δίνεται παρακάτω. Αρχική διεύθυνση: 2001:0db8:0000:0000:0000:ff00:0042:8329 Μετά την απομάκρυνση των εμπρόσθιων μηδενικών σε κάθε ομάδα: 2001:db8:0:0:0:ff00:42:8329 Μετά την παράλειψη των διαδοχικών τμημάτων με μηδενικά: 2001:db8::ff00:42:8329 Η τοπική διεύθυνση (loopback address) 0000:0000:0000:0000:0000:0000:0000:0001, μπορεί να συντομευτεί στην ::1, μετά από χρήση και των δύο κανόνων. Επειδή οι IPv6 διευθύνσεις μπορούν να αναπαρασταθούν με περισσότερους από έναν τρόπους, η IETF έχει εκδόσει ένα πρότυπο για τον τρόπο αναπαράστασης τους με κείμενο. Μέχρις ότου το IPv6 εκτοπίσει πλήρως το IPv4, είναι απαραίτητος ένας αριθμός μεταβατικών μηχανισμών, που θα επιτρέψει σε συσκευές που χρησιμοποιούν μόνο το IPv6, να έχουν πρόσβαση σε υπηρεσίες του IPv4 και να επιτρέψουν σε απ΄ άκρου σε άκρον συσκευές που χρησιμοποιούν το IPv6, να μπορούν να επικοινωνούν μέσα από ένα δίκτυο που υποστηρίζει μόνο IPv4. Πολλοί από αυτούς τους μεταβατικούς μηχανισμούς χρησιμοποιούν την τεχνική tunneling, με την οποία ενθυλακώνουν κυκλοφορία του IPv6 σε δίκτυα IPv4. Αυτή είναι μία ατελής λύση η οποία μπορεί να δημιουργήσει προβλήματα. Τα πρωτόκολλα tunneling είναι μία προσωρινή λύση για δίκτυα τα οποία δεν υποστηρίζουν διπλή στοίβα (dual-stack), όπου και τα δύο πρωτόκολλα τρέχουν ανεξάρτητα το ένα από το άλλο. Η διπλή στοίβα αναφέρεται σε απ΄ άκρου σε άκρο πραγματοποίηση και των δύο πρωτοκόλλων του IPv4 και IPv6. Δηλ. και τα δύο πρωτόκολλα τρέχουν στο ίδιο δίκτυο και δεν είναι απαραίτητη η ενθυλάκωση του IPv6 στο IPv4 και αντιστρόφως. Η διπλή στοίβα καθορίζεται στο RFC 4213. Παρότι αυτή είναι η πλέον πρόσφορη πραγματοποίηση του IPv6, καθότι παρακάμπτει πολλά μειονεκτήματα της τεχνικής tunneling, δεν είναι πάντοτε εφικτή, επειδή πεπαλαιωμένος δικτυακός εξοπλισμός δεν μπορεί να υποστηρίξει το IPv6. Έτσι π.χ. δρομολογητές συνδρομητών μπορεί να χρειάζονται είτε ενημέρωση του firmware είτε ακόμη και αλλαγή του hardware. Αυτό σημαίνει ότι διαχειριστές δικτύων πρέπει να καταφεύγουν στην τεχνική του tunneling, μέχρις ότου η ραχοκοκαλιά των δικτύων υποστηρίξει τη διπλή στοίβα. Πολλοί από τους τωρινούς χρήστες του Internet δεν έχουν υποστήριξη διπλής στοίβας για το IPv6. Επομένως δεν μπορούν να έχουν απ’ ευθείας πρόσβαση σε τοποθεσίες IPv6. αντίθετα πρέπει να χρησιμοποιήσουν δίκτυα IPv4 για να μεταφέρουν πακέτα IPv6. Αυτό επιτυγχάνεται χρησιμοποιώντας μία τεχνική γνωστή ως tunneling, η οποία ενθυλακώνει πακέτα IPv6 μέσα σε IPv4, χρησιμοποιώντας στην πραγματικότητα το IPv4 σαν επίπεδο σύνδεσης αντί του IPv6. Το πρωτόκολλο IP 41, δηλώνει πακέτα IPv4 τα οποία ενθυλακώνουν αυτοδύναμα πακέτα (datagrams) IPv6. Μερικοί δρομολογητές ή συσκευές μετατροπής διευθύνσεων δικτύου (NAT) μπορεί να μπλοκάρουν το πρωτόκολλο 41. Για να διέλθει διαμέσου τέτοιων συσκευών, μπορεί να χρησιμοποιηθούν πακέτα UDP για την ενθυλάκωση αυτοδύναμων πακέτων IPv6. Δημοφιλείς είναι επίσης και άλλες μορφές ενθυλάκωσης, όπως οι AYIYA και η Generic Routing Encapsulation, Εξοπλισμός χαμηλού επιπέδου, όπως κάρτες δικτύου και μεταγωγείς δικτύου μπορεί να μην επηρεαστούν από την αλλαγή του πρωτοκόλλου, εφ’ όσον μεταδίδουν πλαίσια επιπέδου σύνδεσης χωρίς να εξετάζουν το περιεχόμενο. Όμως δικτυακές συσκευές οι οποίες χρησιμοποιούν την διεύθυνση IP για να πραγματοποιήσουν την δρομολόγηση, χρειάζεται να κατανοούν το IPv6. Το μεγαλύτερο μέρος του εξοπλισμού θα μπορούσε με αναβάθμιση του software ή του firmware να μεταβεί στο πρωτόκολλο IPv6, με την προϋπόθεση ότι διαθέτει επαρκή μνήμη EEPROM για τη νέα στοίβα του IPv6 και μνήμη RAM. Όμως οι κατασκευαστές μπορεί να είναι απρόθυμοι να ξοδέψουν για την ανάπτυξη software για hardware το οποίο έχουν ήδη πουλήσει, όταν αποβλέπουν σε νέες πωλήσεις συσκευών που υποστηρίζουν το πρωτόκολλο IPv6. Σε άλλες περιπτώσεις ασύμβατος εξοπλισμός πρέπει να αντικατασταθεί, είτε διότι ο κατασκευαστής δεν υπάρχει πλέον, είτε διότι το firmware του δικτύου είναι γραμμένο σε μόνιμη μνήμη μόνο ανάγνωσης(ROM). Ο εξοπλισμός ο οποίος δεν είναι έτοιμος για IPv6, εκτείνεται από την καλωδιακή τηλεόραση, έως συσκευές VoIP, εργαστηριακό εξοπλισμό και εκτυπωτές. IPv4 IPv6 στο Curlie Why IPv6 matters to radio stations Security implications of implementing IPv6 Αρχειοθετήθηκε 2012-03-11 στο Wayback Machine. Free Pool of IPv4 Address Space Depleted «An article about IPv6 in Linux by Rami Rosen». Αρχειοθετήθηκε από το πρωτότυπο στις 11 Ιανουαρίου 2013. Ανακτήθηκε στις 9 Ιανουαρίου 2013. An Introduction and Statistics about IPV6 Google IPv6 check IPv6 Introduction and Configuration by IBM Redbooks