Jump to content

Subnetting 1

From Haidhi Wiki
Revision as of 07:35, 30 June 2026 by SanzSkuy (talk | contribs)

Subnetting adalah proses memecah satu blok alamat IPv4 menjadi beberapa jaringan (subnet) yang lebih kecil. Tujuannya supaya kita bisa mengelola sendiri ruang alamat yang kita punya tanpa harus beli range terpisah untuk tiap kebutuhan.

Latar Belakang

Bayangin kita ini network designer buat sebuah bisnis kecil dengan empat departemen yang tersebar di dua kantor, dan kita pengen ngelola sendiri public address space-nya.

Daripada beli range alamat terpisah buat tiap departemen, kita cukup beli satu range lalu kita subnet jadi beberapa bagian yang lebih kecil. Lebih hemat, lebih rapi, dan kita yang pegang kontrol pembagiannya.

Catatan: Konsep ini paling gampang dipahami dari sudut pandang desain IPv4 awal, di mana semua host yang bisa komunikasi di Internet punya public IP address. Walaupun sekarang prakteknya kebanyakan pakai Private IP + NAT, cara hitung subnetting-nya tetap sama persis.

Borrowing Host Bits

Sebuah alamat IPv4 dibagi jadi dua bagian: network portion dan host portion. Untuk memecah jaringan jadi subnet yang lebih kecil, kita "minjam" (borrow) beberapa bit dari host portion dan kita tambahkan ke network portion.

Misal kita dialokasikan blok Class C: 200.15.10.0/24

Default Class C itu /24, artinya 24 bit pertama adalah network, 8 bit terakhir (oktet ke-4) adalah host:

200.15.10.0/24
┌───── network (24 bit) ─────┬───┬ host (8 bit) ─┐
11001000 . 00001111 . 00001010 . 00000000
  200    .    15    .    10    .    0

Begitu kita subnet, garis pembatas network selalu bergeser ke kanan. Misal kita geser 4 bit ke kanan jadi /28:

200.15.10.0/28
┌──────────── network (28 bit) ─────┬───┬ host (4 bit) ┐
11111111 . 11111111 . 11111111 . 1111 │ 0000

Prinsip yang harus diinget:

  • Subnetting = minjam host bit dan ditambahin ke network portion.
  • Garis network selalu gerak ke kanan saat kita subnet.
  • Makin ke kanan garisnya → makin banyak subnet, tapi makin sedikit host per subnet. Ini tradeoff-nya: gak bisa dua-duanya banyak.

Menghitung Jumlah Subnet

Rumusnya:

Jumlah subnet = 2^(subnet-bits)

di mana subnet-bits = jumlah bit yang dipinjam dari default mask kelasnya.

Contoh 1 — Class C /28:

Default Class C = /24, kita pakai /28 → minjam 4 bit.
24 = 16 subnet

Contoh 2 — Class B /28:

Default Class B = /16, kita pakai /28 → minjam 12 bit.
212 = 4096 subnet

Perhatiin: prefix yang sama (/28) ngasih jumlah subnet beda, tergantung dari default mask kelasnya. Yang dihitung itu berapa bit yang dipinjam, bukan angka prefix-nya doang.

Catatan: Host yang ada di subnet berbeda harus lewat router kalau mau saling komunikasi. Dalam satu subnet, host bisa langsung ngomong via switch (Layer 2); beda subnet butuh Layer 3 / routing.

Menghitung Jumlah Host

Rumusnya:

Jumlah host valid = 2^(host-bits) − 2

Kenapa dikurang 2? Karena dalam tiap subnet ada dua alamat yang gak boleh dipakai host:

  • Network address → host bit semua 0
  • Broadcast address → host bit semua 1

Contoh — Class C /28:

/28 menyisakan 4 bit untuk host.
24 − 2 = 14 host per subnet

Contoh — Class B /28:

/28 juga menyisakan 4 bit untuk host.
24 − 2 = 14 host per subnet

Catatan penting: jumlah host cuma ditentukan oleh berapa host bit yang tersisa, bukan kelasnya. Makanya Class C /28 dan Class B /28 sama-sama 14 host — host bit-nya sama-sama 4. Yang beda cuma jumlah subnet-nya (lihat bagian sebelumnya).

Catatan: ip subnet-zero

Sama kayak kita harus ngurangin 2 buat dapet jumlah host valid, dulu kita juga harus ngurangin 2 buat dapet jumlah subnet yang valid.

Di standar Internet awal, gak boleh pakai network bit yang semuanya 0 atau semuanya 1 (mirip aturan host bit gak boleh all-0 / all-1). Jadi subnet pertama (subnet zero) dan subnet terakhir dianggap gak valid.

Ternyata aturan ini gak ada gunanya secara praktis dan cuma buang-buang address space. Akhirnya muncul command:

