INITIALBOARD

Masalah dan Solusi Untuk IPv4

masalah kehabisan ipv4

Saat ini internet sedang mengalami masalah yang cukup besar. Salah satu masalah utama adalah kita kehabisan IPv4 address. Seperti yang kita pelajari sebelumnya, IPv4 address memiliki panjang 32 bit. Artinya, ia hanya memiliki 232 atau sekitar 4 miliar IP address.

Bila dibayangkan sekilas, mungkin angka 4 miliar begitu besar ya. Akan tetapi, seperti yang dikisahkan pada modul pertama soal sejarah internet, internet ternyata jauh lebih populer daripada yang dibayangkan saat awal mula diciptakan. Faktanya, 4 miliar IP address tidaklah cukup.

 

Masalah di IPv4

Coba renungkan, pada tahun 2017 saja jumlah penduduk dunia sudah mencapai 7 miliar lebih, di mana sebagian besar di antaranya memiliki gawai. Bahkan, ada beberapa orang yang memiliki lebih dari 1 gawai. Jadi, kita benar-benar kehabisan IPv4 address! Percayalah, masalah ini telah menjadi perhatian banyak peneliti dan ahli selama lebih dari satu dekade.

IP address dikelola secara global oleh Internet Assigned Numbers Authority (IANA) dan juga oleh lima Regional Internet Registries (RIR).

Nah, masalah kehabisan IPv4 address dimulai pada 31 Januari 2011. Saat itu, IANA mengalokasikan 2 blok IPv4 address ke APNIC, yang kemudian memicu kebijakan global untuk mengalokasikan sisa kumpulan alamat yang dimiliki IANA di antara lima RIR secara merata.

Tak selang lama kemudian, Number Resource Organization (NRO) mengumumkan bahwa kumpulan IPv4 address sudah sepenuhnya habis. Ini artinya sudah tidak ada lagi IPv4 address yang tersedia untuk pengalokasian dari IANA ke lima RIR.

Setelah itu, lambat laun akhirnya semua RIR pun kehabisan kumpulan IPv4 address, kecuali yang disimpan untuk transisi ke IPv6 (akan kita bahas nanti). Peristiwa ini terjadi pada 15 April 2011 untuk APNIC, 10 Juni 2014 untuk LACNIC, 24 September 2015 untuk ARIN, 21 April 2017 untuk AFRINIC, dan 25 November 2019 untuk RIPE NCC.

Oke, oke. Rupanya ini adalah masalah yang serius, ya. Jangan khawatir, semesta punya solusinya. Simak di materi selanjutnya, ya!

 

Solusi untuk IPv4

Pada tahun 1980-an, problem kehabisan IPv4 address ini sudah diramalkan. Pertumbuhan pesat jumlah pengguna Internet dan peningkatan perangkat seluler makin mempercepat penipisan jumlah IPv4 address. Oleh sebab itu, teknologi baru pun dikembangkan dan lambat laun diadopsi sebagai solusi untuk menyelesaikan masalah ini. Beberapa solusinya antara lain: CIDR (Classless Inter-Domain Routing), NAT (Network Address Translation), dan IPv6 (Internet Protocol version 6). Mari kita kupas tuntas masing-masing solusi tersebut!

 

Solusi 1 : CIDR

CIDR atau Classless Inter-Domain Routing adalah metode untuk mengalokasikan IP address dan untuk perutean IP. Sebuah organisasi bernama Internet Engineering Task Force (IETF) memperkenalkan CIDR pada tahun 1993, di mana salah satu tujuannya adalah untuk membantu memperlambat masalah kehabisan IPv4, dan itu berhasil!

Selain itu, pengadopsian CIDR ini juga dimaksudkan untuk menggantikan metode pengalamatan sebelumnya, yakni classful addressing. Oke, sebelum kita lebih dalam membahas CIDR atau classless, mari kita tilik dulu sekilas tentang pengalamatan dengan metode classful yuk agar Anda memahami konteks materi yang disampaikan.

 

Sekilas tentang Classful

Metode classful addressing telah digunakan dari tahun 1981–1993 (sampai CIDR diperkenalkan). Dari masa classful addressing, IP address terdiri dari dua bagian, yakni:

Pembagian ini digunakan sebagai dasar perutean lalu lintas antar jaringan dan untuk kebijakan alokasi IP address.

Supaya tidak bingung, mari kita ambil contoh IP address 9.100.100.100. Dari contoh tersebut, oktet pertama adalah network ID; sedangkan oktet kedua, ketiga, dan keempat adalah host ID.

