Rabu, 27 Oktober 2010

Cara Memecah Jaringan Dalam Pembagian Subnetmask

CARA MEMECAH JARINGAN DALAM PEMBAGIAN SUBNETMASK
Ditulis pada Jum'at, 7 Nopember 2008 00:00:00 | Dibaca sebanyak : 6332 kali
Kali ini kita akan membahas sedikit mengenai subnetting. Dengan subnetting, kita dapat menentukan jumlah host yang akan digunakan di dalam jaringan. Apa manfaat menentukan banyaknya host di dalam suatu jaringan? Banyak, salah satunya adalah mengefisiensikan penggunaan resource yang digunakan untuk membroadcast ke jaringan. Bila kita hanya punya 10 host, tapi subnetmask kita tidak kita set untuk hanya 10 host, maka paket data yang masuk ke jaringan akan dibroadcast ke seluruh alamat IP (host), walaupun host itu pada kenyataannya tidak pernah ada. Oleh karena itu, maka kita perlu menggunakan subnetting untuk mengefisiensikan penggunaan bandwitdh jaringan.
Bagaimana cara memecah network menjadi subnetwork? Salah satunya menggunakan subnetmask. Pada artikel ini, kita akan menggunakan IP v4 class C untuk contohnya. Untuk memulai, mari kita buktikan nilai default dari IP Class C. Untuk Class C bila tidak dibuat subnet, maka default subnetmasknya adalah 255.255.255.0 dan jumlah maksimal host/clientnya adalah 254 host. Mari kita buktikan dengan menghitungnya.
Misal sebuah network dengan alamat 192.168.0.0/24. Berapa subnetmasknya? Subnet dapat dilihat dari angka /24 berarti subnetnya adalah 24 bit. Karena alamat IP v.4 merupakan 32 bit dan dibagi menjadi 4 (setiap 8 bit dipisah menggunakan titik), jadi subnetnya adalah 255.255.255.0. Kok bisa? Mari kita sok tahu dikit.
IP = 32 bit = X.X.X.X
Setiap X mewakili 8 bit, bit = binary = nilai 0 atau 1
/24 berarti bit yang bernilai 1 ada 24 buah, ditulis dari kiri ke kanan
/24 = 11111111.11111111.11111111.00000000 = 255.255.255.0
NB: pada kenyataannya, /xx atau disebut prefix tidak pernah dituliskan saat kita mengonfigurasi IP untuk komputer. Karena komputer sudah dapat menentukan prefix secara otomatis menggunakan subnetmask. Misal, kita akan mengeset IP untuk client/host pada network 192.168.0.0/24, maka yang perlu kita lakukan adalah menentukan alamat IP untuk host (192.168.0.1 - 192.168.0.254), subnetmask default (255.255.255.0), dan alamat default gateway serta alamat DNS servernya saja. Kita tidak perlu menuliskan IP 192.168.0.x/24.
Kembali ke pokok bahasan, setelah diketahui subnet masknya, kita dapat menghitung jumlah hostnya dengan cara:
Jumlah Host = 2n - 2
Kenapa dikurangi 2? Karena digunakan untuk alamat network (biasanya host ke-0, untuk contoh ini maka alamat network = 192.168.0.0) dan alamat broadcast (biasanya host terakhir, untuk contoh ini maka alamat broadcast = 192.168.0.255). Berapa nilai n? n = banyaknya angka 0 pada subnetmask (angka 0 dihitung pada nilai binary bukan desimal). Pada contoh di atas, berarti n = 8. Jadi jumlah host adalah 28 - 2 = 256 - 2 = 254 host.
Jadi jaringan dengan subnetmask 255.255.255.0 mempunyai jumlah host sebanyak 254 host. Pada tahap ini, terbukti bahwa IP class C bila tidak disubnet, maka akan mempunyai jumlah host sebanyak 254 host. Lalu bagaimana bila ternyata hanya terdapat 10 host saja? Seperti pernyataan yang terdapat di paragraf pertama, akan terjadi banyak sekali pemborosan. Di sinilah kegunaan subnetting.
Bila kita hanya mempunyai 10 host, maka kita dapat menggunakan subnetmask 255.255.255.240 untuk mengefisiensikan jaringan kita. Bagaimana cara mengetahuinya? Mari kita bersama-sama menghitungnya.
Jumlah Host = 2n - 2
10 <= 2n - 2
n = 4, diperoleh dari 2n - 2 yang mendekati 10
n mewakili host portion pada subnetmask. Karena host portion yang dipakai hanya 4, maka sisanya (4 bit) akan dipakai sebagai subnet portion. Seperti yang telah kita ketahui, n merupakan jumlah angka 0 dari subnetmask, dihitung/ditulis dari kanan. Dengan demikian, subnetmask subnetwork yang baru adalah 255.255.255.11110000 = 255.255.255.240.
NB: subnetmask dibagi menjadi 2 bagian, yaitu subnet portion (diwakili dengan angka 1 pada nilai binary) dan host portion (diwakili dengan angka 0 pada nilai binary). Untuk IP class C, nilai default subnet portionnya adalah 24 bit, dan host portionnya adalah 8 bit.
Dengan subnetmask 255.255.255.240, berapakah jumlah host maksimal dan berapa jumlah subnet yang dapat dibuat? Untuk menghitung jumlah host, digunakan rumus 2n - 2, n kecil mewakili jumlah angka 0 pada host portion. Sedang untuk menghitung jumlah subnet, kita dapat menggunakan rumus 2N - 2 (menurut cisco), N mewakili jumlah angka 1 pada host portion.
NB: untuk mencari jumlah subnet, ada yang menggunakan rumus 2N saja tanpa dikurangi 2. Hanya cisco yang mengurangkan dengan dua, karena secara default router cisco tidak menggunakan subnet ke-0 (kalau gak salah istilahnya "no ip subnet zero") dan subnet yang terakhir digunakan untuk cadangan. Aku kurang paham tentang masalah ini.
Untuk contoh ini, maka klasifikasi jaringan yang baru adalah
Jumlah host/subnet = 2n - 2 = 24 - 2 = 14 host
Jumlah subnet = 2N - 2 = 24 - 2 = 14 subnet

