Με την τεράστια ανάπτυξη του διαδικτύου τα τελευταία χρόνια, την εισαγωγή καθημερινά πολλών νέων χρηστών παγκοσμίως και την υποστήριξη ευρυζωνικής σύνδεσης από μεγάλη γκάμα σταθερών και φορητών συσκευών, τα επόμενα χρόνια θα υπάρχει πρόβλημα για την ικανοποίηση όλων αυτών των αναγκών, λόγω της εξάντλησης των ελεύθερων IP διευθύνσεων τύπου IPv4.
Το IPv6 είναι η επόμενη έκδοση του Internet Protocol (Internet protocol version 6) και σχεδιάστηκε ώστε να βοηθήσει στην αντιμετώπιση του προβλήματος εξάντλησης των IPv4 διευθύνσεων, αλλά και για να βελτιώσει την τρέχουσα έκδοση του πρωτοκόλλού IP.

Με τη χρήση του IPv6 οι διαθέσιμες IP διευθύνσεις αυξάνονται κατά πολύ, αφού πλέον η IP διεύθυνση έχει μέγεθος 128 bits, αντί των 32 bits της IPv4 διεύθυνσης.

Κάποια από τα σημαντικά χαρακτηριστικά/οφέλη του IPv6 είναι:

1. Μεγαλύτερο εύρος διευθύνσεων: Από 2 υψωμένο στην δύναμη 32 σε 2 εις την 128.
2. Ιεραρχική διευθυνσιοδότηση για πιο αποδοτική δρομολόγηση.
3. Περισσότερες δυνατότητες στην αυτόματη ρύθμιση συσκευών κατά τη σύνδεση στο δίκτυο (Stateless / Statefull address configuration).
4. Καλύτερη υποστήριξη μετακινούμενων συσκευών/χρηστών.
5. Ευκολότερη επεκτασιμότητα.

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

Στο πρωτόκολλο IPv6 η διεύθυνση αποτελείται από 128 δυαδικά ψηφία (bits), αλλά προκειμένου η αναπαράσταση να είναι πιο εύκολη, η διεύθυνση παριστάνεται από οκτώ πεδία των τεσσάρων δεκαεξαδικών ψηφίων (16 bits), τα οποία χωρίζονται μεταξύ τους με την άνω-κάτω τελεία.
Παράδειγμα: 2a02:0580:8000:0700:e989:9a70:fd48:13ae .
Για την ευκολότερη αναπαράσταση των IPv6 διευθύνσεων υπάρχουν οι παρακάτω κανόνες.

1. Τα γράμματα είναι case-insensitive
2. Μηδενικά που προηγούνται άλλων ψηφίων σε ένα πεδίο είναι προαιρετικά
3. Συνεχόμενα πεδία που περιέχουν μηδενικά μπορούν να αντικατασταθούν με δυο συνεχόμενες άνω-κάτω τελείες “::” (μία φορά μόνο σε κάθε διεύθυνση).


Με βάση τους παραπάνω κανόνες, οι 2 επόμενες IPv6 διευθύνσεις είναι ισοδύναμες:

2Α02:0580:8000:0000:0A9C:0000:0000:AC2B

2a02:580:8000:0:a9c::ac2b

Παραθέτω μία υλοποίση σε Debian ή Ubuntu με tunnelbrokers (βασικά είναι υπηρεσίες ελεύθερες στο διαδύκτιο που παρέχουν IPv4-to-IPv6 tunnels.

Στο παράδειγμα θα χρησιμοποιήσω το πρόγραμμα client tcsp το οποίο υπάρχει στα αποθετήρια των περισσότερων διανομών σε συνδιασμό με το ΕΔΕΤ (ΕΘΝΙΚΟ ΔΙΚΤΥΟ ΕΡΕΥΝΑΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ) το το ποίο θα λειτουργήσει σαν tunnel.

Ως χρήστηs root :
Code:
apt-get install tspc
Μετά θα πρέπει να γίνει επεξεργασία αρχείου /etc/tsp/tspc.conf και να βρούμε την γραμμή :
server=anon.freenet6.net
και να την αλλάξουμε σε :
server=go6.grnet.gr
Εφαρμόζουμε τις αλλαγές:
Code:
dpkg --configure -a
Θα δημιουργηθεί μία διεπαφή (interface) tun με την IPv6 που μας έχει αποδωθεί:
Code:
root@ubuntu:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:01:2e:bc:4a:93  
          inet addr:xx.xx.xx.xx  Bcast:xx.xx.xx.xx  Mask:255.255.255.0
          inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:293746 errors:0 dropped:0 overruns:0 frame:0
          TX packets:229676 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:303360374 (303.3 MB)  TX bytes:26393829 (26.3 MB)
          Interrupt:43 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:614 errors:0 dropped:0 overruns:0 frame:0
          TX packets:614 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:19844 (19.8 KB)  TX bytes:19844 (19.8 KB)

tun       Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet6 addr: 2001:xxxx:xxxx:xxxx::xxxx/128 Scope:Global
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1280  Metric:1
          RX packets:8809 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9010 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:3686439 (3.6 MB)  TX bytes:1062936 (1.0 MB)
Kάνουμε test :
Code:
root@ubuntu:/# ping6 ipv6.google.com
PING ipv6.google.com(ww-in-x68.1e100.net) 56 data bytes
64 bytes from ww-in-x68.1e100.net: icmp_seq=1 ttl=49 time=93.0 ms
64 bytes from ww-in-x68.1e100.net: icmp_seq=2 ttl=49 time=93.7 ms
64 bytes from ww-in-x68.1e100.net: icmp_seq=3 ttl=49 time=93.6 ms
Ο mozilla firefox έχει απο default activated IPv6 οπότε μπορούμε να επισκευτούμε οποιαδήποτε σελίδα που είναι "στημένη" πάνω σε αυτό (πχ ipv6.google.com)