Subnetting, Cara Formal dan Cara Mudah

Hampir tak pernah saya update blog ini. Kebanyakan jika saya menulis artikel ke situs saya di http://xathrya.web.id. Kebetulan karena kemarin menulis sebuah dokumen tutorial di grup Facebook Persatuan TKJ Indonesia jadi saya sempatkan untuk menyalinnya ke blog ini.

Banyak yang bertanya kepada saya (maupun kepada orang lain dan kemudian saya ikut berdiskusi) tentang subnetting. Maka saya putuskan untuk membahas tentang teknik subnetting agar dapat saya jadikan referensi sehingga tak perlu menuliskan panjang-panjang di kemudian hari. Tujuan akhir dari artikel ini adalah memahami subnetting dan dapat menghitung subnet mask dengan cepat.

Pembahasan dilakukan dengan dua cara, yakni cara formal (yang diajarkan di sekolah) dan cara ala Satria. Cara kedua adalah cara yang berdasarkan intuisi tapi dijamin benar.

Diberikan alamat sebagai berikut: 192.168.1.27/27 maka tentukan subnetnya.

[0] Pemahaman Dasar

Alamat di atas merupakan alamat IPv4 yang menggunakan skema atau format CIDR (Classless Inter-Domain Routing). Pada CIDR tidak dikenal lagi pembagian berdasarkan kelas A, B, C, D tetapi menggunakan metode bernama VLSM (Variable-Length Subnet Mask) untuk mengalokasikan IP ke dalam kategori yang dinamis.

Alamat IPv4 terdiri dari 4 bagian yang disebut sebagai oktet. Masing-masing oktet berisi 8-bit dan dapat bernilai dari 0-255. Jadi total ada 32 bit di IPv4.

Begitu pula dengan subnet, penulisan subnet juga mengikuti kaidah penulisan IPv4 yakni terdapat 4 oktet. Bagian yang perlu diperhatikan di skema ini adalah angka yang berada di belakang tanda /. Angka tersebut menyatakan berapa banyak bit yang aktif (bernilai 1) dalam subnet mask. Dalam kasus di atas, ada 27 bit aktif. Penghitungan bit aktif dilakukan dari kiri.

[1] Hitung Subnet Cara Formal

Di perhitungan formal ide dasarnya adalah mengubah semua (atau sebagian  yang diperlukan) menjadi bentuk bit. Kita tahu bahwa ada 27 bit yang digunakan dan terbagi menjadi 4 oktet. Hasilnya sebagai berikut:

11111111.11111111.11111111.11100000

Lihat bahwa setelah 27 bit bernilai 1 kita adalah 5 (didapat dari 32-27) buah bit bit 0.

Selanjutnya tentukan nilai untuk masing-masing oktet. Ada tiga kondisi kemungkinan oktet:

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

Oktet yang seluruh bit-nya terisi 1 pasti bernilai 255. Sedangkan oktet yang seluruhnya terisi 0 pasti bernilai 0. Dengan demikian kita hanya perlu mengalihkan perhatian pada oktet yang memenuhi kondisi (3). Jika telah ditemukan maka fokuskan perhatian pada bit yang bernilai 1. Dalam kasus di atas, oktet yang menjadi perhatian kita adalah oktet keempat atau oktet paling kanan. Kemudian bit yang bernilai 1 ada di posisi 6, 7, dan 8 dihitung dari kanan (atau 1, 2, 3 jika dihitung dari kiri tapi kita hitung dari kanan saja). Untuk menghitung nilai dari oktet kita gunakan rumus berikut:

2 ^ (posisi – 1)

dengan ^ menyatakan pangkat.

Jadi nilai oktet dapat kita hitung sebagai berikut:

oktet = 2 ^ (8-1) + 2 ^ (7-1) + 2 ^ (6-1)

= 2^7 + 2^6 + 2^5

= 128 + 64 + 32

= 224.

Hasil akhirnya = 255.255.255.224

Oke, ini cukup panjang. Karena oktet selalu berurutan kalian juga bisa hafalkan seperti berikut:

11111111 = 255

11111110 = 254

11111100 = 252

11111000 = 248

11110000 = 240

11100000 = 224

11000000 = 192

10000000 = 128

Tapi jika kalian terlalu malas menghafalkan sepertiku, kalian bisa ikuti cara [2]

[2] Hitung Subnet Cara Cepat & Mudah

Tak perlu melakukan pengubahan ke bentuk biner. Ide dasar metode ini adalah perhitungan cepat dengan dasar banyak angka di belakang /. Dalam kasus di atas, dari 32 bit telah terpakai 27 bit sehingga bit yang kosong adalah:

bit kosong = 32-27

= 5.

Bit kosong ini merupakan bit kosong secara keseluruhan.

Sekarang kita tentukan dimana oktet yang harus kita periksa. Ingat bahwa oktet memiliki 8 bit. Karena 5 kurang dari 8 (kurang dari 1 oktet) maka oktet yang akan kita operasikan ada di oktet paling kanan. Jika nilai bit kosong yang didapat lebih dari 1 oktet maka bagilah dengan 8 untuk mengetahui berapa banyak oktet yang dilewati dan ambil sisanya untuk mendapatkan bit kosong. Akan dijelaskan kasusnya nanti.

Sekarang kita cari nilai dulu berdasarkan kasus di atas. nilai oktet tersebut adalah:

256 – 2 ^ 5

= 256 – 32

= 224.

Seluruh oktet di kiri oktet yang kita operasikan adalah oktet penuh. Karena kita mengoperasikan oktet paling kanan maka oktet 1, 2, dan 3 memiliki kondisi (1). Jadi, hasilnya adalah: 255.255.255.224

Lebih singkat bukan?

Sekarang mari kita coba kasus lain untuk lebih memahami metode ini. Misal kita memiliki /10, maka:

1) hitung banyaknya bit kosong:

32 – 10

= 22

2) cari posisi oktet dan hitung banyaknya bit kosong di oktet tersebut.

22 / 8 = 2 sisa 6

Jadi 2 oktet di kanan adalah oktet kosong (memenuhi kondisi (2)). Ada 6 bit kosong di oktet ini.

3) hitung nilai oktet:

256 – 2 ^ 6

= 256 – 64

= 192

4) hasil akhir: 255.192.0.0

Hei, kamu perlu lihat artikel lain tentang “bagaimana mendapatkan nilai IP bentuk CIDR dari subnet mask“.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: