CIDR dan VLSM


Classless Inter Domain Routing

Sampailah kita pada pokok pembahasan dalam tulisan ini yaitu metode CIDR, berhitung IP address dengan ini banyak digunakan dan sangat membantu dalam proses pembagian IP address, banyak tulisan yang membahas cara ini seperti di CCNA-CNAP, khususnya dalam soal-soal ujian yang dilakukan oleh cisco, Pada kesempatan ini yang akan kita lakukan adalah perhitungan subnetting lanjutan atau yang dikenal dengan VLSM (variable length Subnet Mask), namun sebelum kita membahas VLSM ada baiknya kita sedikit meriview tentang subnetting menggunakan CIDR. Pada tahun 1992 lembaga IEFT memperkenalkan suatu konsep perhitungan IP Address yang dinamakan supernetting atau classless inter domain routing (CIDR), metode ini menggunakan notasi prefix dengan panjang notasi tertentu sebagai network prefix, panjang notasi prefix ini menentukan jumlah bit sebelah kiri yang digunakan sebagai Network ID, metode CIDR dengan notasi prefix dapat diterapkan pada semua kelas IP Address sehingga hal ini memudahkan dan lebih efektif. Menggunakan metode CIDR kita dapat melakukan pembagian IP address yang tidak berkelas sesukanya tergantung dari kebutuhan pemakai. Sebelum kita melakukan perhitungan IP address menggunakan metode CIDR berikut ini adalah nilai subnet yang dapat dihitung dan digunakan.


Subnet Mask
CIDR
Subnet Mask
CIDR
255.128.0.0
/9
255.255.240.0
/20
255.192.0.0
/10
255.255.248.0
/21
255.224.0.0
/11
255.255.252.0
/22
255.240.0.0
/12
255.255.254.0
/23
255.248.0.0
/13
255.255.255.0
/24
255.252.0.0
/14
255.255.255.128
/25
255.254.0.0
/15
255.255.255.192
/26
255.255.0.0
/16
255.255.255.224
/27
255.255.128.0
/17
255.255.255.240
/28
255.255.192.0
/18
255.255.255.248
/29
255.255.224.0
/19
255.255.255.252
/30

Catatan penting dalam subnetting ini adalah penggunaan oktat pada subnet mask dimana :

  • Untuk IP Address kelas C yang dapat dilakukan CIDR-nya adalah pada oktat terakhir karena pada IP Address kelas C subnet mask default-nya adalah 255.255.255.0
  • Untuk IP Address kelas B yang dapat dilakukan CIDR-nya adalah pada 2 oktat terakhir karena pada IP Address kelas B subnet mask default-nya adalah 255.255.0.0
  • Untuk IP Address kelas A yang dapat dilakukan CIDR-nya adalah pada 3 oktat terakhir karena IP Address kelas A subnet mask default-nya adalah 255.0.0.0 untuk lebih jelasnya dapat kita lakukan perhitungan pada contoh IP Address berikut ini :
Diketahui IP Address 130.20.0.0/20 yang ingin diketahui dari suatu subnet dan IP Address adalah :

1. Berapa jumlah subnet-nya ?
2. Berapa jumlah host per subnet ?
3. Berapa jumlah blok subnet ?
4. Alamat Broadcast ?

Untuk dapat menghitung beberpa pertanyaan diatas maka dapat digunakan rumus perhitungan sebagai berikut :

Untuk menghitung jumlah subnet = (2x)
(2x) = (24) = 16 subnet
Dimana x adalah banyak angka binary 1 pada subnet mask di 2 oktat terakhir : 130.20.0.0/20, yang kita ubah adalah /20 menjadi bilangan binary 1 sebanyak 20 digit sehingga (banyaknya angka binary 1 yang berwarna merah) dan jumlah angka binary pada 2 oktat terakhir adalah 4 digit

/20
11111111
11111111
11110000
00000000
Decimal
255
255
240
0

Untuk menghitung jumlah host per subnet = (2y-2)
(2y-2) = (212-2) = 4094 host
Dimana y adalah banyaknya angka binary 0 pada subnet mask di 2 oktat terakhir (banyaknya angka binary 0 yang berwarna hijau) dan jumlah angka binary pada 2 oktat terakhir adalah 12 digit

/20
11111111
11111111
11110000
00000000
Decimal
255
255
240
0

Untuk menghitung jumlah blok subnet = (256-nilai decimal 2 oktat terakhir pada subnet) sehingga = (256-240)= 16 0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240

Hasil pengurangan tersebut kemudian menjadi nilai kelipatan sampai nilainya sama dengan nilai pada 2 oktat terakhir di subnet mask, yaitu : 16+16 dan seterusnya hingga 240, kelipatan 16 adalah : 0 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 

Dari hasil perhitungan diatas maka dapat kita simpulkan :

Untuk IP Address 130.20.0.0/20
Jumlah subnet-nya = 16
Jumlah host per subnetnya = 4094 host
Jumlah blok subnetnya sebanyak 16 blok yaitu
16 32 48 64 80 96 112 128 144 160 176 192 208 224 240