Setelah kita menggunakan subnetmask 255.255.255.240, maka jaringan kita telah terbagi menjadi 14 subnet dengan jumlah maksimal host per subnet adalah 14 host. Lha kan Cuma ada 10 host doang? Ya gak papalah, memboroskan bandwidth untuk 4 host, masih lebih irit bila dibandingkan dengan 244 host, kan? Betul gak sih?

Klasifikasi jaringan 192.168.0.0/28
Subnet #0 (defaultnya tidak digunakan pada router cisco)
Alamat network = 192.168.0.0/28
Alamat host = 192.168.0.1/28 - 192.168.0.14/28
Alamat broadcast = 192.168.0.15/28

Subnet #1
Alamat network = 192.168.0.16/28
Alamat host = 192.168.0.17/28 - 192.168.0.30/28
Alamat broadcast = 192.168.0.31/28

Dan seterusnya...
NB: prefik /28 diperoleh dari default value (24) ditambah dengan jumlah host portion yang digunakan untuk subnet portion (4).



























Hitung Subnetting!


BandWidth 

Setelah anda membaca artikel Konsep Subnetting, Siapa Takut? dan memahami konsep Subnetting dengan baik. Kali ini saatnya anda mempelajari teknik penghitungan subnetting. Penghitungan subnetting bisa dilakukan dengan dua cara, cara binary yang relatif lambat dan cara khusus yang lebih cepat. Pada hakekatnya semua pertanyaan tentang subnetting akan berkisar di empat masalah: Jumlah 
Subnet, Jumlah Host per Subnet, Blok Subnet, dan Alamat Host- Broadcast. 

 

