Pengenalan dan Tutorial Subnetting pada IPv6

Apa itu IPv6? Apa bedanya dengan IPv4? Bagaimana cara subnetting-nya?

v4_v6_table

IPv6 (Internet Protocol version 6) adalah versi terbaru Internet Protocol (IP) dan merupakan pengembangan dari IPv4 yang kini telah melewati masa jayanya. IP yang dikembangkan oleh IETF (Internet Engineering Task Force, satuan tugas dari ISOC) adalah salah satu protokol komunikasi jaringan komputer yang bertugas untuk identifikasi dan pengalamatan komputer dan perangkat lainnya yang terhubung ke jaringan. Sama seperti MAC (Media Access Control) yang juga berfungsi untuk identifikasi dan pengalamatan, namun salah satu perbedaannya yaitu MAC berada di layer dua (data link) sedangkan IP berada di layer tiga (network) OSI Layer.


Sejarah Awal

ARPANET, sebuah jaringan awal yang dibentuk oleh Departemen Pertahanan Amerika Serikat melalui ARPA (Advanced Research Projects Agency) [1], mengembangkan sebuah protokol pada tahun 1983 yang saat ini kita kenal sebagai IPv4 dan kini dideskripsikan oleh IETF di seri dokumen RFC 791 [2]. Seiring berjalannya waktu, IPv4 menjadi salah satu protokol utama pada jaringan komputer kala itu, terlebih pada saat meledaknya internet di era awal 1990an ke publik akibat mulai populernya WWW (World Wide Web). Akibatnya, IPv4 yang hanya memiliki jumlah alamat sekitar 4 milyar tidak akan mampu menampung seluruh perangkat yang terhubung ke jaringan.

Saat posting ini ditulus saja, perkiraan total pengguna internet sudah berjumlah 3.478.923.034 orang [3]. Ini merupakan jumlah pengguna, dan bukan jumlah perangkat. Jika kita berasumsi bahwa tiap orang di angka tersebut memiliki setidaknya dua perangkat yang online (1 smartphone dan 1 PC atau smartphone (juga)) itu artinya sudah melewati jumlah alamat yang mungkin pada IPv4, dan ini belum termasuk alamat IP untuk perangkat lainnya seperti router dan seluruh interface yang ada pada server.

Selain karena hal di atas, terdapat satu alasan lagi mengapa IPv4 sangat cepat habis yaitu adanya pembagian kelas (classful) di awal pengembangannya.

  • Class A: 224 = 16.777.216 alamat
  • Class B: 216 = 65.536 alamat
  • Class C: 28 = 256 alamat

Pembagian seperti ini akan menyebabkan pemborosan alamat. Jika jaringan komputer di suatu warnet berjumlah 20 PC, itu artinya dengan menggunakan pembagian seperti di atas, maka kita harus menggunakan kelas C. Dari 256 alamat, hanya 20 yang terpakai dan menyisakan 236 alamat yang terbuang sia-sia.

Tentu saja para engineer tidak tinggal diam melihat ini. Agar habisnya alamat IP dapat diperlambat, ada dua metode yang efektif dipakai: Classless Inter-Domain Routing (CIDR) dan Network Address Translation (NAT, yang kita kenal sebagai IP private dan IP public).


Munculnya IPv6

Pihak yang berwenang dalam membuat standar IP, dalam hal ini yaitu IETF, sudah menyadari hal ini sejak lama. Mereka kemudian menciptakan penerus dari IPv4 di tahun 1990an yang disebut IPng (IP Next Generation) yang nantinya menjadi cikal bakal IPv6. Lalu mengapa saat ini kita masih menggunakan IPv4? Bukan masih, tapi sudah dalam tahap transisi dan tahap ini tidak mudah.

Tapi sayang sekali, persentase lalu lintas Google yang berasal dari Indonesia hanya 0,09% [4]. Walau hanya lalu lintas ke Google, namun ini sudah menggambarkan secara umum adopsi IPv6 di Indonesia. Sebagai perbandingan, persentase di Amerika Serikat berjumlah 29,22%.