Selanjutnya dari nilai CIDR tersebut dapat kita bagi lagi menjadi blok subnet baru hal ini
dapat dilakukan dengan metode VLSM.

Variable Length Subnet Mask

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.

Misalkan kita memiliki empat buah network dengan jumlah host yang berbeda-beda untuk tiap networknya. Net-A (14 host), Net-B (30 host), Net-C (20 host) dan Net-D (6 Host). Ip yang digunakan adalah 192.168.100.xx . Bagaimana kita membuat subnet dengan menggunakan VLSM?


Langkah 1

Tentukan terlebih dahulu urutan network dengan jumlah host terbanyak dan subnet yang akan digunakan. Dalam kasus ini urutan network mulai dari host terbanyak adalah Net-B, Net-C, Net A dan Net-D. Bila dilihat jumlah host terbanyak yaitu pada Net-B, bandingkan dan pilihlah subnet yang memiliki selisih paling sedikit atau sama antara host per subnet dengan host terbanyak.

CIDR
Host per subnet
Blok subnet
/26
62
64
/27
30
32
/28
14
16
/29
6
8
/30
2
4


Langkah 2

Buat blok-subnet dari subnet yang sudah dipilih

Subnet 192.168.100.0 192.168.100.32 192.168.100.64 192.168.100.96
Ip pertama 192.168.100.1 192.168.100.33 192.168.100.65 192.168.100.97
Ip terakhir 192.168.100.30 192.168.100.62 192.168.100.94 192.168.100.126
Broadcast 192.168.100.31 192.168.100.63 192.168.100.95 192.168.100.127

Bila kita menggunakan subnet secara langsung, maka kita membutuhkan 4 blok-subnet untuk menghubungkan keempat network tersebut. Berbeda halnya bila kita menggunakan VLSM.


Langkah 3

Bila menggunakan VLSM maka kita perlu untuk menentukan subnet yang akan digunakan untuk masing – masing network.

CIDR
Host per subnet
Blok subnet
Network
/26
62
64
-
/27
30
32
B dan C
/28
14
16
A
/29
6
8
D
/30
2
4
-



Langkah 4

Menentukan jumlah blok-subnet yang baru. Berdasarkan blok-subnet pada langlah 2, kita memilih blok-subnet baru yang dapat menampung seluruh host dalam network A, B, C dan D. Perlu diingat bahwa satu blok-subnet dapat menampung 30 host.


Net-B
Net-C
Net-A dan Net-D
Subnet
192.168.100.0
192.168.100.32
192.168.100.64
IP pertama
192.168.100.1
192.168.100.33
192.168.100.65
IP terakhir
192.168.100.30
192.168.100.62
192.168.100.94
Broadcast
192.168.100.31
192.168.100.63
192.168.100.95




Net-B menempati satu blok-subnet karena jumlah host = jumlah host per subnet (30=30).
Net-C menempati satu blok-subnet karena jumlah host mendekati jumlah host per subnet (20 > 30).
Net-A dan Net-D menempati satu blok-subnet karena jumlah host dari kedua network tersebut hasilnya mendekati jumlah host per subnet (14 + 6 > 30).


Langkah 5

Menentukan subnet untuk VLSM. Blok-subnet untuk net-B dan net-C sudah tidak perlu lagi dipersoalkan tinggal bagaimana blok-subnet untuk net-A dan net-D. Berdasarkan langkah 3 kita menggunakan /28 untuk net-A dan /29 untuk net-B. Berikut blok-subnet yang digunakan oleh net-A.


Net-A
Subnet VLSM
192.168.100.64
192.168.100.80
IP pertama
192.168.100.65
192.168.100.81
IP terakhir
192.168.100.78
192.168.100.94
Broadcast
192.168.100.79
192.168.100.95


Perhatikan, lompatan blok-subnet untuk net-A langsung menggunakan 64 tidak menggunakan 0 , 16, 32, 48 karena sudah digunakan oleh net-B dan net-C. Jumlah host per subnet yang digunakan untuk net-A pun sesuai dengan format subnet yang digunakan yaitu 14. Blok-subnet kedua dari /28 pada net-A digunakan oleh net-B dengan format berbeda yaitu /29, dengan alasan yang sama maka lompatan bloksubnet untuk net-B langsung 80, sehingga blok-subnet yang baru untuk net-B yaitu :


Net-B
Subnet VLSM
192.168.100.80
IP pertama
192.168.100.81
IP terakhir
192.168.100.86
Broadcast
192.168.100.87

Secara lengkap subnet yang dapat digunakan adalah sebagai berikut :

Net-B
192.168.100.0 /27
Net-C
192.168.100.32 /27
Net-A
192.168.100.64 /28
Net-D
192.168.100.80 /29

Bukti bahwa perhitungan subnet sudah benar adalah Network ID pada masing-masing netwok berbeda sehingga tidak terjadi overlapping.

Range Network

Range Network

Network Address
      
