FlowingDev

CIDR dan Subnetting: Membelah Internet Jadi Kompleks Perumahan

Pelajari gimana notasi CIDR dan subnetting membagi ruang alamat IPv4 yang maha luas jadi jaringan-jaringan yang gampang diatur, menentukan cara perangkat ngobrol satu sama lain di internet.

Coba tool-nya: Kalkulator Subnet / CIDR

Dalam satu kalimat

CIDR itu caranya internet bikin kaplingan, mengubah ladang alamat IP yang masif dan semrawut jadi kompleks-kompleks perumahan yang rapi dan gampang diatur, tempat data kamu bisa nemuin rumahnya.

Masalah yang dipecahkan

Coba deh inget-inget lagi internet zaman baheula tahun 1980-an. Hidup masih simpel. Kalau kamu butuh alamat IP, kamu minta satu "kelas". Ada tiga pilihan utama:

  • Kelas A: 16.777.214 alamat host. Buat para raksasa.
  • Kelas B: 65.534 alamat host. Buat organisasi besar.
  • Kelas C: 254 alamat host. Buat yang kecil-kecil.

Sistem "classful" atau berkelas ini kaku dan borosnya bukan main. Bayangin kamu butuh 300 alamat IP. Kelas C kekecilan, jadi kamu harus ambil Kelas B. Selamat, kamu baru aja dikasih 65.534 alamat dan sekarang menyia-nyiakan 65.234 di antaranya. Rasanya kayak butuh skuter tapi dipaksa beli truk gandeng 16 roda.

Menjelang awal 1990-an, para ahli melihat kiamat digital di depan mata: kita bakal kehabisan alamat IP. Tabel routing internet—buku alamat global yang dipake router inti—juga meledak ukurannya, mengancam akan memperlambat seluruh sistem sampai merangkak.

Pada tahun 1993, sekelompok insinyur memperkenalkan RFC 1518 dan 1519, yang mendefinisikan Classless Inter-Domain Routing, atau CIDR (dibacanya 'saider'). CIDR membuang sistem kelas A/B/C yang kaku itu. Ia memperkenalkan cara baru yang fleksibel untuk mendefinisikan blok alamat dengan ukuran apa pun.

Ini benar-benar mengubah permainan. CIDR memungkinkan Penyedia Layanan Internet (ISP) untuk mengalokasikan blok alamat yang "pas" untuk pelanggan mereka, secara drastis memperlambat habisnya alamat IPv4. Ini juga memungkinkan "agregasi rute," di mana satu entri dalam tabel routing bisa mewakili ribuan rute individu, menyelamatkan tulang punggung internet dari keruntuhan akibat bebannya sendiri.

Cara kerjanya di balik layar

Buat ngerti CIDR, pertama-tama lo harus terima satu kebenaran hakiki: Alamat IP itu buat komputer, bukan buat manusia. Format desimal bertitik (192.168.1.10) itu cuma kebohongan manis yang kita pake biar gampang. Kenyataannya adalah biner.

Pertama, penyegaran singkat soal alamat IP dan biner

Alamat IPv4 itu bilangan 32-bit. Udah, itu aja. Tiga puluh dua angka satu dan nol. Kita potong jadi empat bagian 8-bit (oktet) dan mengubah masing-masing jadi angka desimal (0-255) biar bisa dibaca.

Contohnya 172.20.129.45:

   172   .    20   .    129   .    45
10101100 . 00010100 . 10000001 . 00101101

Setiap perhitungan jaringan IP, termasuk CIDR, terjadi di level biner ini.

Subnet Mask: Cincin Dekoder Ajaib

Setiap alamat IP punya dua kehidupan. Sebagian mengidentifikasi jaringan tempatnya berada (nama jalannya), dan sebagian lagi mengidentifikasi host spesifik di jaringan itu (nomor rumahnya).

Gimana caranya komputer tahu di mana satu bagian berakhir dan bagian lain dimulai? Ia menggunakan subnet mask. Subnet mask adalah bilangan 32-bit lain yang berfungsi kayak saringan. Begini cara kerjanya:

  1. Subnet mask adalah serangkaian angka 1 berurutan yang diikuti oleh serangkaian angka 0.
  2. Angka 1 sesuai dengan bagian jaringan dari alamat.
  3. Angka 0 sesuai dengan bagian host dari alamat.

Untuk menemukan alamat jaringan, komputer melakukan operasi bitwise AND antara alamat IP dan subnet mask.

Misalnya IP kita 172.20.129.45 dan mask-nya 255.255.0.0.

Alamat IP:   10101100.00010100.10000001.00101101  (172.20.129.45)
Subnet Mask: 11111111.11111111.00000000.00000000  (255.255.0.0)
-----------------------------------------------------------------
ID Jaringan: 10101100.00010100.00000000.00000000  (172.20.0.0)

Hasilnya, 172.20.0.0, adalah "nama jalan" untuk setiap perangkat di jaringan ini.

Masuk ke CIDR: Singkatan Subnet Mask