Satu hal yang penting, kedua versi ini tidak dapat saling berkomunikasi. Jika host A menggunakan IPv4 sedangkan host B menggunakan IPv6, mereka sama sekali tidak dapat berkomunikasi.


Keunggulan

Berikut ini keunggulan utama yang dimiliki IPv6:

  • Alamat IPv4 ‘hanya’ berjumlah 232 atau 4.294.967.296, sedangkan IPv6 berjumlah 2128 atau sekitar 340 duodesiliun, literally:
    340.282.366.920.938.463.463.374.607.431.768.211.456 alamat! 
  • Metode routing lebih efisien, karena tidak terdapat checksum serta proses packet fragmentation lebih efisien.
  • Lebih aman, terdapat IPsec secara default.
  • Dan 1001 alasan lagi.

Format Penulisan

Jika alamat IPv4 berjumlah 32 bit (binary digit), maka alamat IPv6 berjumlah 128 bit atau empat kali lipatnya. Dengan jumlah sebanyak itu, maka representasi 128 digit biner yang tepat adalah menggunakan bilangan heksadesimal, dan bukan desimal seperti IPv4.

satu alamat IPv6 terdiri dari 8 segmen (sedangkan di IPv4 4 oktet) dan tiap segmen terdiri dari 16 bit dan direpresentasikan 4 digit heksadesimal. Tiap segmen dipisahkan oleh tanda titik dua ‘:’. Untuk kesehatan mata, terdapat cara untuk mempersingkat penulisan alamat:

Pertama

Jika ada satu atau lebih nol di depan tiap segmen, maka nol tersebut dapat dihilangkan, contohnya ’00dc’ dapat ditulis menjadi ‘dc’ saja.

Kedua

Jika ada satu atau lebih segmen yang bernilai nol semua, dapat dihapus dan diganti dengan titik dua ganda ‘::’, contohnya 2001:0db8:0000:0000:0000:ff00:0042:8329 menjadi 2001:0db8::ff00:0042:8329. Contoh lagi: 0000:0000:0000:0000:0000:0000:0000:0001 menjadi ::1.

Ini hanya berlaku sekali saja, yang berarti jika ada dua bagian yang bernilai nol, maka cara ini tidak dapat digunkaan karena akan mengakibatkan kebingungan dalam menentukan jumlah segmen yang bernilai nol, contohnya 2001:0000:0000:0db8:0000:0000:0000:0000 tidak dapat disingkat menjadi 2001::0db8::, namun hanya bisa disingkat 2001::0db8:0000:0000:0000:0000 atau 2001:0000:0000:0db8::


Subnetting

Prerequisite: Sudah memahami subnetting pada IPv4

Pada dasarnya, proses subnetting IPv6 sama saja dengan di IPv4 dan sebenarnya subnetting pada IPv6 bisa saja sama atau bahkan lebih mudah. IPv6 lebih terlihat susah hanya karena bit-nya yang jauh lebih banyak dan juga bilangan yang digunakan itu adalah heksadesimal, bilangan antah berantah yang hampir tidak pernah digunakan sehari-hari yang menggunakan bilangan desimal (basis 10). Tapi, trust me, heksadesimal justru akan memudahkan kita dalam proses konversi ke biner dan juga sebaliknya. Kenapa lebih mudah?

Heksadesimal adalah bilangan basis 16, yang erat kaitannya dengan biner yang merupakan basis 2. Angka 16 merupakan power of 2 yang berarti hasil dari pangkat 2 (FYI, sama seperti oktal, basis 8). Ini akan sangat memudahkan kita dalam konversinya.

Sebelum masuk ke subnetting, ada beberapa poin penting dalam konversi biner-heksadesimal dan kaitannya dengan IPv6:

Pertama