Penulisan IP address umumnya adalah dengan 192.168.1.2. Namun adakalanya ditulis dengan 192.168.1.2/24, apa ini artinya? Artinya bahwa IP address 192.168.1.2 dengan 
subnet mask 255.255.255.0. Lho kok bisa seperti itu? Ya, /24 diambil dari penghitungan bahwa 24 bit subnet mask diselubung dengan binari 1. Atau dengan kata lain, subnetmasknya adalah: 11111111.11111111.11111111.00000000 (255.255.255.0). Konsep ini yang disebut dengan CIDR (Classless Inter-Domain Routing) yang diperkenalkan pertama kali tahun 1992 oleh IEFT. 

Pertanyaan berikutnya adalah 
Subnet Mask berapa saja yang bisa digunakan untuk melakukan subnetting? Ini terjawab dengan tabel di bawah: 

 
SUBNETTING PADA IP ADDRESS CLASS C 

Ok, sekarang mari langsung latihan saja. Subnetting seperti apa yang terjadi dengan sebuah NETWORK ADDRESS 192.168.1.0/26 ? 

 

Analisa: 192.168.1.0 berarti kelas C dengan 
Subnet Mask /26 berarti 11111111.11111111.11111111.11000000 (255.255.255.192). 

Penghitungan: Seperti sudah saya sebutkan sebelumnya semua pertanyaan tentang subnetting akan berpusat di 4 hal, jumlah 
subnet, jumlah host per subnet, blok subnet, alamat host dan broadcast yang valid. Jadi kita selesaikan dengan urutan seperti itu: 

1. Jumlah 
Subnet = 2x, dimana x adalah banyaknya binari 1 pada oktet terakhir subnet mask (2 oktet terakhir untukkelas B, dan 3 oktet terakhir untuk kelas A). Jadi Jumlah Subnet adalah 22 = 4 subnet 

2. Jumlah Host per 
Subnet = 2y - 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada oktet terakhirsubnet. Jadi jumlah host per subnet adalah 26 - 2 = 62 host 

3. Blok 
Subnet = 256 - 192 (nilai oktet terakhir subnet mask) = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192. 

4. Bagaimana dengan alamat host dan broadcast yang valid? Kita langsung buat tabelnya. Sebagai catatan, host pertama adalah 1 angka setelah 
subnet, dan broadcast adalah 1 angka sebelum subnet berikutnya. 

 

Kita sudah selesaikan subnetting 
untuk IP address Class C. Dan kita bisa melanjutkan lagi untuk subnet mask yang lain, dengan konsep dan teknik yang sama. Subnet mask yang bisa digunakan untuk subnetting class C adalah seperti di bawah. Silakan anda coba menghitung seperti cara diatas untuk subnetmask lainnya. 

 
SUBNETTING PADA IP ADDRESS CLASS B 

Berikutnya kita akan mencoba melakukan subnetting 
untuk IP address class B. Pertama, subnet mask yang bisa digunakan untuk subnetting class B adalah seperti dibawah. Sengaja saya pisahkan jadi dua, blok sebelah kiri dan kanan karena masing-masing berbeda teknik terutama untuk oktet yang “dimainkan” berdasarkan blok subnetnya. CIDR /17 sampai /24 caranya sama persis dengan subnetting Class C, hanya blok subnetnya kita masukkan langsung ke oktet ketiga, bukan seperti Class C yang “dimainkan” di oktet keempat. Sedangkan CIDR /25 sampai /30 (kelipatan) bloksubnet kita “mainkan” di oktet keempat, tapi setelah selesai oktet ketiga berjalan maju (coeunter) dari 0, 1, 2, 3, dst. 

 

Ok, kita coba dua soal 
untuk kedua teknik subnetting untuk Class B. Kita mulai dari yang menggunakan subnetmask dengan CIDR /17 sampai /24. Contoh network address 172.16.0.0/18. 

Analisa: 172.16.0.0 berarti kelas B, dengan 
Subnet Mask /18 berarti 11111111.11111111.11000000.00000000 (255.255.192.0). 

Penghitungan: 

1. Jumlah 
Subnet = 2x, dimana x adalah banyaknya binari 1 pada 2 oktet terakhir. Jadi Jumlah Subnet adalah 22 = 4subnet 