Nulis 255.255.255.0 itu ribet. Notasi CIDR adalah singkatan sederhana. Cuma alamat IP, tanda garis miring (/), dan jumlah angka 1 di awal subnet mask. Angka ini disebut panjang prefix.

Sufiks CIDR Subnet Mask Jumlah 1 Mask Biner
/8 255.0.0.0 8 11111111.0000...
/16 255.255.0.0 16 11111111.11111111.0000...
/24 255.255.255.0 24 11111111.11111111.11111111.00000000
/29 255.255.255.248 29 ...11111111.11111000
/32 255.255.255.255 32 Semua 1 (satu host tunggal)

Jadi, 172.20.129.45 dengan mask 255.255.0.0 cukup ditulis 172.20.129.45/16. Gampang, kan?

Menghitung Hal-hal Penting

Dikasih alamat CIDR kayak 10.50.84.111/22, kita bisa cari tahu semua tentang lingkungan jaringannya.

  • Prefix: /22. Artinya 22 bit untuk jaringan, dan sisa 32 - 22 = 10 bit untuk host.

  • Alamat Jaringan: Ini adalah alamat pertama dalam rentang, di mana semua bit host adalah 0. Kita menemukannya dengan operasi AND.

    • IP: 10.50.84.111 -> 00001010.00110010.01010100.01101111
    • Mask /22: 255.255.252.0 -> 11111111.11111111.11111100.00000000
    • Hasil AND: 00001010.00110010.01010100.00000000 -> 10.50.84.0
    • Jadi, Alamat Jaringannya adalah 10.50.84.0.
  • Jumlah Host: Kita punya 10 bit host. Jumlah alamat yang mungkin adalah 2^10 = 1024.

  • Host yang Bisa Dipakai: Kita harus mengurangi dua alamat. Kenapa?

    1. Alamat paling pertama (semua bit host 0) adalah Alamat Jaringan itu sendiri. Itu nama jalan, bukan rumah.
    2. Alamat paling terakhir (semua bit host 1) adalah Alamat Broadcast. Kirim paket ke sini itu kayak teriak "Woy semuanya!" ke setiap perangkat di jaringan.
    • Jadi, host yang bisa dipakai = (2^10) - 2 = 1024 - 2 = 1022.
  • Alamat Broadcast: Ini adalah Alamat Jaringan dengan semua bit host diubah menjadi 1.

    • Jaringan: 00001010.00110010.01010100.00000000
    • Broadcast: 00001010.00110010.01010111.11111111 -> 10.50.87.255
  • Rentang Host: Alamat yang bisa dipakai adalah semua yang ada di antara alamat Jaringan dan Broadcast.

    • Host pertama yang bisa dipakai: 10.50.84.1 (Alamat Jaringan + 1)
    • Host terakhir yang bisa dipakai: 10.50.87.254 (Alamat Broadcast - 1)

Jadi, 10.50.84.111/22 adalah sebuah host di jaringan 10.50.84.0, yang mendukung 1022 perangkat dari 10.50.84.1 sampai 10.50.87.254.

Cerita dari dunia nyata

### Bencana Biaya Cloud

Sebuah startup baru yang lagi nge-hits membangun infrastruktur mereka di public cloud. Karena semangat pengen cepat-cepat ngoding, mereka menerima pengaturan jaringan default untuk Virtual Private Cloud (VPC) mereka, yang mengambil blok /16 yang super besar (65.534 IP). Beberapa bulan kemudian, mereka dapet klien besar yang butuh koneksi langsung dan aman antar lingkungan cloud mereka. Masalahnya? Si klien juga pake blok /16 default yang sama persis. Ruang alamat mereka, 10.10.0.0/16 dan 10.10.0.0/16, identik. Lo nggak bisa nge-route antara dua tempat yang sama-sama ngaku punya alamat yang sama. Startup itu akhirnya harus menghabiskan seminggu panik membangun ulang seluruh jaringan mereka dari awal dengan rentang CIDR baru yang tidak tumpang tindih.

Pelajaran yang bisa diambil: Rencanakan ruang alamat jaringan lo seolah-olah lagi merancang kota. Meskipun sekarang cuma butuh desa kecil, sisakan ruang untuk jalan tol yang bisa nyambung ke kota lain nanti. Jangan cuma terima pengaturan default.

### Perangkat Offline yang Misterius

Seorang admin jaringan junior ditugaskan untuk menyiapkan server monitoring baru. Dia diberi rentang IP 192.168.100.0/24. Dia mengkonfigurasi server dengan IP 192.168.100.255. Antarmuka jaringan servernya aktif, tapi servernya jadi hantu. Gak bisa ping gateway, dan gak ada apa pun di jaringan yang bisa nge-ping dia. Setelah satu jam ngecek kabel dan instal ulang driver, seorang insinyur senior lewat, ngelirik layar selama dua detik, dan bilang, "Itu kan alamat broadcast-nya." Mereka ganti IP-nya jadi 192.168.100.254, dan servernya langsung online.