Mengapa bisa begitu ? Classful addressing membagi IP address menjadi 5 kelas: class A, class B, class C, class D, dan class E. Namun, hanya class A, B, dan C saja yang digunakan untuk umum (class D digunakan untuk multicasting dan class E untuk pengujian). Jadi, kita hanya akan membahas ketiga kelas itu saja.

 

Oke, lantas apa sih perbedaan antara masing-masing kelas tersebut ? Simak baik-baik.

  1. IP address disebut class A apabila oktet pertamanya digunakan untuk network ID, sedangkan tiga oktet terakhir untuk host ID. Dengan kata lain, dari keseluruhan 32 bit panjang IP address, 8 bit adalah network ID dan 24 bit adalah host ID.
  2. IP address disebut class B apabila dua oktet pertama digunakan untuk network ID, sedangkan dua oktet terakhir untuk host ID. Dengan kata lain, dari keseluruhan 32 bit panjang IP address, 16 bit adalah network ID dan 16 bit adalah host ID.
  3. IP address disebut class C apabila tiga oktet pertama digunakan untuk network, sedangkan oktet keempat untuk host ID. Dengan kata lain, dari keseluruhan 32 bit panjang IP address, 24 bit adalah network ID dan 8 bit adalah host ID.

Gambar di bawah ini menjelaskan poin-poin di atas.

Setiap kelas pada classful addressing sebenarnya mewakili sebuah network atau jaringan dengan ukuran yang berbeda-beda. Misalnya, karena class A memiliki total 24 bit untuk host ID, jadinya ia menghasilkan 224 atau setara 16.777.216 alamat. Bandingkan dengan class C yang hanya memiliki 8 bit untuk host ID, artinya ia hanya menghasilkan 28 atau 256 alamat saja.

Anda bisa melihat tabel di bawah ini untuk memahami rincian dari masing-masing kelas dalam metode classful addressing.

Jika Anda masih bingung kenapa maksimal angka di tabel tersebut hanya sebatas 255 saja, ingatlah kembali bahwa setiap oktet dalam IP address adalah delapan bit, yang berarti setiap angka pada oktet harus bernilai antara antara 0 hingga 255.

Selain itu, bisa Anda lihat pada tabel di atas, setiap kelas memiliki aturan. Oktet pertama pada class A haruslah bernilai 0–127, pada class B haruslah 128–191, pada class C bernilai 192–223, dst.

Semoga dengan pembahasan yang singkat ini Anda dapat memahami classful addressing dengan baik. Intinya, di metode ini Anda tidak bisa sembarangan menetapkan IP address karena semua ada aturan dan klasifikasinya. Memang terkesan agak rumit, tetapi untungnya sebagian besar telah digantikan oleh sistem yang lebih baru dan fleksibel, yakni CIDR (Classless Inter-Domain Routing). Jadi, yuk lanjutkan materi kita ke CIDR yang sekaligus menjadi inti materi sebenarnya.

 

Classless Inter-Domain Routing

Metode classful addressing bukanlah cara yang efisien untuk pengalamatan jaringan saat ini, apalagi ditambah pengguna internet yang kian bertambah pesat. Uh! Tentu akan sukar mengelolanya.

Dengan classful addressing, network ID akan selalu tetap: 8 bit untuk class A, 16 bit untuk class B, dan 24 bit untuk class C. Variasi ukuran network atau jaringan yang seperti itu sayangnya terlalu kaku dan tidak selalu sesuai dengan kebutuhan sebagian besar bisnis.

Bayangkan saja, 254 host di class C tampaknya terlalu kecil untuk banyak kasus penggunaan, tetapi 65.534 host di class B sering kali malah terlalu besar. Di sinilah CIDR (Classless Inter-Domain Routing) berperan.

CIDR merupakan pendekatan yang lebih fleksibel untuk mendeskripsikan rentang IP address. Saat berbicara tentang CIDR, kita akan sering menemukan notasi garis miring yang dikenal sebagai CIDR notation.

Butuh contoh? Oke, mari kita ambil contoh IP address yang sama seperti sebelumnya, yakni 9.100.100.100. Katakanlah IP address ini memiliki subnet mask 255.255.255.0 (soal subnet mask akan dijelaskan detail nanti). Nah, berkat CIDR notation, IP address tersebut kini dapat ditulis sebagai 9.100.100.100/24.

Angka /24 pada IP address tersebut adalah CIDR notation. Bagaimana angka tersebut didapat ? Begini. Ketika kita ubah subnet mask 255.255.255.0 ke dalam bilangan biner, maka akan ada 24 bit angka “1”.

 

Tenang, ya. Kita akan pelajari tentang ini lebih detail nanti di submodul tersendiri bernama Subnet Mask.