2. Jumlah Host per 
Subnet = 2y - 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada 2 oktet terakhir. Jadi jumlah host per subnet adalah 214 - 2 = 16.382 host 

3. Blok 
Subnet = 256 - 192 = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192. 

4. Alamat host dan broadcast yang valid? 

 

Berikutnya kita coba satu lagi 
untuk Class B khususnya untuk yang menggunakan subnetmask CIDR /25 sampai /30. Contoh network address 172.16.0.0/25. 

Analisa: 172.16.0.0 berarti kelas B, dengan 
Subnet Mask /25 berarti 11111111.11111111.11111111.10000000 (255.255.255.128). 

Penghitungan: 

1. Jumlah 
Subnet = 29 = 512 subnet 
2. Jumlah Host per 
Subnet = 27 - 2 = 126 host 
3. Blok 
Subnet = 256 - 128 = 128. Jadi lengkapnya adalah (0, 128) 
4. Alamat host dan broadcast yang valid? 
 
SUBNETTING PADA IP ADDRESS CLASS A 

Kalau sudah mantab dan paham, kita lanjut ke Class A. Konsepnya semua sama saja. Perbedaannya adalah di OKTET mana kita mainkan blok 
subnet. Kalau Class C di oktet ke 4 (terakhir), kelas B di Oktet 3 dan 4 (2 oktet terakhir), kalau Class A di oktet 2, 3 dan 4 (3 oktet terakhir). Kemudian subnet mask yang bisa digunakan untuk subnetting class A adalah semua subnet mask dari CIDR /8 sampai /30. 

Kita coba latihan 
untuk network address 10.0.0.0/16. 

Analisa: 10.0.0.0 berarti kelas A, dengan 
Subnet Mask /16 berarti 11111111.11111111.00000000.00000000 (255.255.0.0). 

Penghitungan: 

1. Jumlah 
Subnet = 28 = 256 subnet 
2. Jumlah Host per 
Subnet = 216 - 2 = 65534 host 
3. Blok 
Subnet = 256 - 255 = 1. Jadi subnet lengkapnya: 0,1,2,3,4, etc. 
4. Alamat host dan broadcast yang valid? 

 

Mudah-mudahan sudah setelah anda membaca paragraf terakhir ini, anda sudah memahami penghitungan subnetting dengan baik. Kalaupun belum paham juga, anda ulangi terus artikel ini pelan-pelan dari atas. 
Untuk teknik hapalan subnetting yang lebih cepat, tunggu di artikel berikutnya 

Catatan: Semua penghitungan 
subnet diatas berasumsikan bahwa IP Subnet-Zeroes (dan IP Subnet-Ones) dihitung secara default. Buku versi terbaru Todd Lamle dan juga CCNA setelah 2005 sudah mengakomodasi masalah IP Subnet-Zeroes (dan IP Subnet-Ones) ini. CCNA pre-2005 tidak memasukkannya secara default (meskipun di kenyataan kita bisa mengaktifkannya dengan command ip subnet-zeroes), sehingga mungkin dalam beberapa buku tentang CCNA serta soal-soal test CNAP, anda masih menemukan rumus penghitungan Jumlah Subnet = 2x - 2 

Tahap berikutnya adalah silakan download dan kerjakan soal latihan subnetting. Jangan lupa mengikuti artikel tentang Teknik Mengerjakan Soal Subnetting 
untuk memperkuat pemahaman anda dan meningkatkan kemampuan dalam mengerjakan soal dalam waktu terbatas.

Selasa, 26 Oktober 2010

kelengkapan Subnet Mask