Pelajaran yang bisa diambil: Alamat pertama dan terakhir di subnet mana pun itu spesial dan nggak bisa dipasang ke host. Masing-masing adalah identitas jaringan dan megafonnya.

### Penyihir Wi-Fi Rumahan

Jaringan di rumah seorang developer berantakan. Dengan laptop, ponsel, smart TV, speaker, bola lampu, dan pemanggang roti 'pintar', perangkat-perangkatnya sering putus nyambung dari Wi-Fi. Pas lihat halaman admin router-nya, dia lihat server DHCP-nya dikonfigurasi untuk rentang 192.168.1.0/28. Setelah dihitung cepat, /28 cuma nyediain (2^(32-28)) - 2 = 14 alamat IP yang bisa dipakai. Keluarganya punya lebih dari 30 perangkat! Dia pun mengganti subnet mask untuk LAN-nya dari 255.255.255.240 (/28) menjadi 255.255.255.0 (/24), memperluas IP yang tersedia menjadi 254. Masalah Wi-Fi yang tidak stabil itu pun langsung hilang.

Pelajaran yang bisa diambil: Subnetting itu bukan cuma buat data center. Ini menentukan berapa banyak perangkat yang bisa gabung ke jaringan lokal lo, dan subnet yang salah konfigurasi adalah penyebab umum dari "Wi-Fi jelek."

Kesalahan dan jebakan umum

  • Lupa sama dua alamat yang dicadangkan. Kesalahan klasik off-by-two. Lo ngitung 2^h dan bilang ke orang mereka punya segitu banyak alamat, tapi lupa ngurangin alamat jaringan dan broadcast. Ini bisa bikin salah konfigurasi dan jaringan yang ukurannya sedikit kekecilan.
  • Subnet yang tumpang tindih. Seperti di cerita cloud, kalau dua jaringan yang perlu berkomunikasi punya rentang IP yang tumpang tindih, lo bakal masuk ke dunia penuh penderitaan. Routing jadi ambigu dan seringkali mustahil tanpa akal-akalan Network Address Translation (NAT) yang ribet. Rencanakan dari awal!
  • Berpikir dalam desimal. Lo nggak bisa bener-bener paham subnetting cuma dengan lihat angka desimal. 192.168.0.255 dan 192.168.1.0 kelihatan sebelahan. Kalau lo ada di /24, mereka ada di jaringan yang berbeda. Kalau lo ada di /23, mereka ada di jaringan yang sama. Semuanya tergantung di mana batas binernya berada.
  • Salah pakai /31. Sebuah /31 punya 2^(32-31) = 2 alamat. Aturan lama bilang setelah dipotong alamat jaringan dan broadcast, sisanya nol host yang bisa dipakai. Tapi, RFC 3021 memperbarui ini untuk koneksi point-to-point khusus (misalnya, nyambungin dua router), di mana broadcast nggak diperlukan. Untuk jaringan biasa dengan klien, ini nggak ada gunanya.
  • Salah ketik prefix. Gampang banget ngetik /23 padahal maksudnya /24. Beda satu digit bisa jadi beda antara jaringan 254 host dan jaringan 510 host, benar-benar mengubah batas jaringan dan berpotensi menyebabkan konflik. Cek ulang prefix lo.

Kenapa ini harus lo perhatiin

Lo mungkin mikir ini cuma buat anak jaringan hardcore. Salah besar.

  • Cloud & DevOps Engineers: Ini hidup lo. Merancang VPC/VNET di AWS, Azure, atau GCP adalah latihan perencanaan CIDR. Salah di awal bisa bikin migrasi jadi mahal dan rumit di kemudian hari.
  • Backend Developers: Nggak bisa nyambung ke database? Mungkin server aplikasi ada di 10.0.1.0/24 dan DB ada di 10.0.2.0/24. Kalau nggak ada router yang dikonfigurasi di antara keduanya, mereka sama aja kayak ada di planet yang berbeda. Ngerti subnet adalah langkah debugging fundamental.
  • Security Professionals: Aturan firewall sering kali didasarkan pada blok CIDR. Untuk ngasih akses dari seluruh kantor, lo nggak nambahin 200 IP satu per satu; lo nambahin satu aturan untuk 10.5.0.0/22. Untuk ngeblokir aktor jahat yang dikenal, lo blokir rentang CIDR mereka.
  • Siapa pun yang nulis kode: Bahkan kalo lo cuma kerja di localhost, lo pake jaringan. Tahu bahwa 127.0.0.1 cuma satu host di dalam blok loopback raksasa 127.0.0.0/8 bantu mengungkap misteri bagian inti dari development lokal.

Di dunia yang penuh layanan saling terhubung, container, dan infrastruktur cloud, jaringan bukan lagi masalah orang lain. Ngerti buku alamatnya itu adalah superpower developer modern.

Pelajari lebih dalam

Teori beres. Saatnya praktik — 100% di browser kamu.

Coba tool-nya: Kalkulator Subnet / CIDR