Mendapatkan IP Bentuk CIDR dari Subnet Mask

Di artikel sebelumnya kita telah dapat menghitung subnet mask dengan cepat dan mudah. Di artikel ini kita akan melakukan hal sebaliknya. Jika kita diberikan sebuah subnet mask kita harus menentukan subnet tersebut dalam bentuk CIDR (Classless Inter-Domain Routing).

Diberikan subnet berikut: 255.255.255.224 maka tentukan bentuk CIDR-nya.

[0] Pemahaman Dasar

Subnet mask untuk alamat IPv4 terdiri dari 4 bagian yang disebut sebagai oktet. Masing-masing oktet berisi 8-bit dan dapat bernilai dari 0-255.

[1] Hitung CIDR Cara Formal

Ide dasarnya adalah mengubah semua oktet menjadi bentuk biner. Selanjutnya hitung ada berapa banyak bit bernilai 1. Dengan demikian subnet 255.255.255.224 jika diubah menjadi bentuk biner akan bernilai sebagai berikut:

11111111.11111111.11111111.11100000

Jumlah bit bernilai 1 sebanyak 27. Dengan menghitung banyaknya angka 1 kita dapat menentukan bahwa bentuk CIDR adalah /27.

Bagian yang tricky dari cara ini adalah mengubah nilai dari oktet menjadi biner. Ada 2 cara untuk melakukannya yakni:

  1. Menghitung nilai biner secara manual
  2. Menghafalkan bentuk-bentuk biner untuk subnet.

Menghitung nilai biner secara manual adalah dengan membagi bilangan dengan 2 terus menerus hingga didapatkan nilai 0 dan memperhatikan sisanya. Sebagai contoh adalah nilai 224.

224 / 2 = 112 sisa 0

112 / 2 = 56 sisa 0

56 /2 = 28 sisa 0

28 / 2 = 14 sisa 0

14 / 2 = 7 sisa 0

7 / 2 = 3 sisa 1

3 / 2 = 1 sisa 1

1 / 2 = 0 sisa 1

Untuk mendapatkan representasi binernya, kita menyusun sisa dari bawah. Dengan demikian nilai biner untuk 224 adalah 11100000.

Cara kedua adalah dengan menghafalkan bentuk biner khusus oktet, sebagai berikut:

255 = 11111111

254 = 11111110

252 = 11111100

248 = 11111000

240 = 11110000

224 = 11100000

192 = 11000000

128 = 10000000

[2] Hitung CIDR Cara Cepat & Mudah

Seperti halnya perhitungan pada subnet, ada tiga kondisi oktet:

  1. Seluruh bit terisi 1
  2. Seluruh bit terisi 0
  3. Sebagian bit terisi 1 dan sisanya terisi 0

Atau dalam kasus angka di atas:

  1. Oktet bernilai 255
  2. Oktet bernilai 0
  3. Oktet bernilai 2-254

Ide dasar metode ini adalah perhitungan cepat dengan dasar oktet yang tak sempurna (kondisi 3). Jika ditemukan oktet dengan nilai 255 maka kita mendapatkan 8 bit. Oktet bernilai 0 tak perlu diperhatikan karena tak memberikan nilai pada perhitungan.

Mari kita memahami metode ini dengan cara menyelesaikan secara langsung.

1) Jumlahkan bit dari setiap oktet bernilai 255. Karena terdapat 3 oktet bernilai 255 maka kita sementara telah mendapatkan nilai sebagai berikut:

CIDR = 8 + 8 + 8

= 24

Simpan nilai ini dulu dan anggap sebagai y.

2) cari bit kosong dari oktet bernilai tak sempurna. Dalam kasus ini oktet tersebut adalah oktet keempat dengan nilai 224. Untuk melakukannya, kurangi 256 dengan nilai oktet tersebut:

bit kosong = 256 – 224

= 32

Bit kosong tersebut adalah nilai dari perpangkatan 2. Untuk lebih jelasnya seperti ini:

2 ^ x = 32

Sekarang kita harus mencari nilai x yang memenuhi persamaan di atas. Kalian dapat menggunakan logaritma untuk mendapatkan nilai ini. Dalam hal ini, x = 5.

3) Sekarang gabungkan y dan x untuk mendapatkan nilai CIDR. Namun karena x merupakan bit kosong sementara kita memerlukan bit satu maka kita harus mendapatkan bit satu. Dengan demikian nilai CIDR adalah sebagai berikut:

CIDR = y + 8 – x

= 24 + 8 – 5

= 27

Jadi subnet mask 255.255.255.224 ekuivalen atau sama dengan /27 dalam bentuk CIDR.

Mari kita coba nilai lain:

Diketahui subnet mask 255.192.0.0 kita tentukan bentuk CIDR-nya.

1) hitung oktet sempurna, y = 8

2) hitung bit kosong pada oktet tak sempurna

bit kosong = 256 – 192 = 64

x = log2(64) = 6

3) CIDR = y + 8 – x

= 8 + 8 – 6

= 10

2 Comments

  1. anonymous

    blognya bagus nih bro… update terus dong… btw, koq situsnya tidak tersedia bro… http://xathrya.web.id/

    • xathrya.web.id memang sudah kadaluarsa, gantinya adalah http://xathrya.id/
      Sekarang mau migrasi beberapa artikel ke sana. Nantinya site ini yang akan jadi site utama. Hanya saja bahasanya bahasa Inggris.

      Terima kasih.

Leave a comment