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
00000001dapat 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, sedangkanhost-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-portiondan
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 merupakanhost-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 dalamhost-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-portionmenjadi 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 IP172.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 IPkecuali 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 :
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 2n, 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