Memahami tentang protokol jaringan, seperti halnya dua orang yang berlainan bangsa, maka untuk berkomunikasi memerlukan penerjemah/interpreter atau satu bahasa yang dimengerti kedua belah pihak. Dalam dunia komputer dan telekomunikasi interpreter identik dengan protokol. TCP/IP (Transmission Control Protocol/Internet Protocol) merupakan salah satu jenis protokol jaringan yang dapat memberikan keleluasaan dalam berkomunikasi antara satu komputer dengan komputer lainnya dalam satu jaringan walaupun platform yang digunakan pada komputer-komputer tersebut berbeda satu sama lain.
Seperti skenario berikut ini: jika "komputer A" mengirim suatu paket ke "komputer B", IP (Internet Protocol) dari kedua komputer berada didalam IP-header dari paket tersebut, yaitu IP tujuan (dari komputer B) dan IP sumber (dari komputer A). Router yang berada diantara kedua host akan memeriksa IP-header tersebut dan melakukan masquerade paket tersebut ke segment berikutnya. Jika terjadi kesalahan dalam pengiriman tersebut, contohnya host tujuan tidak dapat dicapai, suatu ICMP (Internet Control Message Protocol) digunakan untuk mengirim pesan kesalahan sehingga kesalahan tersebut dapat diperbaiki (dan paket tersebut harus dikirim ulang).
Terkait dengan skenario pengiriman paket tersebut, beberapa protokol yang terlibat adalah IP dan ICMP. Berdasarkan hal itu akan dibahas mengenai peran aktif IP dan ICMP yang terdapat pada protokol TCP/IP dalam hal pengiriman paket dari source ke destination. Selain itu juga dibahas tentang cara kerja masing-masing protokol ini serta hubungannya terkait proses pengiriman yang dimaksud di atas.
TCP/IP (Transmission Control
Protocol/Internet Protocol)
TCP/IP merupakan protokol yang melandasi internet dan jaringan dunia atau dengan kata lain kumpulan dari protokol-protokol yang digunakan untuk mengatur komunikasi data di dalam jaringan internet. TCP/IP terdiri dari berbagai protokol yang masing-masing bertanggung jawab atas bagian-bagian tertentu pada proses komunikasi data, dimana protokol yang satu tidak perlu mengetahui cara kerja protokol yang lain, sepanjang bisa menerima dan mengirim data.
TCP/IP digunakan untuk komunikasi antar komputer yang berada pada tempat yang jauh atau komunikasi data Wide Area Network (WAN). Semua komputer yang berhubungan dengan internet akan berkomunikasi dengan menggunakan protokol ini. Penggunaan protokol ini dapat menghubungkan berbagai jenis komputer dengan sistem operasi komputer yang berbeda antara komputer satu dengan yang lain.
Aspek lain yang penting dari TCP/IP adalah membentuk suatu standarisasi dalam komunikasi. Tiap-tiap bentuk fisik suatu jaringan memiliki teknologi yang berbeda-beda, sehingga diperlukan pemrograman atau fungsi khusus untuk digunakan dalam komunikasi. TCP/IP memberikan fasilitas khusus yang bekerja di atas pemrograman atau fungsi khusus tersebut dari masing-masing fisik jaringan. Sehingga bentuk arsitektur dari fisik jaringan akan tersamarkan dari pengguna dan pembuat aplikasi jaringan. Dengan TCP/IP, pengguna tidak perlu lagi memikirkan bentuk fisik jaringan untuk melakukan sebuah komunikasi.
Sebagai contoh pada Gambar dibawah, untuk dapat berkomunikasi antar 2 (dua) jaringan, diperlukan komputer yang terhubung dalam suatu perangkat yang dapat meneruskan suatu paket data dari jaringan yang satu ke jaringan yang lain. Perangkat tersebut disebut Router. Selain itu router juga digunakan sebagai pengarah jalur (routing).
Cara Kerja TCP/IP
Memecahkan
masalah pengiriman data ke dalam bentuk masalah yang lebih kecil merupakan
tujuan dari penggunaan TCP/IP. Ide pembuatan protokol ini sama dengan ide pada
pemrograman, yaitu masalah yang besar akan dipecahkan dengan cara memecah
masalah tersebut menjadi masalah yang kecil. TCP/IP ini dapat diibaratkan sebagai
protokol kenegaraan yang membagi tugasnya masing-masing dari penerimaan tamu
hingga kepulangannya dan daftar acara yang disusun harus melalui protokol
resmi. Begitu pula dengan TCP/IP membagi tugas masing-masing protokol menjadi
beberapa bagian yang tiap bagiannya mempunyai tugas sendiri-sendiri, namun
kesemua bagian tersebut harus selalu bekerja sama satu dengan yang lainnya dan
tiap-tiap protokol tidak harus saling mempengaruhi protokol yang lain. Karena
pekerjaan protokol ini harus selesai dengan baik dan tepat, maka setelah
tugas-tugasnya selesai akan dilanjutkan oleh protokol berikutnya dengan tugas
yang lain.
Berdasarkan
hal tersebut, maka secara umum cara kerja TCP/IP adalah layer-layer dan protokol yang terdapat dalam arsitektur
jaringan TCP/IP menggambarkan fungsi-fungsi dalam komunikasi antara dua buah
komputer. Setiap lapisan menerima data dari lapisan di atas atau dibawahnya,
kemudian memproses data tersebut sesuai fungsi protokol yang dimilikinya dan
meneruskannya ke lapisan berikutnya. Ketika dua komputer berkomunikasi, terjadi
aliran data antara pengirim dan penerima melalui lapisan-lapisan di atas. Pada
pengirim, aliran data adalah dari atas ke bawah.
Layer pada TCP/IP
TCP/IP
dibentuk dalam beberapa lapisan (layer). Dengan dibentuk dalam layer
atau lapisan, akan mempermudah untuk pengembangan dan pengimplementasiannya.
Antar layer dapat berkomunikasi ke atas maupun ke bawah dengan suatu penghubung
interface. Tiap-tiap layer memiliki fungsi dan kegunaan yang berbeda dan saling
mendukung layer diatasnya. Pada protokol TCP/IP dibagi menjadi 4 layer seperti
ditunjukkan pada Gambar 2. Terkait dengan topik pembahasan pada makalah ini,
maka selanjutnya hanya akan dibahas tentang Internetwork layer (lapisan
internet).
Layer Internet TCP/IP
Layer atau lapisan ini berfungsi untuk menentukan rute yang dilalui oleh data. Layer ini menyediakan logical addressing (pengalamatan logika) dan path determination (penentuan rute tujuan). Internetwork Layer mendefinisikan bagaimana hubungan dapat terjadi antara dua pihak yang berada pada jaringan yang berbeda seperti Network Layer pada OSI. Pada jaringan Internet yang terdiri atas puluhan juta host dan ratusan ribu jaringan lokal, lapisan ini bertugas untuk menjamin agar suatu paket yang dikirimkan dapat menemukan tujuannya dimana pun berada. Oleh karena itu, lapisan ini memiliki peranan penting terutama dalam mewujudkan internetworking yang meliputi wilayah luas. Beberapa tugas penting pada lapisan ini adalah:
- Addressing, yakni melengkapi setiap datagram dengan alamat Internet dari tujuan. Alamat pada protokol inilah yang dikenal dengan Internet Protocol Address (IP Address). Karena pengalamatan (addressing) pada jaringan TCP/IP berada pada level ini (software), maka jaringan TCP/IP independen pada jenis media dan komputer yang digunakan.
- Routing, yakni menentukan ke mana datagram akan dikirim agar mencapai tujuan yang diinginkan. Fungsi ini merupakan fungsi terpenting dari Internet Protocol (IP). Sebagai protokol yang bersifat connectionless, proses routing sepenuhnya ditentukan oleh jaringan. Pengirim tidak memiliki kendali terhadap paket yang dikirimkannya untuk bisa mencapai tujuan. Router-router pada jaringan TCP/IP lah yang sangat menentukan dalam penyampaian datagram dari penerima ke tujuan.
Terdapat beberapa protokol yang bertanggung jawab dalam proses pengiriman paket ke alamat yang tepat seperti ditunjukkan pada Gambar dibawah antara lain:
- IP (Internet Protocol) : untuk transmisi paket data (mengirimkan data ke alamat yang dituju).
- ICMP (Internet Connection Message Protocol) : untuk informasi kondisi jaringan, contoh: ping, traceroute.
- ARP (Address Resolution Protocol) : untuk mendapatkan informasi MAC Address dari IP yang diketahui.
- RARP (Reserve ARP): untuk mendapatkan informasi IP dari MAC Address yang diketahui.
IP (Internet Protocol)
Protokol Internet (Internet Protocol / IP) adalah protokol lapisan jaringan (network layer dalam OSI Reference Model) atau protokol lapisan internetwork (internetwork layer dalam DARPA Reference Model) yang digunakan oleh protokol TCP/IP untuk melakukan pengalamatan dan routing paket data antar host-host di jaringan komputer berbasis TCP/IP. Versi IP yang banyak digunakan adalah IP versi 4 (IPv4) dan digantikan oleh IP versi 6 (dibahas ditulisan lain).
IP (Internet Protocol) berfungsi untuk mengirimkan data ke alamat yang dituju secara tepat, namun IP tidak menjamin data sampai dengan selamat ke tempat tujuan. IP hanya akan menjalankan tugasnya dengan sebaik-baiknya agar data sampai ke tempat tujuannya. Apabila pada pertengahan jalan data yang dikirim mengalami hal-hal yang tidak diharapkan, seperti komputer pada tempat tujuan sedang tidak aktif atau dimatikan dan jalur pengiriman terputus, maka protokol IP hanya akan memberitahukan kepada ICMP bahwa telah terjadi masalah dalam pengiriman data ke tempat tujuan.
Dalam IP antara pengirim dengan penerima tidak mengadakan perjanjian terlebih dahulu untuk pengiriman data. Setiap paket data yang dikirim adalah independen terhadap paket data yang lain (datagram delivery service). Hal ini dapat menyebabkan jalur yang ditempuh oleh masing-masing paket data IP ke tujuannya bisa jadi berbeda satu dengan yang lainnya karena jalur yang ditempuh berbeda, kedatangan paket pun bisa jadi tidak berurutan.
IP memberikan fungsi routing pada jaringan dalam pengiriman data. IP (Internet Protocol) melihat alamat dari tiap paket kemudian dengan menggunakan routing table menentukan kemana selanjutnya paket itu dikirim melalui jalur terbaik. Sebuah paket IP akan membawa data aktual yang dikirimkan melalui jaringan dari satu titik ke titik lainnya. Metode yang digunakannya adalah connectionless yang berarti ia tidak perlu membuat dan menjaga sebuah koneksi tetap ada. Selain itu, protokol ini juga tidak menjamin penyampaian data (unreliable), tapi hal ini diserahkan kepada protokol pada lapisan yang lebih tinggi (lapisan transport). Cara kerja protokol IP dapat dianalogikan seperti ditunjukkan pada Gambar berikut ini.
Datagram IP
Jika dianalogikan prinsip kerja dari IP kira-kira seperti cara kerja kantor pos pada proses pengiriman surat. Surat yang dimasukan pengirim ke kotak pos akan diambil oleh petugas pos dan kemudian akan dikirim melalui route yang random, dimana si pengirim maupun si penerima surat tidak mengetahui jalur perjalanan surat tersebut. Juga jika pengirim mengirimkan dua surat yang ditujukan pada alamat yang sama pada hari yang sama, belum tentu akan sampai bersamaan karena mungkin surat yang satu akan mengambil route yang berbeda dengan surat yang lain. Di samping itu, tidak ada jaminan bahwa surat akan sampai ditangan tujuan, kecuali jika pengirim mengirimkannya menggunakan surat tercatat. Prinsip di atas digunakan oleh Internet Protokol, dimana “surat” diatas dikenal dengan sebutan datagram.
IP mengirimkan paket-paket data dalam bentuk datagram, dimana format-nya dapat dilihat pada Gambar dibawah. Sebuah datagram IP terdiri atas header IP dan muatan IP (payload). Header IP menyediakan dukungan untuk memetakan jaringan (routing), identifikasi muatan IP, ukuran header IP dan datagram IP, dukungan fragmentasi, dan juga IP Options. Sedangkan payload atau muatan IP berisi informasi data yang dikirimkan. Sebelum dikirimkan di dalam saluran jaringan, datagram IP akan “dibungkus” (encapsulation) dengan header protokol lapisan antarmuka jaringan dan trailer-nya, untuk membuat sebuah frame jaringan.
Setiap datagram terdiri dari beberapa field yang memiliki fungsi tersendiri dan memiliki informasi yang berbeda-beda. Gambar dibawah menunjukkan struktur header IP untuk versi 4 dan 6, dimana terdapat perbedaan antara keduanya namun tidak akan diuraikan pada pembahasan ini. Karena informasi yang disampaikan dalam pembahasan ini hanya terkait tentang prinsip kerja protokol IP yang melakukan pengiriman paket data dalam bentuk datagram
Fragmentasi
Dalam
perjalanannya menuju tujuan, paket data akan melewati berbagai macam interface
yang berbeda. Dimana masing-masing interface memiliki kemampuan yang berbeda
untuk mengirimkan frame data. Kemampuan ini disebut Maximum Transfer Unit (MTU).
Batas maksimum data dapat ditempatkan dalam 1 frame. IP dapat memisahkan atau
memecahkan data yang terkirim menjadi sebesar MTU. Proses pemisahan ini disebut
fragmentasi (fragmentation).
Fragmentasi IP terjadi ketika sebuah
host sumber atau router harus mentransmisikan sebuah datagram IP dalam sebuah
saluran jaringan di mana nilai Maximum transmission unit (MTU) yang dimilikinya
lebih kecil dibandingkan ukuran datagram IP, datagram IP yang akan
ditransmisikan tersebut harus dipecah ke dalam beberapa fragmen.
Router atau host yang mengirimkan
data akan memecah data yang hendak ditransmisikan, dan proses fragmentasi dapat
berlangsung beberapa kali. Selanjutnya host yang dituju akan menyatukan kembali
fragmen-fragmen itu seperti halnya sebelum dipecah. Dapat diperluas dengan
menggunakan fitur IP Options dalam header IPv4. Fitur yang dapat ditambahkan
contohnya adalah kemampuan untuk menentukan jalur yang harus diikuti oleh
datagram IP melalui sebuah internetwork IP.
Field-field dalam header IP yang berguna
untuk fragmentasi terdiri dari tiga buah field.
Field-field tersebut berguna untuk
menunjukkan apakah sebuah datagram IP harus difragmentasi atau tidak, yaitu:
1. Field identification
Digunakan
untuk mengelompokkan semua fragmen dari sebuah datagram IP dalam sebuah
kelompok. Host pengirim akan mengeset nilai field ini, dan nilai ini tidak akan
beruba selama proses fragmentasi berlangsung. Field ini selalu diset (memiliki
nilai) meskipun datagram IP tidak boleh diset dengan menggunakan bit flag Dont
Fragment (DF).
2. Field Flag
yang memiliki dua buah nilai:
- Don't fragment (DF): Flag ini akan diset ke nilai "0" untuk mengizinkan fragmentasi dilakukan, atau nilai "1" untuk mencegah fragmentasi dilakukan terhadap datagram IP. Dengan kata lain, fragmentasi akan terjadi jika flag DF ini bernilai "0". Jika fragmentasi dibutuhkan untuk meneruskan datagram IP (akibat ukuran datagram IP yang lebih besar dibandingkan dengan ukuran maximum transmission unit (MTU)) dan flag DF ini diset ke nilai "1", maka router akan mengirimkan pesan "ICMP Destination Unreachable-Fragmentation Needed And DF Set" kepada host pengirim, sebelum router tersebut akan mengabaikan datagram IP tersebut.
- More Fragments (MF): Flag ini akan diset ke nilai "0" jika tidak ada fragmen lainnya yang mengikuti fragmen yang bersangkutan (berarti tanda bahwa fragmen tersebut merupakan fragmen terakhir), atau diset ke nilai "1" jika ada tambahan fragmen yang mengikuti fragmen tersebut (berarti tanda bahwa fragmen tersebut bukanlah fragmen terakhir).
3. Field Fragment Offset
Field
ini akan diset untuk mengindikasikan posisi fragmen yang bersangkutan terhadap
muatan IP yang belum difragmentasikan. Field ini akan digunakan untuk
mengurutkan kembali semua fragmen pada saat proses penyatuan kembali menjadi
sebuah datagram IP yang utuh di pihak penerima. Ukurannya adalah 13 bit, sehingga
mendukung nilai hingga 8191 saja. Mengingat ukuran muatan IP terbesar adalah
65515 byte (216-20), sedangkan ukuran field ini adalah 13 bit, maka
field ini tidak dapat digunakan untuk mengindikasikan byte offset.
Karenanya setiap nilai field fragment offset harus merepresentasikan
nilai 3 bit. Dengan demikian, field Fragment Offset pun dapat didefinisikan
dalam blok-blok berukuran 8 byte yang disebut sebagai Fragment block.
Selama fragmentasi dilakukan, muatan IP akan dipecah ke dalam fragmen-fragmen dengan menggunakan batasan 8 byte dan nilai maksimum fragment block (8 byte) diletakkan pada setiap fragmen. Field Fragment Offset pun diset untuk mengindikasikan permulaan fragment block untuk fragmen tersebut dibandingkan dengan muatan IP yang belum difragmentasi.
Setiap fragmen yang difragmentasi oleh router, header IP akan disalin dan beberapa field berikut ini akan diubah selama fragmentasi oleh router antara lain:
- Header length: Bisa berubah atau tidak bergantung pada keberadaan IP Options, dan juga apakah IP Options tersebut disalin ke semua fragmen atau hanya fragmen pertama saja.
- Time-to-Live (TTL): selalu dikurangi 1.
- Total Length: Diubah untuk merefleksikan perubahan pada header IP yang baru dan tentunya muatan IP yang baru.
- Flag More Fragment akan diset ke angka 1 untuk fragmen pertama atau fragmen pertengahan, atau nilai 0 untuk fragmen terakhir.
- Fragment Offset: Diset untuk mengindikasikan posisi fragmen di dalam fragment block relatif terhadap muatan IP yang belum difragmentasi.
- Header Checksum: dihitung ulang berdasarkan field yang berubah di dalam header IP.
- Field "identification": tidak berubah untuk setiap fragmen.
Pengalamatan IP
Berdasarkan
Gambar diatas dapat dilihat bahwa Header IP mengandung informasi yang dibutuhkan
untuk menentukan rute paket data yang harus dilalui oleh paket data, yang
mencakup alamat IP sumber (source IP
address) dan alamat IP tujuan (destination
IP address). Anatomi alamat IP terbagi menjadi dua bagian, yakni alamat
jaringan (network address) dan alamat node (node address/host
address). Penyampaian paket antar jaringan (umumnya disebut sebagai proses routing),
dimungkinkan karena adanya alamat jaringan tujuan dalam alamat IP.
Dalam membantu pencapaian pengiriman
paket data ke komputer tujuan, maka IP menggunakan skema pengalamatannya
sendiri yang disebut sebagai “IP address”. IP address ini digunakan untuk melaksanakan proses routing paket data ke
network yang sesuai. Setiap komputer dalam jaringan TCP/IP harus diberikan IP
address. Alamat IP merupakan alamat yang ditetapkan untuk sebuah komputer yang
berpartisipasi dalam jaringan komputer dengan memanfaatkan IP untuk komunikasi
antar node-nya. Biasanya berupa deretan angka biner antara 32-bit (untuk IPv4)
sampai 128-bit (untuk IPv6) yang dipakai sebagai alamat identifikasi untuk tiap
komputer host dalam jaringan internet. Walaupun
alamat IP disimpan sebagai angka biner, mereka biasanya ditampilkan agar
memudahkan manusia menggunakan notasi, seperti 208.77.188.166 (untuk IPv4),
dan 2001: db8: 0:1234:0:567:1:1 (untuk IPv6).
Pemberian
alamat logikal IPv4 pada suatu network menggunakan pengalamatan 32 bit
yang berarti 4 oktet. Gambar dibawah merupakan gambaran pemberian alamat pada setiap interface
perangkat (termasuk router) :
Selain
bertugas untuk pengalamatan, Internet Protocol juga memiliki tugas routing
paket data antara jaringan, alamat IP dan menentukan lokasi dari node sumber
dan node tujuan dalam topologi dari sistem routing. Untuk tujuan ini, beberapa
bit pada alamat IP yang digunakan untuk menunjuk sebuah subnetwork. Jumlah bit
ini ditunjukkan dalam notasi CIDR, yang ditambahkan ke alamat IP, misalnya,
208.77.188.166/24.
Dalam
aliran paket, host hanya mengetahui alamat yang ada pada area lokalnya saja.
Jika alamat tujuan tidak ada di area lokalnya, dia akan mengoper paket tersebut
ke default gateway jaringannya (biasanya berupa interface router).
Sesampainya di router, alamat tujuan akan diperiksa. Dalam router terdapat routing
table yang merupakan daftar jalur yang dimilikinya. Table routing
digunakan untuk menentukan arah dari
berbagai direct route dapat dilihat dari list akan interface. Sedangkan untuk
list jaringan dan gatewaynya dapat dikonfigurasi kemudian. List tersebut
digunakan untuk fasilitas
IP routing. Informasi tersebut disimpan dalam suatu tabel yang disebut tabel arah
(Routing Table).
Router adalah satu-satunya jalan agar network kita bisa berkomunikasi dengan network lainnya seperti ditunjukkan pada Gambar 8. Router merupakan alat yang berfungsi sebagai gateway yang menghubungkan 1 network ke network lainnya. Perlu diingat bahwa tanpa router, perangkat-perangkat hanya bisa berkomunikasi dalam area lokal (LAN) masing-masing. Selain itu membagi sebuah network yang besar menjadi beberapa sub-network. Ini disebut subnetting.
makasih bang, inilah yang saya cari cari
BalasHapus:")
Ulasan yang bagus. Makasih mas..
BalasHapus