TCP/IP merupakan sebuah protokol yang mengatur bagaimana suatu node berkomunikasi dengan node lainnya didalam jaringan. Protokol tersebut berfungsi sebagai bahasa agar satu komputer dapat berkomunikasi satu dengan yang lainnya. Internet Protocol (IP) merupakan inti dari protokol TCP/IP, dimana seluruh data yang berasal dari layer-layer diatasnya harus diolah oleh protokol ini agar sampai ketujuan. Versi Internet Protocol yang sudah digunakan luas adalah IPv4.
Saat ini ketersediaan IPv4 sudah hampir habis, untuk itu dikembangkanlah IPv6 dengan 128 bit address. Dalam pengembangannya, tentu saja terdapat banyak sekali perbedaan antara IPv4 dengan IPv6 ini.
Perbedaan yang paling terlihat tentu saja pada bentuknya. Pada IPv4 dengan panjang 32 bit penotasiaannya dapat menggunakan angka desimal, sedangkan pada IPv6 dengan 128 bit tentu saja akan sangat sulit jika harus mengkonversinya kedalam desimal. Untuk itu, IPv6 menggunakan bentuk hexadesimal.
Contoh :
· IPv4 : 192.168.179.0 / 24
· IPv6 : 2012:6F:: / 32
Dari penulisan IPv6 diatas mungkin akan muncul pertanyaan, “Kenapa penulisannya bisa sangat pendek?”. Begini, jadi sebetulnya penulisan yang sebenarnya seperti ini :
2012:006F:0000:0000:0000:0000:0000:0000 / 32
Karena setelah bit ke 32 semuanya 0, bisa detuliskan dengan dobel titik dua saja (‘::’).
Untuk lebih memahaminya, kita bandingkan antara IPv4 dengan IPv6.
A. Struktur pengalamatan
· IPv4
Pengalamatan IPv4 menggunakan 32 bit yang setiap bit dipisahkan dengan notasi titik. Notasi pengalamatan IPv4 adalah sebagai berikut:
XXXXXXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
Dimana setiap simbol X digantikan dengan kombinasi bit 0 dan 1.
Misalnya:
10000010.11001000.01000000.00000001 (dalam angka biner)
Cara penulisan lain agar mudah diingat adalah dengan bentuk 4 desimal yang dipisahkan dengan titik. Misal untuk alamat dengan kombinasi biner seperti diatas dapat dituliskan sebagai berikut:
130.200.127.254
Penulis sudah menganggap teman-teman semua sudah bisa mengkonversi dari bilangan biner ke desimal.
· IPv6
Tidak seperti pada IPv4 yang menggunakan notasi alamat sejumlah 32 bit, IPv6 menggunakan 128 bit. Tujuannya adalah agar alokasi alamatnya lebih banyak. Jika pada IPv4 hanya 232 (4,5 x 1010), pada IPv6 mecapai 2128 (3 x 1038).
Notasi alamat IPv6 adalah sebagai berikut:
X:X:X:X:X:X:X:X
Dalam bentuk biner ditulis sebagai berikut:
1111111001111000:0010001101000100:1011111001000001:1011110011011010:
0100000101000101:0000000000000000:0000000000000000:0011101000000000
Notasi alamat IPv6 dalam bentuk biner sengaja saya tulis untuk menunjukkan betapa panjangnya alamat IPv6.
Agar lebih mudah diinget setiap simbol X digantikan dengan kombinasi 4 bilangan heksadesimal dipisahkan dengan simbol titik dua [:]. Untuk contoh diatas dapat ditulis sbb:
FE78:2344:BE43:BCDA:4145:0:0:3A
Sistem pengalamatan IPv6 dapat disederhanakan jika terdapat beberapa angka "0" secara berturutan. Contohnya untuk notasi seperti diatas dapat ditulis:
FE78:2344:BE43:BCDA:4145:0:0:3A --> FE78:2344:BE43:BCDA:4145::3A
Contoh lagi:
8088:0:0:0:0:0:4508:4545 --------> 8088::4508:4545
B. Sistem pengalamatan
· IPv4
Sistem pengalamatan IPv4 dibagi menjadi 5 kelas, berdasarkan jumlah host yang dapat dialokasikan yaitu:
- Kelas A : range 1-126
- Kelas B : range 128-191
- Kelas C : range 192-223
- Kelas D : range 224-247
- Kelas E : range 248-255
Tapi yang lazim dipake hanya kelas A,B dan C sedangkan kelas D dipakai untuk keperluan alamat multicasting dan kelas E dipake untuk keperluan eksperimental. Selain itu pada IPv4 dikenal istilah subnet mask yaitu angka biner 32 bit yang digunakan untuk membedakan network ID dan host ID, menunjukkan letak suatu host berada dalam satu jaringan atau lain jaringan. Contohnya :
- IP address: 164.10.2.1 dan 164.10.4.1 adalah berbeda jaringan jika menggunakan netmask 255.255.254.0, tetapi akan jika netmasknya diganti menjadi 255.255.240.0 maka kedua IP address diatas berada dalam satu jaringan. Caranya:
164.10.2.1 --> 10100100.00001010.00000010.00000001
255.255.254.0 --> 11111111.11111111.11111110.00000000
____________________________________ XOR
10100100.00001010.00000010.00000000 --> 164.10.2.0
Dan
164.10.4.1 --> 10100100.00001010.00001000.00000001
255.255.254.0 --> 11111111.11111111.11111110.00000000
____________________________________ XOR
10100100.00001010.00001000.00000000 --> 164.10.4.0
Operasi XOR caranya adalah seperti penjumlahan, jika angka "1" jumlahnya genap hasilnya "1" kalo jumlah "1" ganjil hasilnya "0" (1+1=1, 1+0=0).
Terlihat hasil operasi XOR dua IP address dengan netmask yang sama hasilnya beda berarti kedua IP address tersebut berbeda jaringan. untuk contoh berikutnya yang menggunakan netmask 255.255.240.0 silahkan coba sendiri.
· IPv6
Pada IPv6 tidak dikenal istilah pengkelasan, hanya IPv6 menyediakan 3 jenis pengalamatan yaitu: Unicast, Anycast dan Multicast.
- Alamat unicast yaitu alamat yang menunjuk pada sebuah alamat antarmuka atau host, digunakan untuk komunikasi satu lawan satu. pada alamat unicast dibagi 3 jenis lagi yaitu: alamat link local, alamat site local dan alamat global.
Alamat link local adalah alamat yang digunakan di dalam satu link yaitu jaringan local yang saling tersambung dalam satu level. Sedangkan alamat site local setara dengan alamat privat, yang dipakai terbatas di dalam satu site sehingga terbatas penggunaannya hanya didalam satu site sehingga tidak dapat digunakan untuk mengirimkan alamat diluar site ini. Alamat global adalah alamat yang dipakai misalnya untuk Internet Service Provider.
- Alamat anycast adalah alamat yang menunjukkan beberapa interface (biasanya node yang berbeda). Paket yang dikirimkan ke alamat ini akan dikirimkan ke salah satu alamat antarmuka yang paling dekat dengan router. Alamat anycast tidak mempunyai alokasi khusus, karena jika beberapa node/interface diberikan prefix yang sama maka alamat tersebut sudah merupakan alamat anycast.
- Alamat multicast adalah alamat yang menunjukkan beberapa interface (biasanya untuk node yang berbeda). Paket yang dikirimkan ke alamat ini maka akan dikirimkan ke semua interface yang ditunjukkan oleh alamat ini. Alamat multicast ini didesain untuk menggantikan alamat broadcast pada IPv4 yang banyak mengkonsumsi bandwidth.
Tabel alokasi alamat IPv6 :
Alokasi
|
Binary prefix
|
Contoh 16 bit pertama
|
Global Unicast
|
001
|
2xxx atau 3xxx
|
Link Local
|
1111 1110 10
|
FE8x - FEBx
|
Site Local
|
1111 1110 11
|
FECx - FEFx
|
Multicast
|
1111 1111
|
FFxx
|
Selain alamat diatas ada juga jenis pengalamatan lainnya diantaranya:
1. IPv4-compatible IPv6 address biasanya alamat ini digunakan untuk mekanisme transisi Tunelling. Format alamatnya sebagai berikut :
80 bits
|
16 bits
|
32 bits
|
0000 . . . . . . . . . . .0000
|
0000
|
IPv4 address
|
Contoh :
ð 0:0:0:0:0:0:192.168.30.1 --> ::192.168.30.1 --> ::C0A8:1E01
2. IPv4-mapped IPv6 address biasanya digunakan untuk mekanisme transisi ISATAP.
80 bits
|
16 bits
|
32 bits
|
0000 . . . . . . . . . . .0000
|
FFFF
|
IPv4 address
|
Contoh :
ð ::FFFF:192.168.30.1 --> ::FFFF:C0A8:1E01
3. IPv6 over ethernet digunakan untuk stateless autoconfiguration (pemberian alamat IPv6 secara otomatis tanpa memerlukan server yang memberi alokasi IP address, seperti DHCP tetapi tanpa server).
Contoh :
00:90:27:17:FC:0F
/\
/ \
FF FE
Maka alamatnya menjadi : 00:90:27:FF:FE:17:FC:0F
Kemudian diblok pertama bit ketujuh diinvers
00:90:27:17:FC:0F
|
000000[0]0 bit yang dikurungi diinvers dari 0 --> 1
Maka sekarang menjadi : 02:90:27:FF:FE:17:FC:0F
Alamat tersebut adalah alamat IPv6 over ethernet.