Subnetting adalah sebuah teknik yang mengizinkan para administrator jaringan untuk memanfaatkan 32 bit IP address yang tersedia dengan lebih efisien. Teknik subnetting membuat skala jaringan lebih luas dan tidak dibatas oleh kelas-kelas IP (IP Classes) A, B, dan C yang sudah diatur. Dengan subnetting, anda bisa membuat network dengan batasan host yang lebih realistis sesuai kebutuhan.
Subnetting menyediakan cara yang lebih fleksibel untuk menentukan bagian mana dari sebuah 32 bit IP adddress yang mewakili netword ID dan bagian mana yang mewakili host ID.
Dengan kelas-kelas IP address standar, hanya 3 kemungkinan network ID yang tersedia; 8 bit untuk kelas A, 16 bit untuk kelas B, dan 24 bit untuk kelas C. Subnetting mengizinkan anda memilih angka bit acak (arbitrary number) untuk digunakan sebagai network ID.
Dua alasan utama melakukan subnetting:
- Mengalokasikan IP address yang terbatas supaya lebih efisien. Jika internet terbatas oleh alamat-alamat di kelas A, B, dan C, tiap network akan memliki 254, 65.000, atau 16 juta IP address untuk host devicenya. Walaupun terdapat banyak network dengan jumlah host lebih dari 254, namun hanya sedikit network (kalau tidak mau dibilang ada) yang memiliki host sebanyak 65.000 atau 16 juta. Dan network yang memiliki lebih dari 254 device akan membutuhkan alokasi kelas B dan mungkin akan menghamburkan percuma sekitar 10 ribuan IP address.
- Alasan kedua adalah, walaupun sebuah organisasi memiliki ribuan host device, mengoperasikan semua device tersebut di dalam network ID yang sama akan memperlambat network. Cara TCP/IP bekerja mengatur agar semua komputer dengan network ID yang sama harus berada di physical network yang sama juga. Physical network memiliki domain broadcast yang sama, yang berarti sebuah medium network harus membawa semua traffic untuk network. Karena alasan kinerja, network biasanya disegmentasikan ke dalam domain broadcast yang lebih kecil – bahkan lebih kecil – dari Class C address.
Subnets
Subnet adalah network yang berada di dalam sebuah network lain (Class A, B, dan C). Subnets dibuat menggunakan satu atau lebih bit-bit di dalam host Class A, B, atau C untuk memperlebar network ID. Jika standar network ID adalah 8, 16, dan 24 bit, maka subnet bisa memiliki panjang network ID yang berbeda-beda.
Picture 1: Before Subnetting
Picture 1: After Subnetting
Gambar di Picture 1 menunjukkan sebuah network sebelum dan sesudah subnetting diaplikasikan. Di dalam jaringan yang tidak subnetkan, network ditugaskan ke dalam Address di Class B 144.28.0.0. Semua device di dalam network ini harus berbagi domain broadcast yang sama.
Di network yang ke dua, empat bit pertama host ID digunakan untuk memisahkan network ke dalam dua bagian kecil network – diidentifikasikan dengan subnet 16 dan 32. Bagi dunia luar (di sisi luar router), kedua network ini tetap akan tampak seperti sebuah network dengan IP 144.28.0.0. Sebagai contoh, dunia luar menganggap device di 144.28.16.22 dimiliki oleh jaringan 144.28.0.0. Sehingga, paket yang dikirim ke device ini dikirim ke router di 144.28.0.0. Router kemudian melihat bagian subnet dari host ID untuk memutuskan apakah paket diteruskan ke subnet 16 atau 32.
Subnet Mask
Agar subnet dapat bekerja, router harus diberi tahu bagian mana dari host ID yang digunakan untuk network ID subnet. Cara ini diperoleh dengan menggunakan angka 32 bit lain, yang dikenal dengan subnet mask. Bit IP address yang mewakili network ID tampil dengan angka 1 di dalam mask, dan bit IP address yang menjadi host ID tampil dengan angka 0 di dalam mask. Jadi biasanya, sebuah subnet mask memiliki deretan angka-angka 1 di sebelah kiri, kemudian diikuti dengan deretan angka 0.
Sebagai contoh, subnet mask untuk subnet di Picture 1 – dimana network ID yang berisi 16 bit network ID ditambah tambahan 4-bit subnet ID – terlihat seperti ini:
11111111 11111111 11110000 00000000
Atau dengan kata lain, 20 bit pertama adalah 1, dan sisanya 12 bit adalah 0. Jadi, network ID memiliki panjang 20 bit, dan bagian host ID yang telah disubnetkan memiliki panjang 12 bit.
Untuk menentukan network ID dari sebuah IP address, router harus memiliki kedua IP address dan subnet masknya. Router kemudian menjalankan operasi logika AND di IP address dan mengekstrak (menghasilkan) network ID. Untuk menjalankan operasi logika AND, tiap bit di dalam IP address dibandingkan dengan bit subnet mask. Jika kedua bit 1, maka hasilnya adalah, Jika salah satu bit 0, maka hasilnya adalah 0.
Sebagai contoh, berikut ini adalah contoh network address yang di hasilkan dari IP address menggunakan 20-bit subnet mask dari contoh sebelumnya.
144. 28. 16. 17.
IP address (biner) 10010000 00011100 00100000 00001001
Subnet mask 11111111 11111111 11110000 00000000
Network ID 10010000 00011100 00100000 00000000
144. 28. 16. 0
Jadi network ID untuk subnet ini adalah 144.28.16.0
Subnet mask, seperti juga IP address ditulis menggunakan notasi desimal bertitik (dotted decimal notation). Jadi 20-bit subnet mask seperti contoh diatas bisa dituliskan seperti ini: 255.255.240.0
Subnet mask:
11111111 11111111 11110000 00000000
255. 255. 240. 0.
Jangan bingung membedakan antara subnet mask dengan IP address. Sebuah subnet mask tidak mewakili sebuah device atau network di internet. Cuma menandakan bagian mana dari IP address yang digunakan untuk menentukan network ID. Anda dapat langsung dengan mudah mengenali subnet mask, karena octet pertama pasti 255, 255 bukanlah octet yang valid untuk IP address class.
Aturan-aturan Dalam Membuat Subnet mask
- Angka minimal untuk network ID adalah 8 bit. Sehingga, octet pertama dari subnet pasti 255.
- Angka maximal untuk network ID adalah 30 bit. Anda harus menyisakan sedikitnya 2 bit untuk host ID, untuk mengizinkan paling tidak 2 host. Jika anda menggunakan seluruh 32 bit untuk network ID, maka tidak akan tersisa untuk host ID. Ya, pastilah nggak akan bisa. Menyisakan 1 bit juga tidak akan bisa. Hal itu disebabkan sebuah host ID yang semuanya berisi angka 1 digunakan untuk broadcast address dan semua 0 digunakan untuk mengacu kepada network itu sendiri. Jadi, jika anda menggunakan 31 bit untuk network ID dan menyisakan hanya 1 bit untuk host ID, (host ID 1 digunakan untuk broadcast address dan host ID 0 adalah network itu sendiri) maka tidak akan ada ruang untuk host sebenarnya. Makanya maximum network ID adalah 30 bit.
- Karena network ID selalu disusun oleh deretan angka-angka 1, hanya 9 nilai saja yang mungkin digunakan di tiap octet subnet mask (termasuk 0). Tabel berikut ini adalah kemungkinan nilai-nilai yang berasal dari 9 bit.
Binary Octet Decimal
00000000 0
10000000 128
11000000 192
11100000 224
11110000 240
11111000 248
11111100 252
11111110 254
11111111 255
Private dan Public Address
Host apapun dengan koneksi langsung ke internet harus memiliki IP address unik global. Tapi, tidak semua host terkoneksi langsung ke internet. Beberapa host berada di dalam network yang tidak terkoneksi ke internet. Beberapa host terlindungi firewall, sehingga koneksi internet mereka tidak secara langsung.
Beberapa blok IP address khusus digunakan untuk private network atau network yang terlindungi oleh firewall. Terdapat tiga jangkauan (range) untuk IP address tersebut seperti di tabel berikut ini. Jika anda ingin menciptakan jaringan private TCP/IP, gunakan IP address di tabel ini.
CIDR Subnet Mask Address Range
10.0.0.0/8 255.0.0.0 10.0.0.1 – 10.255.255.254
172.16.0.0/12 255.255.240.0 172.16.1.1 – 172.31.255.254
192.168.0.0/16 255.255.0.0 192.168.0.1 – 192.168.255.254