Lanjut ! Karena sekarang kita tidak lagi peduli dengan classful addressing, yang kita butuhkan kini adalah network address untuk menentukan network ID. Dalam contoh kita, berarti network ID-nya adalah 9.100.100.x, sedangkan host ID-nya adalah x.x.x.100.

Praktik semacam ini memungkinkan pengguna untuk mengatur ukuran jaringan yang lebih fleksibel dan sesuai kebutuhan. Sebelumnya, ukuran jaringan bersifat statis karena terbatas pada sistem klasifikasi class A, class B, atau class C.

Kita akan pelajari soal CIDR dan segala hitungannya lebih praktis di submodul subnetting yang akan datang. Untuk saat ini, mari kita maju ke solusi kedua dari permasalahan habisnya IPv4, yakni dengan NAT.

 

Solusi 2 : NAT

NAT alias Network Address Translation adalah sebuah teknik di mana satu IP address diterjemahkan ke IP address yang lain. NAT telah digunakan banyak pihak untuk berbagai tujuan, mulai dari perlindungan keamanan hingga membantu memperlambat masalah kehabisan IPv4 address. Di modul ini, kita hanya akan fokus membahas NAT dari sisi fungsinya sebagai solusi untuk masalah kehabisan IPv4 address.

Sebelum itu, mari kita ketahui dulu cara kerjanya. Katakanlah kita memiliki dua jaringan. Jaringan A memiliki blok IP 10.1.1.0/24 dan di dalamnya terdapat komputer dengan IP address 10.1.1.100. Di sisi lain, Jaringan B memiliki blok IP 192.168.1.0/24 dan di dalamnya terdapat sebuah web server dengan IP address 192.168.1.100. Di antara dua jaringan tersebut, terdapat sebuah router yang memiliki dua network interface (antarmuka jaringan); satu di jaringan A dengan IP 10.1.1.1 dan satu lagi di jaringan B dengan IP 192.168.1.1.

Misalnya, komputer 1 ingin berkomunikasi dengan web server. Begini prosesnya. Jadi, komputer 1 akan membuat packet yang sesuai di semua layer dan mengirimkannya ke gateway utama (router) yang berada di antara dua jaringan tersebut.

Karena router ini mendukung NAT, router akan menulis ulang source IP address, dalam hal ini menjadi IP router di Jaringan B alias 192.168.1.1. Ketika packet sampai ke web server, nantinya ia akan terlihat seperti berasal dari router, bukan dari komputer 1.

Kemudian, setelah web server menyusun respons dan mengirimkannya kembali ke router, router akan mengetahui bahwa packet ini sebenarnya ditujukan untuk komputer 1, lalu ia akan menulis ulang destination IP sebelum meneruskannya.

Bagaimana ? Sudah paham kan konsep dasarnya ? Nah, konsep yang sama pun berlaku saat NAT digunakan sebagai solusi untuk mencegah habisnya IPv4 address. Bedanya, NAT menerjemahkan private IP address ke public IP address. Dengan demikian, meski kita memiliki banyak perangkat di rumah dan semua terhubung ke internet (misal melalui Wi-Fi), mereka hanya akan memiliki satu public IP address.

Tunggu dulu, apa itu private dan public IP address? Oke, kami bantu jabarkan ya. Sederhananya, private IP address adalah rentang IP address yang dimaksudkan untuk tujuan pribadi atau lokal sehingga tidak dapat dirutekan di internet alias non-routable address space.

Private IP address didefinisikan di dalam RFC 1918 pada tahun 1996. RFC 1918 mendefinisikan 3 rentang IP address yang merupakan private IP address atau non-routable address space, yakni:

10.0.0.0/8

172.16.0.0/12

192.168.0.0/16

Karena ketiga rentang tersebut terpisah dari lalu lintas internet, maka semua orang berhak memakainya untuk jaringan lokal mereka. Selain itu, karena router di internet tak akan merutekan atau meneruskan lalu lintas dari private IP address, maka tak akan ada overlapping atau tumpang tindih IP address secara global, meski beberapa orang di belahan dunia lain menggunakan rentang yang sama.

Lantas, bagaimana dengan public IP address? Nah, ini kebalikan dari private IP address. Public IP address adalah IP address di luar non-routable address space yang bisa dipakai untuk berkomunikasi di internet (umumnya diberikan oleh ISP).

Nah, kembali lagi, berkat hadirnya NAT, kini kita bisa memiliki ratusan bahkan ribuan perangkat yang menggunakan private IP address, tetapi semuanya dapat terhubung ke internet hanya dengan satu public IP address.

 

Solusi 3 : IPv6

