Addressing pada IPv6 sebenarnya tidaklah susah, hanya saja bisa dibilang jauh lebih kompleks apabila dibandingkan dengan addressing IPv4. Perbedaan yang paling jelas terlihat adalah spasi addressnya. Address pada IPv6 berukuran lebih besar daripada address pada IPv4. Size atau ukuran address IPv6 sebesar 128 bit, berarti 4 kali lebih besar dari IPv4 yang hanya 32 bit. Ingat kembali dengan formula 2n dimana dengan spasi address 32 bit, berarti jumlah host yang mungkin dibuat untuk manusia penghuni dunia maya sebanyak 232 = 4.294.9667.296 buah. Dengan spasi 128 bit, IPv6 memiliki peluang menciptakan host sebanyak 2128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 = 3,4×1038 buah. Pada penghujung 1970an saat IPv4 pertama dirancang, nilai 232 sudah tak terkira besarnya. Namun seiring tuntutan teknologi dan karena praktek alokasi yang tidak mengantisipasi ledakan host-host di jaringan global (Internet), spasi address IPv4 diprediksi akan habis dalam beberapa dekade saja. Dengan IPv6, bahkan kita sulit akan membayangkan jika spasi address sebanyak itu akan habis dan jika pun terjadi, akan membutuhkan waktu beberapa ratus abad (Rahmat Rafiudin dalam IPv6 Addressing).
Sintaks Address IPv6
Pada IPv4, address direpresentasikan dalam format dotted-decimal dengan total size 32 bit yang dibagi dalam empat bagian yang disebut octet. Ini berarti masing-masing octet dipisahkan dengan dot (.). Perhatikan contoh di bawah ini :
Jika kita melihat koneksi internet di laptop/ PC komputer kita, secara default akan terpasang IPv4 address, kita bisa melihatnya dengan double klik pada koneksi internet kita, kemudian Details atau Properties. Pada contoh di atas terlihat IPv4 address adalah 192.168.8.102. Yang dimaksud dengan dotted decimal adalah setiap bagian yang dipisahkan dengan dot (.) adalah dalam ekspresi decimal bernilai 8 bit, sehingga total size IPv4 address adalah 8 bit x 4 = 32 bit. Untuk lebih mudahnya, misal kita memiliki address IPv4 12.226.128.90. Mari kita ubah ke binary (ekspresi 2 bit) terlebih dahulu.
Binary Decimal → Penjelasannya adalah :
00001100 : 12 0 0 0 0 1 1 0 0 → 27+26+25+24+23+22+21+20, setiap nilai 0 tidak dihitung
11100010 : 226 dan setiap nilai 1 dihitung jumlahnya, berarti nilai dari 00001100
10000000 : 128 adalah 23 + 22 = 12. Berlaku juga untuk nilai 226, 128 dan 90.
01011010 : 90 Itu adalah cara simple mengubah ekspresi binary ke dalam decimal.
Sehingga dalam bentuk binary nya, IPv4 address 12.226.128.90 adalah
00001100 . 11100010 . 10000000. 01011010
Representasi IPv6
Menggunakan ekspresi decimal untuk merepresentasikan IPv6 address tentunya akan melahirkan IP address yang sangat panjang, 128 bit : 8 bit = 16 bagian. Maka untuk mempermudah, IPv6 didesain dalam format seperti berikut :
128 bit dibagi ke dalam 8 blok 16 bit. Masing-masing blok dikonversi ke dalam 4 digit nomor hexadecimal yang bernilai 16bit dan tiap blok dipisahkan dengan titik-dua (:). Hasil representasi ini dinamakan colon-hexadecimal.
Berbeda dengan IPv4, nilai hexadecimal mencapai 16 bit, diekspresikan dalam numeral 0-9 dan alfabet A-F. Huruf alfabet tersebut tidak sensitif, sehingga huruf kapital dan huruf kecil mempunyai nilai yang sama. Berikut contohya :
Binary Decimal Hex
0000 0001 0000 0000 : 256 : 0100
0011 1111 1111 1110 : 16382 : 3ffe
0000 0011 0001 0000 : 0210 : 528
1010 0100 1111 1111 : 42239 : a4ff
Berikut penjelasannya :
Untuk mengkonversi binary ke decimal masih dengan cara yang sama yaitu :
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 = 28 = 256
215 214213 212 211 210 29 28 27 26 25 24 23 22 21 20
Untuk mengkonversi binary ke dalam hexadecimal lebih simple, yaitu :
0000 0001 0000 0000 = 0 1 0 0
Penjabaran :
0000 = 0 0010 = 2 0100 = 4 0110 = 6 1000 = 8 1010 = a 1100 = c 1110 = e
0001 = 1 0011 =3 0101 = 5 0111 = 7 1001 = 9 1011 = b 1101 = d 1111 = f
Sehingga contoh representasi IPv6 address di atas bisa dijabarkan dalam :
Kompresi Nilai Nol
Menilik format IPv6 address yang cukup panjang, kita memiliki beberapa alternatif untuk menyederhanakannya. Penyederhanaanya yaitu dengan mengkompresi nilai-nilai nol (jika ada) :
- IPv6 address normal disederhanakan dengan menghilangkan nilai – nilai nol yang terletak di depan, tidak dengan nol yang di belakang atau di tengah.
Contoh :
3ffe : 0100 : 8989 : 0010 : a4fe : 0201 : 9566 : f101
Menjadi :
3ffe : 100 : 8989 : 10 : a4fe : 201 : 9566 : f101
- Blok – blok berangkaian dan bersebelahan yang memiliki nilai nol dapat dikompresikan ke “::”, dikenal dengan double-colon.
Contoh :
Hal-hal di atas hanya format penulisan dan penyederhanaannya saja. Untuk addressing IPv6 masih lebih luas lagi, antara lain IPv6 prefixes/ netmask, unicast address, multicast, dan masih banyak lagi. See you at next lesson !