Representasi Subnet Mask
Ada dua metode yang dapat digunakan untuk merepresentasikan subnet mask, yakni:
*       Notasi Desimal Bertitik
*       Notasi Panjang Prefiks Jaringan
[sunting] Desimal Bertitik
Sebuah subnet mask biasanya diekspresikan di dalam notasi desimal bertitik (dotted decimal notation), seperti halnya alamat IP. Setelah semua bit diset sebagai bagian network identifier dan host identifier, hasil nilai 32-bit tersebut akan dikonversikan ke notasi desimal bertitik. Perlu dicatat, bahwa meskipun direpresentasikan sebagai notasi desimal bertitik, subnet mask bukanlah sebuah alamat IP.
Subnet mask default dibuat berdasarkan kelas-kelas alamat IP dan digunakan di dalam jaringan TCP/IP yang tidak dibagi ke dalam beberapa subnet. Tabel di bawah ini menyebutkan beberapa subnet mask default dengan menggunakan notasi desimal bertitik. Formatnya adalah:
<alamat IP www.xxx.yyy.zzz>, <subnet mask www.xxx.yyy.zzz>
Kelas alamat
Subnet mask (biner)
Subnet mask (desimal)
Kelas A
11111111.00000000.00000000.00000000
255.0.0.0
Kelas B
11111111.11111111.00000000.00000000
255.255.0.0
Kelas C
11111111.11111111.11111111.00000000
255.255.255.0

Perlu diingat, bahwa nilai subnet mask default di atas dapat dikustomisasi oleh administrator jaringan, saat melakukan proses pembagian jaringan (subnetting atau supernetting). Sebagai contoh, alamat 138.96.58.0 merupakan sebuah network identifier dari kelas B yang telah dibagi ke beberapa subnet dengan menggunakan bilangan 8-bit. Kedelapan bit tersebut yang digunakan sebagai host identifier akan digunakan untuk menampilkan network identifier yang telah dibagi ke dalam subnet. Subnet yang digunakan adalah total 24 bit sisanya (255.255.255.0) yang dapat digunakan untuk mendefinisikan custom network identifier. Network identifier yang telah di-subnet-kan tersebut serta subnet mask yang digunakannya selanjutnya akan ditampilkan dengan menggunakan notasi sebagai berikut:
138.96.58.0, 255.255.255.0
[sunting] Representasi panjang prefiks (prefix length) dari sebuah subnet mask
Karena bit-bit network identifier harus selalu dipilih di dalam sebuah bentuk yang berdekatan dari bit-bit ordo tinggi, maka ada sebuah cara yang digunakan untuk merepresentasikan sebuah subnet mask dengan menggunakan bit yang mendefinisikan network identifier sebagai sebuah network prefix dengan menggunakan notasi network prefix seperti tercantum di dalam tabel di bawah ini. Notasi network prefix juga dikenal dengan sebutan notasi Classless Inter-Domain Routing (CIDR) yang didefinisikan di dalam RFC 1519. Formatnya adalah sebagai berikut:
/<jumlah bit yang digunakan sebagai network identifier>
Kelas alamat
Subnet mask (biner)
Subnet mask (desimal)
Prefix Length
Kelas A
11111111.00000000.00000000.00000000
255.0.0.0
/8
Kelas B
11111111.11111111.00000000.00000000
255.255.0.0
/16
Kelas C
11111111.11111111.11111111.00000000
255.255.255.0
/24