Pada pertengahan 1990-an, masalah habisnya IPv4 address sudah menjadi perhatian banyak pihak. Oleh sebab itu, IP versi baru pun dikembangkan, yakni Internet Protocol version 6 (IPv6).

Mungkin Anda bertanya-tanya, “Apa yang terjadi pada versi 5 atau IPv5?” Jadi, begini. IPv5 adalah protokol eksperimental yang memperkenalkan konsep connection (koneksi). IPv5 tidak pernah benar-benar diadopsi secara luas karena konsep “koneksi” tersebut justru ditangani lebih baik oleh transport layer pada model TCP/IP. Ditambah lagi, saat pengembangan IPv6 dimulai, konsensusnya adalah untuk tidak menggunakan kembali nama IPv5. Jadi, nama IPv6-lah yang diambil.

Oke, sekarang mari kita fokus ke pembahasan IPv6, dimulai dari perbedaannya dengan IPv4. Perbedaan terbesar antara IPv4 dan IPv6 adalah jumlah bit pada alamatnya. Tentu Anda masih ingat bahwa IPv4 address memiliki total 32 bit, yang artinya mungkin ada sekitar 4 miliar IP address yang bisa digunakan.

Lantas, bagaimana dengan IPv6? IPv6 address berukuran 128 bit. Ini merupakan hal yang mencengangkan! Apabila kita hitung, 2128 berarti menghasilkan angka yang sangat panjang, yaitu 39 digit. Rentang angka ini disebut Undecillion.

Undecillion mungkin bukanlah angka yang sering kita dengar sehari-hari karena saking besarnya. Tahukah Anda apa hal yang setara dengan angka sebesar itu? Jumlah total atom yang membentuk seluruh planet Bumi dan setiap benda di dalamnya. Jadi, bila kita memberikan IPv6 address ke setiap atom yang ada di Bumi, itu akan cukup. Wow!

 

Poin yang ingin penulis sampaikan adalah bahwa kita sedang membicarakan angka yang sangat besar. Jika Anda penasaran, berikut adalah jumlah IPv6 address yang tersedia.

340.282.366.920.938.463.463.374.607.431.768.211.456

 

Whoa, mind blowing, bukan?

Kembali lagi ke topik. IPv6 address berukuran 128 bit, biasanya ditulis dalam 8 grup, masing-masing grup berukuran 16 bit, dan setiap grup tersebut terdiri dari 4 bilangan heksadesimal.

Seperti inilah bentuk IPv6 address secara lengkap.

2001:0db8:0000:0000:0000:ff00:0012:3456

Simak baik-baik. Setiap IPv6 address yang dimulai dengan 2001:0db8 merupakan alamat yang memang ditujukan untuk dokumentasi, pendidikan, buku, atau kursus; seperti materi Dicoding ini. Coba bayangkan, alamat seperti ini ada lebih dari 18 quintillion jumlahnya. Hanya untuk tujuan tersebut, faktanya angka ini jauh lebih besar dari seluruh jumlah IPv4 address.

Kemudian, jika Anda perhatikan contoh IPv6 address di atas, ia tampak sangat panjang ya. Tenang saja, IPv6 memiliki metode notasi yang memungkinkan kita untuk meringkasnya.

Ada dua aturan untuk meringkas IPv6 address:

Pertama, Anda dapat menghapus angka nol yang ada di depan dari setiap grup.

Kedua, sejumlah grup berurutan yang hanya terdiri dari angka nol dapat diganti dengan dua tanda titik dua (::).

Mari kita ambil contoh. Pada IPv6 address berikut: 2001:0db8:0000:0000:0000:ff00:0012:3456, kita bisa menerapkan aturan pertama, yakni menghapus semua angka nol yang ada di depan setiap grup. Seperti inilah jadinya:

Kemudian, kita masih bisa menerapkan aturan kedua untuk IPv6 address tersebut, yaitu mengganti bagian berurutan yang hanya berisi nol dengan dua tanda titik dua (::). Seperti inilah hasilnya:

Oke, kini kita tahu bahwa jumlah IPv6 address begitu besar. Karena alasan tersebut, IPv6 tidak memiliki konsep classful addressing seperti IPv4. Namun, IPv6 address tetap memiliki pembagian network ID dan host ID. 64 bit pertama dari IPv6 address adalah network ID, sedangkan 64 bit kedua merupakan host ID.

Ini berarti setiap network atau jaringan akan memiliki IPv6 address untuk lebih dari 9 quintillion host.

gimana, Masalah dan Solusi Untuk IPv4 ini harusnya bisa membantu kawan kawan menambah pengetahuan tentang jaringan ya,

Exit mobile version