Address ini digunakan untuk mengenali suatu network pada jaringan Internet. Misalkan untuk host dengan IP Address kelas B 167.205.9.35. Tanpa memakai subnet, network address dari host ini adalah 167.205.0.0. Address ini didapat dengan membuat seluruh bit host pada 2 segmen terakhir menjadi 0. Tujuannya adalah untuk menyederhanakan informasi routing pada Internet. Router cukup melihat network address (167.205) untuk menentukan kemana paket tersebut harus dikirimkan. Contoh untuk kelas C, network address untuk IP address 202.152.1.250 adalah 202.152.1.0. Analogi yang baik untuk menjelaskan fungsi network address ini adalah dalam pengolahan surat pada kantor pos. Petugas penyortir surat pada kantor pos cukup melihat kota tujuan pada alamat surat (tidak perlu membaca seluruh alamat) untuk menentukan jalur mana yang harus ditempuh surat tersebut. Pekerjaan “routing” surat-surat menjadi lebih cepat. Demikian juga halnya dengan router di Internet pada saat melakukan routing atas paket-paket data.

Broadcast Address

Address ini digunakan untuk mengirim/menerima informasi yang harus diketahui oleh seluruh host yang ada pada suatu network. Seperti diketahui, setiap paket IP memiliki header alamat tujuan berupa IP Address dari host yang akan dituju oleh paket tersebut. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses paket tersebut, sedangkan host lain akan mengabaikannya. Bagaimana jika suatu host ingin mengirim paket kepada seluruh host yang ada pada networknya ? Tidak efisien jika ia harus membuat replikasi paket sebanyak jumlah host tujuan. Pemakaian bandwidth akan meningkat dan beban kerja host pengirim bertambah, padahal isi paket-paket tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima paket tersebut. Konsekuensinya, seluruh host pada network yang sama harus memiliki address broadcast yang sama dan address tersebut tidak boleh digunakan sebagai IP Address untuk host tertentu. Jadi, sebenarnya setiap host memiliki 2 address untuk menerima paket : pertama adalah IP Addressnya yang bersifat unik dan kedua adalah broadcast address pada network tempat host tersebut berada. Address broadcast diperoleh dengan membuat seluruh bit host pada IP Address menjadi 1. Jadi, untuk host dengan IP address 167.205.9.35 atau 167.205.240.2, broadcast addressnya adalah 167.205.255.255 (2 segmen terakhir dari IP Address tersebut dibuat berharga 11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yang dibroadcast biasanya adalah informasi routing.

Netmask.

Netmask adalah address yang digunakan untuk melakukan masking / filter pada proses pembentukan routing supaya kita cukup memperhatikan beberapa bit saja dari total 32 bit IP Address. Artinya dengan menggunakan netmask tidak perlu kita memperhatikan seluruh (32 bit) IP address untuk menentukan routing, akan tetapi cukup beberapa buah saja dari IP address yg kita perlu perhatikan untuk menentukan kemana packet tersebut dikirim.

        Kaitan antara host address, network address, broadcast address & network mask sangat erat sekali - semua dapat dihitung dengan mudah jika kita cukup paham mengenai bilangan Biner. Jika kita ingin secara serius mengoperasikan sebuah jaringan komputer menggunakan teknologi TCP/IP & Internet, adalah mutlak bagi kita untuk menguasai konsep IP address tersebut. Konsep IP address sangat penting artinya bagi routing jaringan Internet. Kemampuan untuk membagi jaringan dalam subnet IP address penting artinya untuk memperoleh routing yang sangat effisien & tidak membebani router-router yang ada di Internet. Mudah-mudahan tulisan awal ini dapat membuka sedikit tentang teknologi / konsep yang ada di dalam Internet.

Subnet mask

Subnet mask adalah istilah teknologi informasi dalam bahasa Inggris yang mengacu kepada angka biner 32 bit yang digunakan untuk membedakan network ID dengan host ID, menunjukkan letak suatu host, apakah berada di jaringan lokal atau jaringan luar.

RFC 950 mendefinisikan penggunaan sebuah subnet mask yang disebut juga sebagai sebuah address mask sebagai sebuah nilai 32-bit yang digunakan untuk membedakan network identifier dari host identifier di dalam sebuah alamat IP. Bit-bit subnet mask yang didefinisikan, adalah sebagai berikut:
  • Semua bit yang ditujukan agar digunakan oleh network identifier diset ke nilai 1.
  • Semua bit yang ditujukan agar digunakan oleh host identifier diset ke nilai 0.
Setiap host di dalam sebuah jaringan yang menggunakan TCP/IP membutuhkan sebuah subnet mask meskipun berada di dalam sebuah jaringan dengan satu segmen saja. Entah itu subnet mask default (yang digunakan ketika memakai network identifier berbasis kelas) ataupun subnet mask yang dikustomisasi (yang digunakan ketika membuat sebuah subnet atau supernet) harus dikonfigurasikan di dalam setiap node TCP/IP.

Representasi Subnet Mask

Ada dua metode yang dapat digunakan untuk merepresentasikan subnet mask, yakni:
  • Notasi Desimal Bertitik
  • Notasi Panjang Prefiks Jaringan
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:

,
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

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:

/
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.

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)

Tabel Pembuatan subnet

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

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

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

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.