Hey! Satu topik yang menjadi syarat agar kamu bisa memahami jaringan
komputer secara umum, yaitu subnetting. Saat belajar subnetting, kamu
diajarkan caranya memetakan sebuah jaringan, dan alamat-alamat setiap
perangkatnya.
Kalau tidak paham subnetting, mustahil bisa paham jaringan komputer.
Secara khusus, topik subnetting lebih dibahas di track routing-switching, karena
track tersebut adalah dasarnya. Bagi kamu yang sedang belajar CCNA,
kamu WAJIB ‘paham’ subnetting.
Tingkat pemahaman yang saya maksud, adalah paham sepaham-pahamnya. Bisa
luar kepala membayangkan jaringan seperti apa yang bisa dibentuk dengan
alokasi address untuk kebutuhan network dan host .
Tanpa pakai ip calculator!
Sebelum kita lanjut ke pembahasan subnetting, ada 2 fakta tentang subnetting
yang menarik untuk kamu ketahui:
1. Subnetting merupakan materi paling sulit nomor #1 di jaringan komputer,
terutama CCNA Routing Switching.
2. Belajar subnetting butuh waktu berbulan-bulan, hingga bertahun.
#0. Pendahuluan: Subnetting Merupakan Materi Paling Sulit di CCNA Routing-
Switching
Tahun lalu, di channel @belajarnetworking Telegram, ada postingan survey
berbentuk polling (voting) mengenai materi CCNA yang paling sulit menurut
subscriber.
Saat diagram diatas diambil, ada 1000 orang yang berpartisipasi di poll tersebut,
dan sebanyak 388 orang menjawab bahwa subnetting adalah materi yang paling
sulit di CCNA routing switching.
Perbedaannya sampai 39% dibanding materi-materi CCNA yang lain. Bagi saya
pribadi, hasil vote diatas agak menarik. Saya mungkin tidak merasa kesulitan saat
belajar subnetting, sebab sudah belajar perhitungannya.
Tapi saat sudah belajar CCNA bener-bener, saya baru sadar kalau sebenernya saya
juga belum paham tentang subnetting. Nah loh, padahal.. sudah bisa menghitung
subnetting. Why?
Dah.. intinya. Kalau ini adalah kali pertamanya kamu belajar subnetting. Jangan
khawatir.
Disini saya akan membantu kamu belajar subnetting, mulai dari mengenal
konsepnya, tata cara perhitungannya, dan penerapannya di jaringan komputer
nyata.
Tapi, ada tahapannya dan agak lama. Gimana?
Kalau masih tertarik, mari kita mulai.
#1. Tahapan Belajar Subnetting (Dari Nol Sampai Mahir)
Lagi-lagi, saya akan katakan bahwa belajar subnetting itu membutuhkan proses
yang sangat panjang, berbulan-bulan bahkan bisa bertahun. Supaya terbayang
gambarannya, berikut ini tahapan belajar subnetting.
Baiklah, tahapan belajar subnetting diatas sudah saya singkat karena nyatanya
akan lebih panjang. Namun perlu saya sampaikan karena banyak yang belum
paham konsep dasar, belum paham subnetting, udah ngelab jauh jauh ke private
VLAN, qinq, BGP, MPLS, dsb.
Serius. Jangan seperti ini. Sayang banget waktunya.
Intinya, belajarlah secara sistematis, jangan ikuti ego dan terburu-buru, sayang
waktunya jika terbuang percuma. Lebih baik sedikit namun dipahami.
Mari kita mulai materinya.
#2. Konsep Dasar Subnetting
Sekedar mencerahkan ingatan, di materi sebelumnya mengenai IP address, kita
sudah tau range IP address berdasarkan kelasnya yakni kelas A, kelas B,dan kelas
C.
Ambil range ip address kelas C, yang paling sedikit jumlah hostnya, maka network
yang kita buat jadi seperti ini:
Gambar 3: Network sebelum disubnet
Gambar diatas hanya ilustrasi, sebab switch pada umumnya tidak sampai 250-an
port. Jadi sebenarnya ada beberapa switch disitu. Tapi tetap saja, masalahnya…
ada sebuah broadcast domain di network tersebut!
Satu broadcast domain yang luas sangat buruk untuk performa network. Kalau
belum paham tentang broadcast domain dan collision domain, silakan baca dulu
penjelasannya.
Karena itu, network tersebut bisa kita pecah lagi menjadi beberapa network, jadi
seperti ini. (cara perhitungan subnettingnya akan kita pelajari dibawah).
(Butuh router untuk memecah broadcast domainnya, ya kan?)
Jadi, dari satu network dengan sebuah broadcast domain yang lebar, kita pecah-
pecah menjadi (contoh) 4 broadcast domain.
Maka subnetting adalah subdivided network, yaitu (yang sebenarnya)
adalah sebuah network, yang dibagi-bagi lagi menjadi beberapa network.
Saya tebali kata ‘sebuah network’, karena pada penerapannya nanti, network
yang sudah disubnet tadi, ketika dirouting dari network yang lain, alamatnya
tetap ‘network utama’ nya. Bukan subnetnya.
Maksudnya seperti ini.
Silakan perhatikan gambar dan alamat IP address yang sudah saya alokasikan.
Gimana? Saya yakin kalau kamu benar-benar baru belajar subnetting, pasti pusing
lihatnya. Disini saya tidak bermaksud mempersulit pemikiran kamu, hanya
memberi gambaran saja.
Step by step perhitungannya akan kita bahas pelan-pelan. Materi masih panjang.
Meski kebutuhan IP address untuk LAN hanya 200 sekian, saya alokasikan
sebanyak 512 ip address space (dengan /23).
• Begitu juga dengan WAN, saya alokasikan sebanyak 16 space ip address
(dengan /28).
Itu masih network address untuk network keseluruhan.
Kemudian tiap Headquarter dan Branch memiliki masing-masing 2 segment LAN
dengan jumlah host yang berbeda-beda. Paling banyak ada 120 host.
Maka saya alokasikan tiap subnet LAN HQ dan Branch dengan space ip address
sebanyak 128 dengan /26. Semuanya saya buat sama besar.
Teknik ini dikenal dengan FLSM (fixed length subnet mask). Di bab berikutnya kita
juga akan belajar mengenai VLSM (variable length subnet mask) yang rangenya
menyesuaikan kebutuhan host.
Dalam penerapannya, skema ip address diatas dibuat dalam bentuk tabel (sheet)
dengan microsoft excel atau librecalc untuk memudahkan pengelolaan.
Okelah. Sampai disini harapan saya kamu sudah memiliki gambaran mengenai
tahapan-tahapan membuat membuat subnetting.
Mari kita lanjutkan materinya.
Pertama: kamu harus paham dulu tentang subnet mask.
#4. Penjelasan Tentang Subnet Mask
Ketika packet dikirim, si pengirim akan memeriksa dulu alamat ip tujuan packet,
juga subnet masknya. Subnet mask dibutuhkan untuk mengetahui alamat
tersebut termasuk ke subnet yang mana.
Alasan lainnya, ada situasi dimana alamat IP sama, namun networknya berbeda,
karena subnet masknya berbeda. Maka di kasus ini kita harus menyertakan
subnet mask di pengaturan ip address.
Jika subnet mask tidak disertakan, maka alamat tersebut diasumsikan
menggunakan default subnet mask, atau kita kenal dengan kaidah classful
address.
A network.node.node.node 255.0.0.0
B network.network.node.node 255.255.0.0
C network.network.network.node 255.255.255.0
Misal tadi 192.168.100.0 subnet mask 255.255.255.0, ada 8 bit porsi host yang
tersedia, berarti 2^8. Maka lebar hostnya adalah 256. Ini juga kadang disebut
dengan block size.
Saya yakin ini tidak sulit dipahami, kamu cuma perlu ingat kelipatan 2 saja.
Misalnya kamu sudah ingat kalau 2^8 adalah 256, tentunya kamu tahu kalau 2^9
adalah 512 atau 2^7 adalah 128.
Tinggal kali 2, atau bagi 2, seterusnya seperti itu.
Nilai bit host dan bit network ini selalu saling berkaitan, jika ada 24 bit network,
pasti ada 8 bit host. Jika ada 27 network bit, maka 5 bit sisanya adalah bit host.
Gitu terus. Karena lebar totalnya adalah 32 bit.
Biar makin nyambung perhitungannya, mari kita bahas CIDR.
#5. Memahami Metode CIDR (Classless Inter-Domain Routing)
Jika dulu, semua pengalamatan IP berdasarkan kaidah classful (kelas A, kelas B,
dan kelas C), sekarang tidak lagi.
Tahun 1992, IETF mengganti metode alokasi ip address diatas dengan Classless
Inter-Domain Routing (CIDR), bisa kamu lihat di RFC 1338 dan RF 1519.
CIDR dalam penerapannya diawali dengan case ISP dalam mengalokasikan IP
public ke pelanggan mereka. Nah karena jika semuanya bersifat classful, tentu ip
address akan cepat habisnya. (Bisa digunakan untuk ip private).
Dengan CIDR, alamat network tidak lagi harus classful, bisa menggunakan subnet
mask manapun (ada ketentuannya dibawah). Kemudian di CIDR kita mengenal
notasi slash (/).
Contohnya 192.168.100.0/24, artinya ada 24 bit porsi network. Jika
192.168.100.0/29 berarti ada 29 bit porsi network, dan seterusnya.
Berikut tabel CIDR beserta jumlah host di setiap nilai subnet-mask / cidr nya.
Tabel tersebut kita sebut juga dengan “Classless IPv4 Address Allocation”. Ingat
yang sudah saya jelaskan diatas, CIDR tidak lagi mengikuti kaidah classfull address.
Tapi, ada ketentuannya. Berikut ketentuan penggunaan CIDR.
• /8 sampai dengan /15 hanya bisa digunakan oleh kelas A
• /16 sampai dengan /23 hanya bisa digunakan oleh kelas A dan kelas B
• /24 sampai /30 bisa digunakan oleh kelas A, kelas B, dan kelas C
Gambar 9: Penggunan CIDR
Kita tidak bisa menggunakan /31 dan /32, karena setidaknya kita membutuhkan
minimal 2 untuk host, 1 untuk alamat network dan 1 untuk alamat broadcast.
Berdasarkan RFC 3021, /31 bisa digunakan untuk p2p, tapi ini diluar scope
bahasan kita kali ini.
Ingat ya, class C memiliki lebar 256 bit host. Bisa kita pakai 254 ip address untuk
dialokasikan, 2 diantaranya digunakan untuk alamat network dan alamat
broadcast.
Itu.. dengan catatan 1 network. Nah kalau mau dipecah-pecah lagi menjadi
beberapa network, mari kita hitung subnet yang bisa kita buat.
Selesai, hanya ada 2 subnet. (Kalau diteruskan dari alamat broadcast subnet 128,
maka jadi network selanjutnya, yaitu 192.168.101.0). Biasanya yang baru belajar
akan bingung dimana angka 256.
Ingat ya, nilai 256 tidak ada di ip address v4. Menghitungnya dari 0, sampai 255.
Jika sampai 256, maka dia akan menambahkan nilai di subnet sebelah kirinya.
Agar lebih terbayang, kira-kira seperti ini topologi subnet yang barusan kita
hitung. Ada 2 subnet yang bisa dibuat dari total /24, menggunakan /25.
Gambar 10: Subnetting dengan /25 – 255.255.255.128
Nice! Dari kelas C (total 256 porsi host) tadi, kita sudah bisa membaginya menjadi
2 subnet, dengan menggunakan /25. Mari, dilanjut.
#2C: Subnetting 255.255.255.192 (/26)
Sekarang, mari kita hitung subnetting dengan alamat network 192.168.100.0
subnet mask 255.255.255.192 atau /26. Binarinya adalah 110000.
• Jumlah subnet: 2^2 = 4 subnet yang bisa dibentuk. Ada 2 bit yang on,
dari 11000000.
• Jumlah host tiap subnet: 2^y-2 = 62 host. Ada 6 bit yang off dari
11000000 maka 2^6 = 64 – 2 (untuk network dan broadcast), berarti 62.
• Block size dan alamat-alamat subnet yaitu 256-192 = 64. Kelipatan 64.
Berarti 0, 64, 128, 192. Total ada 4 subnet.
• Alamat broadcast masing-masing subnet: 63, 127, 191, dan 255.
• Host subnet yang valid: 1-62, 65-126, 129-190, dan 193-254.
Misal, kamu hanya butuh 3 network, karena memang cuma ada 3 departement.
Maka penggunaan /26 sudah cocok. Karena pakai /25 akan kurang.
Masih lebih 1 subnet kan? Tidak masalah sebab ketika melakukan subneting
disarankan memang ada spare/cadangan network yang kosong.
#3C: Subnetting 255.255.255.224 (/27)
Selanjutnya alamat network 192.168.100.0 dengan subnet mask 255.255.255.224
atau /27. Binari porsi hostnya adalah 11100000.
• Jumlah subnet: 2^3 = 8 subnet. Ada 3 bit yang bernilai 1 atau on: 11100000.
• Jumlah host tiap subnet: 2^5-2= 30 host. Ada 5 bit yang bernilai 0 atau off:
11100000.
• Block size, atau interval tiap subnet: 256-224=32. Berarti subnet-subnetnya
adalah 0, 32, 64, 96, 128, 160, 192, 224. Total ada 8 subnet.
!!Challenge
Sekarang giliran kamu, coba silakan gambarkan topologi yang bisa dibentuk
dengan tabel subnet diatas. Jumlah router, switch, terserah.
Begitu juga jumlah subnetnya, terserah (asal tidak kurang). Hasilnya bisa submit di
komentar bawah.
#4C: Subnetting 255.255.255.240 (/28)
Alamat 192.168.100.0 dengan subnet mask 255.255.255.240 atau /28. Dengan
nilai biner porsi hostnya 11110000.
• Jumlah subnet: 2^4 = 64 subnet.
• Host tiap subnet: 2^4-2 = 14 host.
• Block size/ interval/ nilai kelipatan subnet: 256 – 240 = 16.
Biasanya orang jarang berurusan dengan subnet 112, 144, dllnya (cari sendiri),
karena itu, jarang yang terbiasa. Silakan kamu buat tabel subnettingnya di sheet
app (excel, calc, etc), minimal 1 atau 2x.
#5C: Subnetting 255.255.255.248 (/29)
Banyak yaah. Kita bahas satu persatu. Sekarang network 192.168.100.0 dengan
subnet mask 255.255.255.248 atau /29. Binari porsi hostnya adalah 11111000.
• Jumlah subnet: 2^5 = 32 subnet
• Host tiap subnet: 2^3-2 = 6 host.
• Block size: 256 – 248 = kelipatan 8. Dari subnet 0, 8, 16, 24, 32, 40, dst.
Jangan bingung menghitung binari hostnya. Ingat, kalau /29, kan ada 29 bit yang
on. Tapi karena kita bermain di class C, sampai oktet ketiga sudah on. Berarti
sudah ada 24 binari.
Agar sampai ke 29, tinggal on-kan 5 binari di oktet ke empat. Oh ya, silakan buat
subneting tabel dan topologi yang bisa dibentuk.
#6C: Subnetting 255.255.255.252 (/30)
Terakhir, alamat 192.168.100.0 dengan subnet mask 255.255.255.252 atau /30.
Binari di porsi hostnya: 11111100.
• Jumlah host tiap subnet: 2^6 = 64 subnet
• Host tiap subnet: 2^2-2 = (hanya) 2 host.
• Interval subnet: 256 – 252 = kelipatan 4. Subnet 0, 4, 8, …, 240, 248, dan
252.
Sekarang muncul pertanyaan.
Siapa pula yang mau mensubnet network kelas C dengan /30. Ada banyak
network (subnet) hingga 64, sementara hostnya cuma ada 2. Ya kan?
Jawabannya, ada. Tapi tidak untuk koneksi LAN, melainkan WAN, yang biasanya
digunakan ISP untuk memberi koneksi point-to-point ke client mereka. Jadi .. jauh
lebih hemat.
Ingat yah, kamu harus terbiasa dengan CIDR yang barusan kita hitung diatas.
Sangat sering digunakan untuk lab-lab CCNA dan network small to medium di
lapangan.
b. Menghitung Subnetting Kelas B
Dengan kelas B, subnet yang bisa dibuat lebih banyak dibanding kelas C. Kita bisa
menggunakan sebanyak 14 bit untuk subneting di kelas B.
… atau 14 buah cidr, seperti berikut.
Subnet Mask CIDR Subnet Mask CIDR
255.255.254.0 (/23)
Kita bisa pakai cidr dari /16 sampai dengan /30, ada 14, ya kan? Dari /16 ke /23,
adanya di oktet ke tiga. Dari /24 sampai /30, adanya di oktet ke 4 (seperti kelas C
sebelumnya).
Oh iya, saat kita mensubnet kelas B, artinya kita memiliki space address /16, lalu
dipecah (disubnet). Bukan masing-masing networknya /16.
Sama seperti kelas C diatas, berarti kita punya space address /24, totalnya. Mau
dibuat menjadi 2 subnet, berarti pakai /25. Mau dibuat 4 subnet, berarti pakai
/26. Gitu seterusnya.
… bingung? Di konsep subneting awal sudah saya jelaskan dengan topologi.
Ayo kita mulai latihan hitung subnetting kelas B.
#1B: Subnetting 255.255.128.0 (/17)
Alamat network: 172.16.0.0, subnet mask: 255.255.128.0. Nilai binari (dari oktet
ke 3 sampai dengan oktet ke 4): 1000000.000000.
• Jumlah subnet: 2^1 = 2 subnet. (Sama seperti /25 di kelas C).
• Host tiap subnet: 2^15-2 = 32,776 host. (7 bit di oktet 3, 8 bit di oktet 4).
• Interval subnet: 256-128 = 128. Subnet 0.0 dan subnet 128.0. Total ada 2
subnet, ya kan? Lihat tabelnya.
Contoh kali ini agak berbeda. Seperti saya katakan diatas, jika sudah sampai 256,
maka dia akan pindah ke oktet sebelah kiri.
Perhatikan nilai 127.255 broadcast. Jika diteruskan kan maka jadi subnet
selanjutnya yaitu 128.0 (ingat, bukan 127.256). Mirip sih dengan /25. Cuma
karena pindah oktet saja.
Biasanya orang terbiasa dari hitungan /24 sampai /30. Jika sudah dibawah itu, kita
bingung
Tips:
Gunakan cara mengingat dengan penambahan nilai 8. Misal, /17 kelipatannya
mirip dengan /25. (Ingat: 17+8). Cuma pindah oktet.
#2B: Subnetting 255.255.192.0 (/18)
Alamat network: 172.16.0.0, subnet mask: 255.255.192.0 atau /18. Binarinya
11000000.000000.
• Jumlah subnet: 2^2 = 4 subnet.
• Host tiap subnet: 2^14-2 = 16,382 host tiap subnet.
• Interval subnet: 256-192 = kelipatan 64, di oktet ke 3.
Ingat, interval /18 sama dengan interval /26, yaitu 64. Hanya beda di posisi
oktetnya saja.
#3B: Subnetting 255.255.224.0 (/19)
Alamat network: 172.16.0.0, subnet mask: 255.255.224.0 atau /19. Binarinya
11100000.00000000.
• Jumlah subnet: 2^3 = 8 subnet.
• Host tiap subnet: 2^13 -2 = 8,190 host tiap subnet.
• Interval subnet: 256-224 = kelipatan 32, di oktet ke 3.
Ya, kamu bisa subnet network kelas B hingga sampai /30. Diatas sudah kita bahas
ketentuannya. Kelas B bisa menggunakan cidr dari /30 hingga /16.
Sampai sini, dengan /24 di kelas B, kamu bisa punya 256 network subnet yang
bisa dibentuk. Masing-masing subnetnya bisa diisi sebanyak 254 host.
Kalau kamu mau mensubnet kelas A di oktet ke 3, gunakan cidr /16 sampai /23.
Kalau mau mensubnet di oktet ke 4, gunakan cidr /24 sampai dengan /30. Ini yang
sering digunakan di jaringan medium to high.
Saya juga tidak akan menjabarkan perhitungan subnetting di cidr /8 hingga /16.
Nanti panjang banget, lagian kan, sama saja.
Jumlah subnet, dan intervalnya sama. Secara pattern. Namun jumlah hostnya
berbeda.
Contoh: alamat 10.0.0.0 dengan subnet mask 255.192.0.0 atau /10. Berarti
binarinya adalah 11000000.00000000.00000000. Jumlah subnet dan interval atau
block sizenya sama dengan /18 atau /25. Hanya saja dia di oktet kedua. Paham
kan sampai disini?
Kemudian perhitungan hostnya juga berbeda, sebab nilai bit yang off, lebih
panjang, yaitu 22 bit. Berarti 2^22-2 = 4,194,304 host setiap subnetnya.
#7. Tips Mudah Menghitung Subnetting
Cara-cara perhitungan subnetting yang sudah saya jelaskan diatas adalah cara
umum yang biasa digunakan orang ketika beru belajar subnetting. Setelah itu,
caranya bisa saja berubah.
Biasanya.. tiap masing-masing orang memiliki teknik sendiri dalam menghitung
subnetting. Saya pribadi, menggunakan ‘tabel sakti subnetting’. Seperti ini: