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
1. 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 |
2. 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 = 2
H – 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
0 komentar