Sebagai contoh, network identifier kelas B dari 138.96.0.0 yang memiliki subnet mask 255.255.0.0 dapat direpresentasikan di dalam notasi prefix length sebagai 138.96.0.0/16.
Karena semua host yang berada di dalam jaringan yang sama menggunakan network identifier yang sama, maka semua host yang berada di dalam jaringan yang sama harus menggunakan network identifier yang sama yang didefinisikan oleh subnet mask yang sama pula. Sebagai contoh, notasi 138.23.0.0/16 tidaklah sama dengan notasi 138.23.0.0/24, dan kedua jaringan tersebut tidak berada di dalam ruang alamat yang sama. Network identifier 138.23.0.0/16 memiliki range alamat IP yang valid mulai dari 138.23.0.1 hingga 138.23.255.254; sedangkan network identifier 138.23.0.0/24 hanya memiliki range alamat IP yang valid mulai dari 138.23.0.1 hingga 138.23.0.254.
[sunting] Menentukan alamat Network Identifier
Untuk menentukan network identifier dari sebuah alamat IP dengan menggunakan sebuah subnet mask tertentu, dapat dilakukan dengan menggunakan sebuah operasi matematika, yaitu dengan menggunakan operasi logika perbandingan AND (AND comparison). Di dalam sebuah AND comparison, nilai dari dua hal yang diperbandingkan akan bernilai true hanya ketika dua item tersebut bernilai true; dan menjadi false jika salah satunya false. Dengan mengaplikasikan prinsip ini ke dalam bit-bit, nilai 1 akan didapat jika kedua bit yang diperbandingkan bernilai 1, dan nilai 0 jika ada salah satu di antara nilai yang diperbandingkan bernilai 0.
Cara ini akan melakukan sebuah operasi logika AND comparison dengan menggunakan 32-bit alamat IP dan dengan 32-bit subnet mask, yang dikenal dengan operasi bitwise logical AND comparison. Hasil dari operasi bitwise alamat IP dengan subnet mask itulah yang disebut dengan network identifier.
Contoh:
Alamat IP    10000011 01101011 10100100 00011010 (131.107.164.026)
Subnet Mask  11111111 11111111 11110000 00000000 (255.255.240.000)
------------------------------------------------------------------
Network ID   10000011 01101011 10100000 00000000 (131.107.160.000)
[sunting] Tabel Pembuatan subnet
[sunting] Subnetting Alamat IP kelas A
Tabel berikut berisi subnetting yang dapat dilakukan pada alamat IP dengan network identifier kelas A.
Jumlah subnet
(segmen jaringan)
Jumlah subnet bit
Subnet mask
(notasi desimal bertitik/
notasi panjang prefiks)
Jumlah host tiap subnet
1-2
1
255.128.0.0 atau /9
8388606
3-4
2
255.192.0.0 atau /10
4194302
5-8
3
255.224.0.0 atau /11
2097150
9-16
4
255.240.0.0 atau /12
1048574
17-32
5
255.248.0.0 atau /13
524286
33-64
6
255.252.0.0 atau /14
262142
65-128
7
255.254.0.0 atau /15
131070
129-256
8
255.255.0.0 atau /16
65534
257-512
9
255.255.128.0 atau /17
32766
513-1024
10
255.255.192.0 atau /18
16382
1025-2048
11
255.255.224.0 atau /19
8190
2049-4096
12
255.255.240.0 atau /20
4094
4097-8192
13
255.255.248.0 atau /21
2046
8193-16384
14
255.255.252.0 atau /22
1022
16385-32768
15
255.255.254.0 atau /23
510
32769-65536
16
255.255.255.0 atau /24
254
65537-131072
17
255.255.255.128 atau /25
126
131073-262144
18
255.255.255.192 atau /26
62
262145-524288
19
255.255.255.224 atau /27
30
524289-1048576
20
255.255.255.240 atau /28
14
1048577-2097152
21
255.255.255.248 atau /29
6
2097153-4194304
22
255.255.255.252 atau /30
2

sunting Subnetting Alamat IP kelas B
Tabel berikut berisi subnetting yang dapat dilakukan pada alamat IP dengan network identifier kelas B.
Jumlah subnet/
segmen jaringan
Jumlah subnet bit
Subnet mask
(notasi desimal bertitik/
notasi panjang prefiks)
Jumlah host tiap subnet
1-2
1
255.255.128.0 atau /17
32766
3-4
2
255.255.192.0 atau /18
16382
5-8
3
255.255.224.0 atau /19
8190
9-16
4
255.255.240.0 atau /20
4094
17-32
5
255.255.248.0 atau /21
2046
33-64
6
255.255.252.0 atau /22
1022
65-128
7
255.255.254.0 atau /23
510
129-256
8
255.255.255.0 atau /24
254
257-512
9
255.255.255.128 atau /25
126
513-1024
10
255.255.255.192 atau /26
62
1025-2048
11
255.255.255.224 atau /27
30
2049-4096
12
255.255.255.240 atau /28
14
4097-8192
13
255.255.255.248 atau /29
6
8193-16384
14
255.255.255.252 atau /30
2

