Artikel
Subnet Mask
RFC 950 mendefinisikan penggunaan sebuah subnet mask yang
disebut juga sebagai sebuah address mask sebagai sebuah nilai 32-bit yang digunakan untuk membedakan network identifierdari 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 maskdefault (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.
Ada dua metode yang dapat digunakan untuk
merepresentasikan subnet mask, yakni:
§ Notasi Desimal Bertitik
§ Notasi Panjang Prefiks Jaringan
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
|
|
|
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:
/<jumlah bit yang digunakan sebagai network identifier>
Kelas alamat
|
|
|
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)
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 mas1265132185131813k
(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
|
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.
33-646255.255.255.252 atau
/302
Cara dan Contoh Perhitungan Subnet
Mask
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
Misalkan dengan IP adress 192.168.10.0 dan Subnet mask
255.255.255.128
Ubah angka 128 ke bilangan biner dengan cara sebagai berikut
:
128 : 2 = 64 sisa 0
64 : 2 = 32 sisa 0
32 : 2 = 16 sisa 0
16 : 2 = 8 sisa 0
8 : 2 = 4 sisa 0
4 : 2 = 2 sisa 0
2 : 2 = 1 Sisa 0
Hasil akhir 1 tidak dapat dibagi menjadi 1
hasil bilangan binernya adalah 10000000
Banyaknya subnet yang tersedia dari rumus 2^x
X adalah jumlah dari angka 1, karena berdasarkan angka
binner yang ada jumlah 1=1
maka 2^1 = 2 maka jumlah subnet maksnya adalah 2
Nah sekarang kita harus tau bila tersedia hanya 2 subnet
maks maka kita harus mencari berapa subnet maks tersebut?
Dari Subnet maks yang terbesar adalah 256 maka dihasilkan
256 - 128 = 128.
Maka subnet masknya adalah 0 dan 128
Contoh lain, bila ditetapkan subnet masknya 255.255.255.192
Jumlah subnet maks dapat dihitung
192 : 2 = 96 sisa 0
96 : 2 = 48 sisa 0
48 : 2 = 24 sisa 0
24 : 2 = 12 sisa 0
12 : 2 = 6 sisa 0
6 : 2 = 3 sisa 0
3 : 2 = 1 sisa 1
maka bilangan binnernya adalah 11000000
karena angka 1 ada 2 maka 2^2 = 4
Dan subnet yang dapat digunakan adalah 256 - 192 = 64, maka Subnetnya
adalah 0, 64, 128, 192 artinya subnetnya adalah
255.255.255.0
255.255.255.64
255.255.255.128
255.255.255.192
Jumlah Host per Subnet = 2^y -
2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada oktet
terakhir subnet. Jadi jumlah host per subnet adalah 2^6 - 2 = 62 host