Router(config)# ip subnet-zero

Command ip subnet-zero di router mematikan batasan tadi, dan default-nya udah aktif di IOS modern. Jadi di praktek sekarang, rumus jumlah subnet cukup 2subnet-bits tanpa dikurang 2.

Use Case 1: Bagi /24 jadi 4 departemen

Balik ke skenario awal: kita punya 200.15.10.0/24 dan butuh 4 subnet (empat departemen).

Step 1 — tentukan jumlah bit yang dipinjam. Butuh minimal 4 subnet → cari 2n ≥ 4 → n = 2 (22 = 4). Pinjam 2 bit.

Step 2 — tentukan prefix baru. /24 + 2 bit = /26

Step 3 — hitung subnet mask & block size.

  • /26 → mask = 255.255.255.192
  • Block size = 256 − 192 = 64 (jarak antar subnet di oktet ke-4)

Step 4 — hitung host per subnet.

  • Host bit tersisa = 32 − 26 = 6
  • 26 − 2 = 62 host per subnet (lebih dari cukup untuk satu departemen)

Step 5 — daftar subnet:

# Departemen Network Address Range Host Valid Broadcast
1 HRD 200.15.10.0/26 .1 – .62 200.15.10.63
2 Finance 200.15.10.64/26 .65 – .126 200.15.10.127
3 IT 200.15.10.128/26 .129 – .190 200.15.10.191
4 Sales 200.15.10.192/26 .193 – .254 200.15.10.255

Tiap departemen dapet subnet sendiri, terisolasi di Layer 2, dan saling komunikasi lewat router. Masih ada 0 subnet sisa di sini (pas 4), tapi tiap subnet masih punya banyak host kosong buat tumbuh.

Use Case 2: Butuh banyak subnet kecil (/28)

Misal kebutuhannya beda: kita butuh banyak subnet kecil, misal tiap subnet cukup buat belasan device (printer pool, IoT, link point-to-point antar kantor, dll).

Pakai 200.15.10.0/24 di-subnet jadi /28:

  • Bit dipinjam = 28 − 24 = 4 → 24 = 16 subnet
  • Host bit tersisa = 4 → 24 − 2 = 14 host per subnet
  • Mask = 255.255.255.240, block size = 256 − 240 = 16

Beberapa subnet pertama:

# Network Range Host Broadcast
1 200.15.10.0/28 .1 – .14 200.15.10.15
2 200.15.10.16/28 .17 – .30 200.15.10.31
3 200.15.10.32/28 .33 – .46 200.15.10.47
4 200.15.10.48/28 .49 – .62 200.15.10.63
... ... ... ...
16 200.15.10.240/28 .241 – .254 200.15.10.255

Bandingin sama Use Case 1: blok /24 yang sama, tapi /26 ngasih 4 subnet × 62 host, sedangkan /28 ngasih 16 subnet × 14 host. Itulah tradeoff subnet vs host secara nyata — total host kapasitasnya mirip, tapi cara dibaginya beda jauh.

Use Case 3 (lanjutan): VLSM untuk efisiensi

Use Case 1 dan 2 pakai fixed-length subnet (semua subnet ukurannya sama). Masalahnya, departemen di dunia nyata ukurannya gak sama — boros kalau departemen 5 orang dikasih subnet 62 host.

VLSM (Variable Length Subnet Masking) ngebolehin tiap subnet punya mask beda sesuai kebutuhannya. Kuncinya: alokasikan dari yang paling besar dulu, baru turun ke yang kecil, biar gak overlap.

Misal dari 200.15.10.0/24, kebutuhan host:

  • Sales: 100 host
  • IT: 50 host
  • HRD: 25 host
  • Link WAN antar kantor: 2 host
Dept Butuh Host Prefix Network Range Broadcast
Sales 100 /25 (126 host) 200.15.10.0/25 .1 – .126 .127
IT 50 /26 (62 host) 200.15.10.128/26 .129 – .190 .191
HRD 25 /27 (30 host) 200.15.10.192/27 .193 – .222 .223
WAN link 2 /30 (2 host) 200.15.10.224/30 .225 – .226 .227

Sisa alamat dari .228 ke atas masih bebas buat pertumbuhan. Dengan VLSM, gak ada blok gede yang kebuang sia-sia. Ini yang dipakai di jaringan production beneran, dan link point-to-point antar router biasanya selalu /30 (atau /31 kalau perangkatnya support RFC 3021).

Ringkasan Rumus

Yang dihitung Rumus Catatan
Jumlah subnet 2subnet-bits subnet-bits = bit dipinjam dari default mask kelasnya
Jumlah host valid 2host-bits − 2 dikurang 2 (network + broadcast address)
Block size 256 − (nilai oktet mask) jarak antar network address

Lihat Juga