IP Address dan Subnetting
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
No comments:
Post a Comment