[sunting] Subnetting Alamat IP kelas C
Tabel berikut berisi subnetting yang dapat dilakukan pada alamat IP dengan network identifier kelas C.
Jumlah subnet
(segmen jaringan)
Jumlah subnet bit
Subnet mask
(notasi desimal bertitik/
notasi panjang prefiks)
Jumlah host tiap subnet
1-2
1
255.255.255.128 atau /25
126
3-4
2
255.255.255.192 atau /26
62
5-8
3
255.255.255.224 atau /27
30
9-16
4
255.255.255.240 atau /28
14
17-32
5
255.255.255.248 atau /29
6
33-64
6
255.255.255.252 atau /30
2

[sunting] Variable-length Subnetting
Bahasan di atas merupakan sebuah contoh dari subnetting yang memiliki panjang tetap (fixed length subnetting), yang akan menghasilkan beberapa subjaringan dengan jumlah host yang sama. Meskipun demikian, dalam kenyataannya segmen jaringan tidaklah seperti itu. Beberapa segmen jaringan membutuhkan lebih banyak alamat IP dibandingkan lainnya, dan beberapa segmen jaringan membutuhkan lebih sedikit alamat IP.
Jika proses subnetting yang menghasilkan beberapa subjaringan dengan jumlah host yang sama telah dilakukan, maka ada kemungkinan di dalam segmen-segmen jaringan tersebut memiliki alamat-alamat yang tidak digunakan atau membutuhkan lebih banyak alamat. Karena itulah, dalam kasus ini proses subnetting harus dilakukan berdasarkan segmen jaringan yang dibutuhkan oleh jumlah host terbanyak. Untuk memaksimalkan penggunaan ruangan alamat yang tetap, subnetting pun diaplikasikan secara rekursif untuk membentuk beberapa subjaringan dengan ukuran bervariasi, yang diturunkan dari network identifier yang sama. Teknik subnetting seperti ini disebut juga variable-length subnetting. Subjaringan-subjaringan yang dibuat dengan teknik ini menggunakan subnet mask yang disebut sebagai Variable-length Subnet Mask (VLSM).
Karena semua subnet diturunkan dari network identifier yang sama, jika subnet-subnet tersebut berurutan (kontigu subnet yang berada dalam network identifier yang sama yang dapat saling berhubungan satu sama lainnya), rute yang ditujukan ke subnet-subnet tersebut dapat diringkas dengan menyingkat network identifier yang asli.
Teknik variable-length subnetting harus dilakukan secara hati-hati sehingga subnet yang dibentuk pun unik, dan dengan menggunakan subnet mask tersebut dapat dibedakan dengan subnet lainnya, meski berada dalam network identifer asli yang sama. Kehati-hatian tersebut melibatkan analisis yang lebih terhadap segmen-segmen jaringan yang akan menentukan berapa banyak segmen yang akan dibuat dan berapa banyak jumlah host dalam setiap segmennya.
Dengan menggunakan variable-length subnetting, teknik subnetting dapat dilakukan secara rekursif: network identifier yang sebelumnya telah di-subnet-kan, di-subnet-kan kembali. Ketika melakukannya, bit-bit network identifier tersebut harus bersifat tetap dan subnetting pun dilakukan dengan mengambil sisa dari bit-bit host.
Tentu saja, teknik ini pun membutuhkan protokol routing baru. Protokol-protokol routing yang mendukung variable-length subnetting adalah Routing Information Protocol (RIP) versi 2 (RIPv2), Open Shortest Path First (OSPF), dan Border Gateway Protocol (BGP versi 4 (BGPv4). Protokol RIP versi 1 yang lama, tidak mendukungya, sehingga jika ada sebuah router yang hanya mendukung protokol tersebut, maka router tersebut tidak dapat melakukan routing terhadap subnet yang dibagi dengan menggunakan teknik variable-length subnet mask.