IP Address dan Subnetting
Setiap perangkat jaringan baik komputer, router, ataupun yang lain
harus memiliki identitas yang unik. Pada layer network, paket-paket
komunikasi data memerlukan alamat pengirim dan alamat penerima dari
kedua perangkat yang berkomunikasi. Dengan menggunakan IPv4, berarti
setiap paket akan memiliki 32-bit address komputer pengirim dan 32-bit
address komputer penerima dalam
IP Header paket.
Format IP address
IP address adalah sistem pengalamatan pada TCP/IP yang tersusun atas
32 bit angka biner, angka yang hanya dapat bernilai
0 atau 1. Misal
:
11000000101010000000101000000001 |
32 – bit (32 kombinasi angka 0 dan 1) |
32 bit angka tersebut dapat dituliskan dalam bentuk yang lebih manusiawi yakni dalam format
bilangan desimal. Caranya adalah dengan membagi angka 32 bit tersebut menjadi 4 bagian masing-masing 8 bit. Setiap bagian tadi disebut octet.
11000000 |
10101000 |
00001010 |
00000001 |
8 bit |
8 bit |
8 bit |
8 bit |
Kemudian
untuk setiap 8 bit bilangan biner
dapat kita konversi menjadi bilangan desimal, sehingga kita dapatkan 4
buah angka desimal. Cara mengkonversi bilangan biner menjadi bilangan
desimal adalah dengan menggunakan tabel berikut ini :
Nilai dalam desimal |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
Bit |
ke-1 |
ke-2 |
ke-3 |
ke-4 |
ke-5 |
ke-6 |
ke-7 |
ke-8 |
Yang berarti :
- bit ke – 1 bernilai 128
- bit ke – 2 bernilai 64
- bit ke – 3 bernilai 32
- bit ke – 4 bernilai 16
- bit ke – 5 bernilai 8
- bit ke – 6 bernilai 4
- bit ke – 7 bernilai 2
- bit ke – 8 bernilai 1
Misal, dengan menggunakan tabel diatas, 8 bit
11110000 ini dapat kita konversi menjadi bilangan desimal seperti berikut :
Nilai dalam desimal |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
Bit |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
Yang berarti nilai desimal dari angka 8 bit
11110000 tersebut adalah
128+64+32+16+0+0+0+0 =
240.
Contoh lagi, 8 bit
10101010 ini dapat kita konversi menjadi bilangan desimal seperti berikut :
Nilai dalam desimal |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
Bit |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
Yang berarti nilai desimal dari
10101010 adalah
128+
0+
32+
0+
8+
0+
2+
0 =
170.
Jadi, dengan metode yang sama, 32 bit angka biner berikut
11000000 10101000 00001010 00000001 dapat kita konversi menjadi bentuk decimal seperti ini :
11000000 |
10101000 |
00001010 |
00000001 |
192 |
168 |
10 |
1 |
Setelah kita dapatkan 4 angka desimal kita dapat menuliskannya secara berurutan dengan dipisahkan huruf titik (.) seperti ini
192.168.10.1.
Penulisan IP address dengan format diatas dikenal dengan sebutan
dotted-decimal.
32-bit |
11000000 10101000 00001010 00000001 |
Dotted-decimal |
192.168.10.1 |
Prefix-length dan Subnet Mask
32 bit angka biner IP address di bagi menjadi 2 porsi/bagian,
network-portion dan
host-portion.
Network-portiondapat menunjukkan network address dimana IP address tersebut berada, sedangkan
host-portion menunjukkan identitas komputer di dalam network. Di dalam satu network yang sama, semua komputer/host memiliki susunan bit
network-portion yang sama.
Diketahui bahwa jumlah total :
network-portion + host-portion = 32.
Lalu, bagaimana kita dapat mengetahui berapa banyak bit-bit yang digunakan sebagai
network-portion dan berapa banyak bit-bit untuk
host-portion?
Ada 2 cara untuk menentukan besar
network-portion dan
host-portion:
- prefix-length
- subnet mask
Prefix-length
Prefix-length menunjukkan berapa banyak jumlah bit-bit pertama dari 32 bit IP address yang digunakan sebagai
network-portion.
Jadi, jika sebuah network menggunakan prefix-length /24; maka berarti
network tersebut menggunakan 24 bit pertama IP address sebagai
network-portion, dan sisa 8 bit IP address terakhirnya merupakan
host-portion.
Contoh, sebuah network dengan prefix-length 24;
192.168.1.0/24, maka :
- Jumlah bit network-portion = 24 bit.
- Jumlah bit host-portion = 32 – 24 = 8 bit.
32 – bit IP address = 24 – bit
network-portion + 8 – bit
host-portion.
192 |
168 |
1 |
0 |
11000000 |
10101000 |
00000001 |
00000000 |
24 – bit network-portion |
8 – bit host-portion |
Contoh lagi, sebuah network dengan prefix 26;
172.16.1.128/26, maka :
- Jumlah bit network-portion = 26.
- Jumlah bit host-portion = 32 – 26 = 6.
32 – bit IP address = 26 – bit
network-portion + 8 – bit
host-portion.
172 |
16 |
1 |
128 |
10101100 |
00010000 |
00000001 |
10000000 |
26 – bit network-portion |
6 – bit host-portion |
Subnet mask
Cara lain untuk menentukan berapa banyak bit dalam
network-portion dan berapa banyak bit dalam
host-portion adalah dengan menggunakan
subnet mask.
Seperti halnya IP address, subnet mask juga merupakan 32 angka biner yang dapat diekspresikan dalam bentuk
dotted-decimal. Hanya saja, didalam subnet mask semua bit
network-portion diwakili oleh angka
1 sedangkan semua bit
host-portion akan diwakili oleh angka
0.
- network-portion → 1
- host-portion → 0
Contoh, network dengan
prefix-length /24; maka :
- Jumlah bit network-portion = 24.
- Jumlah bit host-portion = 8.
Maka, 32 angka biner subnet mask-nya adalah 24 angka biner bernilai 1 + 8 angka biner bernilai 0.
11111111 |
11111111 |
11111111 |
00000000 |
255 |
255 |
255 |
0 |
Dengan demikian kita dapatkan
dotted-decimal subnet mask =
255.255.255.0.
Contoh lagi, sebuah network dengan
prefix-length /27; maka :
- Jumlah bit network-portion = 27.
- Jumlah bit host-portion = 5.
Maka, 32 angka biner subnet mask-nya adalah 27 angka biner bernilai 1 + 5 angka biner bernilai 0.
11111111 |
11111111 |
11111111 |
1110000 |
255 |
255 |
255 |
224 |
Dengan demikian kita dapatkan
dotted-decimal subnet mask =
255.255.255.224.
Sebaliknya, sebuah network dengan subnet mask dapat kita ketahui besar
prefix-length
dengan cara mengkonversi nilai subnet mask ke dalam bentuk bilangan
biner kemudian kita hitung jumlah bilangan biner yang bernilai 1.
Contoh, sebuah network dengan subnet mask
255.255.255.192, berapakah
prefix-length-nya?
255 |
255 |
255 |
192 |
11111111 |
11111111 |
11111111 |
11000000 |
Dengan demikian kita dapatkan bahwa
prefix-length-nya adalah /
26.
Network Address dan Broadcast Address
Ada beberapa jenis IP address :
- Host address, IP address yang dapat di assign ke perangkat jaringan seperti komputer atau router.
- Network address, IP address yang menunjukkan alamat sebuah network
- Semua host dalam satu network memiliki network address yang sama
- Network address ini bisa diperoleh dengan cara merubah semua bit dalam host-portion menjadi 0.
- IP address ini tidak dapat di assign ke perangkat jaringan.
- Broadcast address, jenis IP address yang digunakan untuk mengirim data ke semua host yang ada dalam satu network.
- Broadcast address ini bisa diperoleh dengan cara merubah semua bit dalam host-portionmenjadi 1.
Contoh, berapakah network address dan broadcast address dari komputer dengan IP
172.16.4.71/24?
Prefix-length adalah 24, maka :
- Jumlah bit network-portion = 24.
- Jumlah bit host-portion = 8.
172 |
16 |
4 |
1 |
10101100 |
00010000 |
00000100 |
01000111 |
Untuk mendapatkan :
- Network address : ubah semua bit dalam host-portion menjadi bernilai 0.
- Broadcast address : ubah semua bit dalam host-portion menjadi bernilai 1.
susunan bit awal |
10101100 |
00010000 |
00000100 |
01000111 |
susunan bit network addres |
10101100 |
00010000 |
00000100 |
00000000 |
dotted-decimal network address |
172 |
16 |
4 |
0 |
Kita dapatkan
network address-nya adalah
172.16.4.0/24.
susunan bit awal |
10101100 |
00010000 |
00000100 |
01000111 |
susunan bit broadcast address |
10101100 |
00010000 |
00000100 |
11111111 |
dotted-decimal broadcast address |
172 |
16 |
4 |
255 |
Kita dapatkan
broadcast address-nya adalah
172.16.4.255/24.
Contoh lagi, tentukan network address dan broadcast address dari komputer dengan IP
172.16.4.71/26?
Prefix-length adalah 26, maka :
- Jumlah bit network-portion = 26.
- Jumlah bit host-portion = 6.
172 |
16 |
4 |
1 |
10101100 |
00010000 |
00000100 |
01000111 |
Untuk mendapatkan :
- Network address : ubah semua bit dalam host-portion menjadi bernilai 0.
- Broadcast address : ubah semua bit dalam host-portion menjadi bernilai 1.
susunan bit awal |
10101100 |
00010000 |
00000100 |
01000111 |
susunan bit network addres |
10101100 |
00010000 |
00000100 |
01000000 |
dotted-decimal network address |
172 |
16 |
4 |
64 |
Kita dapatkan
network address-nya adalah
172.16.4.64/24.
susunan bit awal |
10101100 |
00010000 |
00000100 |
01000111 |
susunan bit broadcast address |
10101100 |
00010000 |
00000100 |
01111111 |
dotted-decimal broadcast address |
172 |
16 |
4 |
127 |
Kita dapatkan
broadcast address-nya adalah
172.16.4.127/24.
Valid Range IP address dan Total IP Valid
Bagaimana cara mengidentifikasi siapa saja yang termasuk kedalam
anggota sebuah network? Berapa sajakah IP address yang termasuk dalam
sebuah network?
Jika
network address dan
broadcast address dari sebuah
network sudah bisa ditentukan, maka menentukan siapa saja anggota
network tersebut adalah hal yang mudah. Valid range IP address adalah
semua IP address yang berada diantara network address dan broadcast
addrdess, dengan kata lain:
Valid range IP address = network address + 1 s/d broadcast address – 1.
Misalnya sebuah address
192.168.52.130/25 dengan cara diatas dapat kita tentukan bahwa address tersebut memiliki :
- Network address : 192.168.52.128
- Broadcast address : 192.168.52.225
- Valid Range address : 192.168.52.129 s/d 192.168.52.224
Dapat kita simpulkan bahwa dalam sebuah network, valid range IP addressnya adalah semua IP
kecuali network address dan broadcast addressnya.
Jika kita hitung, maka total host valid address nya adalah semua IP
dalam network dikurangi 2, network address dan broadcast address.
Formula untuk menghitung jumlah total valid IP dalam sebuah network
adalah :
Total IP Valid =
2H – 2, dimana
H adalah jumlah
bit host.
Unicast, Broadcast, dan Multicast
Dalam TCP/IP, dikenal 3 tipe komunikasi :
- Unicast
- Broadcast
- Multicast
Pada komunikasi
unicast, komunikasi terjadi
satu ke satu, satu pengirim dan satu penerima.
Pada komunikasi
broadcast, komputer mengirimkan data kepada semua
host dalam sebuah network menggunakan
broadcast address network tersebut sebagai tujuan.
Biasanya paket broadcast terbatas pada satu network lokal yang sama dengan pengirim (
limited broadcast), Paket
limited broadcast selalu menggunakan
255.255.255.255 sebagai IP address yang dituju.
Akan tetapi, ada juga paket broadcast yang ditujukan kepada semua host dalam network lain (
directed broadcast), Paket ini selalu menggunakan
broadcast address network tujuan sebagai destination addressnya.
Komunikasi multicast mengirimkan paket dari
satu host ke sekelompok host
tertentu anggota multicast group yang diwakili oleh IP address
multicast. Komunikasi multicast di desain untuk menghemat penggunaan
bandwidth. Contoh komunikasi multicast adalah video/audio live streaming
dan pertukaran update routing pada beberapa protokol routing.
Host/komputer yang ingin menerima data multicast harus mendaftar (
subscribe)
untuk menjadi anggota multicast group yang dimaksud. Setiap multicast
group diwakili oleh sebuah IP address khusus untuk multicast. Range IP
yang digunakan untuk trafik multicast adalah
224.0.0.0 – 239.255.255.255.
IP address Private
Sebagian besar IP address yang ada merupakan IP address publik yang
di desain untuk komunikasi network yang dapat terhubung ke Internet. IP
address public bersifat unik, hanya dapat di pakai oleh satu
mesin/perangkat di dalam Internet.
Namun, ada beberapa blok
IP address private
yang digunakan untuk network dengan keperluan terbatas, network yang
tidak terhubung ke Internet. IP address private bisa dipakai oleh
siapapun, hanya saja network yang menggunakan
IP address private tidak bisa dan tidak boleh terhubung ke internet secara langsung.
Berikut adalah blok-blok IP address private tersebut :
10.0.0.0/8 |
10.0.0.0 – 10.255.255.255 |
172.16.0.0/12 |
172.16.0.0 – 172.31.255.255 |
192.168.0.0/16 |
192.168.0.0 – 192.168.255.255 |
Komputer – komputer di dalam network yang menggunakan IP address
private tidak bisa bebas mengakses Internet secara langsung, diperlukan
sebuah teknologi yang disebut
Network Address Translation (NAT) untuk ‘
mengakali‘-nya.
IP Address tak Terpakai
Selain network address dan broadcast address, ada beberapa jenis IP
address lain yang tidak dapat kita gunakan sebagai IP address komputer
atau perangkat jaringan yang lain :
- Default route (0.0.0.0).
- Loopback (127.0.0.0/8), IP yang digunakan oleh mesin untuk mengirim paket ke mesin itu sendiri.
- Link-local (169.254.0.0/16), Biasanya otomatis di assign ke host oleh OS ketika tidak tersedia konfigurasi IP atau gagal request DHCP.
Kelas IP Address
IP address dikelompokkan menjadi 5 kelas, A,B,C,D, dan E. Pengalamatan network dengan menggunakan blok IP address dengan nilai
prefix-length default disebut
classful addressing.
Kelas |
Nilai Oktet Pertama |
Network (N) dan Host (H) |
Subnet mask |
Prefix-length |
Total IP per network |
A |
1 – 127 |
N.H.H.H |
255.0.0.0 |
/8 |
224 – 2 = 16.777.214 |
B |
128 – 191 |
N.N.H.H |
255.255.0.0 |
/16 |
216 – 2 = 65.534 |
C |
192 – 223 |
N.N.N.H |
255.255.255.0 |
/24 |
28 – 2 = 254 |
D |
224 – 239 |
(Multicast) |
- |
- |
- |
E |
240 – 255 |
(Experimental) |
- |
- |
- |
Pada kenyataannya, sistem pengalamatan yang sering dipakai di lapangan adalah
classless addressing, dimana nilai
prefix-length pada blok IP address yang digunakan dalam network disesuaikan dengan jumlah anggota host yang dibutuhkan.
Subnetting
Jika kita menggunakan
classful addressing,
maka satu buah network kelas A dapat menampung total jumlah host
sebanyak 16.777.214 host, dan kelas B dapat menampung host sebanyak
65,534 host.
Desain network seperti ini sangat tidak efisien. Misalkan untuk
network dengan jumlah komputer 100 buah, maka menggunakan IP kelas B
akan ada
65,434 IP yang tidak terpakai. Solusinya, kita bisa
memecah sekumpulan blok IP address sebuah network menjadi beberapa
kelompok blok IP yang lebih kecil yang disebut sub-network (subnet).
Subnetting dapat dilakukan dengan cara meminjam beberapa bit dari
host-portion untuk kemudian dijadikan sebagai tambahan bit
network-portion.
Misalnya, network dengan prefix /24 dapat kita subnetting menjadi
subnet ber-prefix /25 atau /26 dan seterusnya. Semakin banyak bit host
yang dipinjam semakin banyak subnet yang dihasilkan dan semakin sedikit
jumlah host tiap subnetnya.
Untuk setiap bit yang dipinjam dapat menggandakan jumlah subnet
dengan ukuran yang sama, Rumus untuk menghitung jumlah subnet yang
dihasilkan adalah 2
n, dengan n adalah banyaknya bit yang dipinjam (bit subnet).
Penentuan network address tiap subnet yang dihasilkan dapat dilakukan
dengan cara menghitung bilangan kelipatan terlebih dahulu menggunakan
tabel berikut
Setelah ketemu bilangan kelipatannya, maka network address dari
setiap subnet bisa diperoleh dengan mengoperasikan bilangan kelipatan
tersebut pada oktet dimana terjadi subnetting.
Contoh, sebuah network kelas C 192.168.1.0/24 disubnet menjadi
/26. Bit ke 26 berada pada oktet ke-4, berarti subnetting terjadi pada
octet ke-4. Prefix /26 menunjukkan bahwa bit subnetnya adalah 2, yang
berarti bilangan kelipatannya adalah
64. Network address setiap
subnet bisa kita peroleh dengan mengoperasikan kelipatan 128 pada octet
ke-4 (0, 64, 128, dan 192). Hasilnya :
- 192.168.1.0/26
- 192.168.1.64/26
- 192.168.1.128/26
- 192.168.1.192/26