Anggota bilangan heksadesimal yaitu angka 0 hingga 9 serta huruf A hingga F. Jika pada desimal nilai setelah 9 adalah 10 (dua digit, puluhan dan satuan), maka pada heksadesimal 10 sama dengan A, 11=B, dst hingga 15=F. Lalu setelahnya diulang lagi dengan puluhan (berniai 1) dan satuan (bernilai 0).

Kedua

Tiap satu digit heksadesimal ekivalen dengan 4 digit biner, contohnya F pada heksadesimal sama dengan 1111 pada biner. Contoh lainnya 1 pada heksadesimal sama dengan 0001 (atau cukup ‘1’ saja) pada biner.

Ketiga

Maka jika terdapat tiga digit heksadesimal, misalnya FA6, kita dapat memecahnya terlebih dahulu, lalu mengkonversi ke biner untuk tiap digintya, sehingga F=1111, A=1010, dan 6=0110. Maka biner dari FA6 yaitu 111110100110 (atau pada desimal sama dengan 4.006). Perlu diperhatikan bahwa tiga bagian pemecahan itu bukan berarti mereka masing-masing independen, melainkan satu kesatuan.

Dengan cara ini, kita hanya perlu bermain di maksimal 4 digit biner saja. Coba bandingkan dengan desimal, karena bukan power of 2, kita harus mengkonversi keseluruhan nilainya.

Keempat

Seperti yang telah disebutkan, IPv6 terdiri 8 segmen yang tiap segmennya terdiri 4 digit heksadesimal. Tiap segmen bernilai maksimal FFFF (desimal = 65.535)

Kelima

Tidak ada broadcast ID pada IPv6, sehingga seluruh rentangnya dapat digunakan untuk host dan tidak perlu di ‘kurang dua’ seperti pada IPv4.

Untuk menghindari ambigu, mulai dari sini bilangan biner akan saya beri tanda (2) di akhir bilangan tersebut; (10) untuk desimal; dan (16) untuk heksadesimal.

Q.E.D

Subnetting IPv6 itu /64 everywhere, Berbeda dengan IPv4, terlebih classful-nya, terdapat prefix /8, /16, atau prefix /24. IPv6 selalu memiliki prefix /64 dengan porsi seperti gambar di atas. Kita tidak bisa mengganggu gugat (setidaknya) 48 bit pertama yang merupakan alamat yang diberikan oleh ISP [5]. Sedangkan sisanya yang berjumlah 80 digit (panjang bit IPv6, yaitu 128 – 48 bit = 80) dapat kita gunakan untuk subnetting. Lahan bermain yang lebih luas dibanding total panjang IPv4.

Rekomendasi menggunakan prefix /64 ini berdasarkan RFC-4291, walaupun ada beberapa pengecualian seperti menggunakan prefix /127 untuk inter-router (area antar router) dan /128 untuk loopback address (localhost).

Lalu, 16 bit berikutnya setelah 48 bit pertama yaitu subnet ID. Area ini dapat kita gunakan untuk memberikan ‘nama’ pada tiap subnet yang kita buat. Jika kita menggunakan seluruh alamat yang tersedia di segmen ini, berarti kita dapat memiliki 65.535 subnet (216). Atau jika kasusnya adalah ingin membagi dengan cakupan yang lebih luas, misalnya sebuah negara, kita dapat mendefinisikan site, sub-site, dan subnet, dimana subnet merupakan subset dari sub-site dan sub-site subset dari site. Apapun itu, konfigurasi ini ada di area 16 bit ini.

[Case study: coming soon, stay tuned!]


Bacaan Lanjutan

Cara Cepat Mengubah Biner ke Desimal


Referensi

  • [1] https://en.wikipedia.org/wiki/ARPANET
  • [2] https://en.wikipedia.org/wiki/IPv4
  • [3] http://www.internetlivestats.com/
  • [4] https://www.google.com/intl/en/ipv6/statistics.html#tab=per-country-ipv6-adoption&tab=per-country-ipv6-adoption
  • [5] https://supportforums.cisco.com/document/66991/ipv6-subnetting-overview-and-case-study

Tinggalkan Balasan ke Anonim Batalkan balasan