Protokol TCP/IP
TCP/IP merupakan sekumpulan
protokol yang dirancang untuk melakukan fungsi-fungsi komunikasi
data pada jaringan komputer, terdiri atas sekumpulan protokol yang
masing-masing bertanggung-jawab atas bagian-bagian tertentu
komunikasi data.
TCP/IP tidak hanya dijalankan oleh
internet, tetapi digunakan juga pada jaringan intranet. TCP menyediakan
kehandalan transmisi data antara client dan server
apabila data hilang atau diacak, TCP memicu transmisi ulang sampai
kesalahan terkoreksi. IP menjalankan paket data dari simpul ke simpul,
mengkodekan alamat dan rute data ke tujuan yang ditunjuk. Lapisan pada
TCP/IP diperlihatkan pada gambar.
Gambar 1 Lapisan Protokol TCP/IP
Didalam protocol TCP/IP memiliki beberapa
protocol seperti HTTP, TCP, IP, ICMP, ARP dan Ethernet. Untuk
masing-masing protocol dijelaskan sebagai berikut ini :
1. HTTP
HTTP (hypertext transfer protocol) adalah suatu protokol yang digunakan untuk mentransfer dokumen dalam WWW (World Wide Web). HTTP mendefinisikan bagaimana suatu pesan dapat diformat dan dikirimkan dari client ke server atau sebaliknya. HTTP mengatur aksi apa saja yang harus dilakukan oleh web server dan web browser sebagai respon atas perintah-perintah yang ada pada protokol HTTP ini.
Konsep kerja HTTP adalah ketika mengklik link hypertext atau mengetikkan suatu alamat URL pada internet browser, maka akan mentransfer URL ke browser, alamat URL yang diketikkan pada browser tahu server mana yang akan dihubungi dan file apa yang diminta kemudian web browser akan mengirimkan perintah HTTP ke web server. Web server selanjutnya akan menerima perintah ini dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser.. Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan kepada kita.
Saat mencari suatu alamat web menggunakan web browser (client http), Sebuah client HTTP seperti web browser, biasanya memulai permintaan dengan membuat hubungan TCP/IP ke port tertentu di server Http ( port 80). Sebuah server HTTP yang mendengarkan di port tersebut menunggu client
mengirim kode permintaan seperti “GET /HTTP/1.1”(yang akan meminta
halaman yang sudah ditentukan), diikuti dengan pesan yang memiliki
beberapa informasi kode head yang menjelaskan aspek dari permintaan tersebut, diikut dengan body dari data tertentu. Begitu menerima kode permintaan, server mengirim kembali kode jawaban pesan yang diminta, atau sebuah pesan error seperti 404 (Not Found), 500 (Internal Server Error).
2. TCP
TCP (Transmision Control Protocol) adalah protokol pada layer transport yang bersifat conection oriented,
berfungsi untuk mengubah satu blok data yang besar menjadi
segmen-segmen yang dinomori dan disusun secara berurutan. Proses
pembuatan koneksi TCP disebut juga dengan proses “Three-way Handshake“.
Tujuan metode ini adalah agar dapat melakukan sinkronisasi terhadap
nomor urut dan nomor acknowledgement yang dikirimkan oleh kedua pihak
(pengirim dan penerima). Prosesnya antara lain:
- TCP client memulai dengan mengirimkan sebuah segmen dengan bentuk control flag SYN (Synchronize Sequence Number), mengindikasikan sebuah nilai awal header dari sequence number. Nilai awal yang disebut ISN (Initial Sequence Number) ini secara acak dipilih dan digunakan untuk memulai memantau aliran data dari client ke server pada sesi tersebut. Nilai ISN pada header dari tiap segmen akan dinaikkan satu setiap data yang dikirim dari client ke server ketika percakapan data.
- TCP server membutuhkan untuk mengetahui isi segmen SYN dari client untuk membangun sesi dari klien ke server. Untuk mencapai hal itu, server mengirim sebuah segmen kembali ke client dengan bentuk ACK flag mengindikasikan bahwa nilai acknowledgment tersebut signifikan. Dengan diaturnya flag pada segmen, client mengetahui bahwa server menerima SYN dari TCP client.
- Akhirnya, TCP client merespon dengan sebuah segmen yang mengandung sebuah ACK yang merupakan respon atas TCP SYN dari server. Pada segmen ini tidak ada data dari user. Nilai pada acknowledgment number ini mengandung lebih besar satu dari initial sequence number yang diterima dari server. Ketika kedua sesi terbangun antara client dan server, semua pergantian segmen pada komunikasi ini akan memiliki ACK flag yang telah teratur.
Acknowledgment dengan windowing pada TCP adalah header segmen sequence number dan acknowledgement number digunakan secara bersama untuk mengkonfirmasi byte yang terkandung dalam segmen. Sequence number mengindikasikan jumlah relative dari byte yang telah ditransmisi pada sesi ini termasuk byte yang terkandung dalam segmen. TCP menggunakan acknowledgement number di segments yang dikirm balik ke sumber untuk mengindikasikan byte berikutnya pada sesi ini yang penerima akan mendapatkannya. Ini disebut expectational acknowledgement. Namun selama sesi tersebut dilakukan, ada pembatasan pengiriman jumlah byte dengan windowing (window size). Window size sendiri adalah banyaknya data yang dapat ditransmisikan oleh pengirim sebelum menerima sinyal acknowledgement.
Gambar 2.6 ProsesTree-way Hanshake pada TCP
Protokol TCP bertugas memecah pesan-pesan menjadi beberapa segment, menyatukan kembali pada port tujuan, mengirimkan kembali apapun yang tidak diterima, dan menyatukan kembali pesan-pesan tersebut dari beberapa segment. TCP juga menyediakan sirkuit virtual antara aplikasi end-user. TCP memiliki karakteristik sebagai berikut:
- Berorientasi sambungan (connection-oriented): Sebelum data dapat ditransmisikan antara dua host, dua proses yang berjalan pada lapisan aplikasi harus melakukan negosiasi untuk membuat sesi koneksi terlebih dahulu. Koneksi TCP ditutup dengan menggunakan proses terminasi koneksi TCP.
- Full-duplex: Untuk setiap host TCP, koneksi yang terjadi antara dua host terdiri atas dua buah jalur, yakni jalur keluar dan jalur masuk. Dengan menggunakan teknologi lapisan yang lebih rendah yang mendukung full-duplex, maka data pun dapat secara simultan diterima dan dikirim. Header TCP berisi nomor urut (TCP sequence number) dari data yang ditransmisikan dan sebuah acknowledgment dari data yang masuk.
- Dapat diandalkan (reliable): Data yang dikirimkan ke sebuah koneksi TCP akan diurutkan dengan sebuah nomor urut paket dan akan mengharapkan paket positive acknowledgment dari penerima. Jika tidak ada paket Acknowledgment dari penerima, maka segmen TCP akan ditransmisikan ulang. Pada pihak penerima, segmen-segmen duplikat akan diabaikan dan segmen-segmen yang datang tidak sesuai dengan urutannya akan diletakkan di belakang untuk mengurutkan segmen-segmen TCP. Untuk menjamin integritas setiap segmen TCP, TCP mengimplementasikan penghitungan TCP Checksum.
- Byte stream: TCP melihat data yang dikirimkan dan diterima melalui dua jalur masuk dan jalur keluar TCP sebagai sebuah byte stream yang berdekatan (kontigu). Nomor urut TCP dan nomor acknowlegment dalam setiap header TCP didefinisikan juga dalam bentuk byte. Meski demikian, TCP tidak mengetahui batasan pesan-pesan di dalam byte stream TCP tersebut. Untuk melakukannya, hal ini diserahkan kepada protokol lapisan aplikasi (dalam DARPA Reference Model), yang harus menerjemahkan byte stream TCP ke dalam “bahasa” yang ia pahami.
- Memiliki layanan flow control: untuk mencegah data terlalu banyak dikirimkan pada satu waktu, yang akhirnya membuat “macet” jaringan internetwork IP, TCP mengimplementasikan layanan flow control yang dimiliki oleh pihak pengirim yang secara terus menerus memantau dan membatasi jumlah data yang dikirimkan pada satu waktu. Untuk mencegah pihak penerima untuk memperoleh data yang tidak dapat disangganya (buffer), TCP juga mengimplementasikan flow control dalam pihak penerima, yang mengindikasikan jumlah buffer yang masih tersedia dalam pihak penerima.
- Melakukan segmentasi terhadap data yang datang dari lapisan aplikasi
- Mengirimkan paket secara “one-to-one“: hal ini karena memang TCP harus membuat sebuah sirkuit logis antara dua buah protokol lapisan aplikasi agar saling dapat berkomunikasi. TCP tidak menyediakan layanan pengiriman data secara one-to-many.
TCP umumnya digunakan ketika protokol
lapisan aplikasi membutuhkan layanan transfer data yang bersifat andal,
yang layanan tersebut tidak dimiliki oleh protokol lapisan aplikasi
tersebut. Contoh dari protokol yang menggunakan TCP adalah HTTP dan FTP.
3. ICMP
Internet Control Message Protocol (ICMP)
adalah salah satu protokol inti dari keluarga protokol internet. ICMP
utamanya digunakan oleh sistem operasi komputer jaringan untuk mengirim
pesan kesalahan yang menyatakan, sebagai contoh, bahwa komputer tujuan
tidak bisa dijangkau. Protokol ini juga digunakan untuk ping dan untuk
melaporkan kesalahan dalam jaringan. Komputer ping mengirimkan sebuah paket ICMP ke komputer tujuan yang kemudian Echo paket kembali ke komputer ping.
Protokol ini digunakan juga untuk menyediakan beberapa pesan
administratif dan status seperti waktu respon. Protokol ini
diimplementasikan pada web server terutama untuk tujuan
pengujian. Paket ICMP terdiri dari header IP dan 64 bit pertama dari
data asli. ICMP memiliki sejumlah protokol dari 1 di bidang Protokol IP
ID.
4. IP (Internet Protocol)
Dalam melakukan pengiriman data protokol IP memiliki sifat yang dikenal sebagai unreliable, connectionless, datagram delivery servrce. Unreliable atau ketidak handalan berarti tidak ada jaminan sampainya data di tempat tujuan. Connectionless berarti dalam mengirim paket dari tempat asal ke tujuan, tidak diawali dengan perjanjian (handshake) antara pengirim & penerima. Sedangkan datagram delivery service berarti
setiap paket data yang dikirim adalah independen terhadap paket data
yang lain. Jalur yang ditempuh antara satu data dengan yang lain bisa
berbeda. Sehingga kedatangannya pun bisa tidak terurut seperti urutan
pengiriman. Dalam mengirim data, protokol IP memiliki format datagram
khusus .
Version untuk menunjukkan versi protokol yang dipakai, Header Length menunjukkan panjang paket header dalam hitungan 32 bit. Type of Service menunjukkan kualitas layanan, Total Length of datagram menunjukkan total keseluruhan panjang datagram. Identification, Flags dan Fragment Offset
digunakan untuk fragmentasi paket, TTL menunjukkan jumlah hop maksimal
yang dilewati paket IP. Sedangkan Protocol mengandung angka yang
mengidentifikasikan protokol layer diatasnya. Header Checksum untuk mengecek kebenaran isi header datagram. Source dan destination IP Address merupakan alamat pengirim dan penerima datagram. Untuk byte option dapat berisi Strict Source Route, yaitu daftar lengkap alamat IP dari router yang harus dilalui untuk sampai ke tujuan, dan Loose Source Route.
5. ARP
Address Resolution Protocol (ARP) adalah sebuah protokol dalam TCP/IP Protokol yang digunakan untuk melakukan resolusi alamat IP ke dalam alamat Media Access Control (MAC Address).
ARP digunakan untuk menerjemahkan alamat
IP ke link alamat MAC dan menyembunyikan alamat ini dari lapisan
diatasnya. Protokol ini memetakan alamat IP sesuai alamat MAC. Secara
umum, modul ARP disiarkan ke jaringan yang berisi alamat IP. Jika mesin
mengenali alamat IP dalam Permintaan ARP, Maka akan kembali balasan ARP
ke mesin bertanya ke MAC address. Pada dasarnya, Sebuah
paket broadcast ARP meminta “alamat IP yang dimiliki” dan jawaban dari
mesin yang sesuai adalah” disini saya adalah MAC address “. Alamat MAC dari mesin host harus diketahui dalam rangka kirim paket Ethernet dan dengan demikian ARP diperlukan dalam proyek ini.
6. ETHERNET
Ethernet merupakan sebuah teknologi jaringan yang menggunakan metode transmisi Baseband yang mengirim sinyalnya secara serial 1 bit pada satu waktu. Ethernet beroperasi dalam modus half-duplex, yang berarti setiap station dapat menerima atau mengirim data tapi tidak dapat melakukan keduanya secara sekaligus.
Ethernet menggunakan metode kontrol akses media Carrier Sense Multiple Access with Collision Detection untuk
menentukan station mana yang dapat mentransmisikan data pada waktu
tertentu melalui media yang digunakan. Dalam jaringan yang menggunakan
teknologi ethernet, setiap komputer akan “mendengar” terlebih
dahulu sebelum “berbicara”, artinya mereka akan melihat kondisi jaringan
apakah tidak ada komputer lain yang sedang mentransmisikan data.
Jika dua station hendak mencoba untuk mentransmisikan data pada waktu yang sama, maka kemungkinan akan terjadi collision / tabrakan, yang akan mengakibatkan dua station
tersebut menghentikan transmisi data, sebelum akhirnya mencoba untuk
mengirimkannya lagi pada interval waktu yang acak (yang diukur dengan
satuan milidetik). Semakin banyak station dalam sebuah jaringan ethernet, akan mengakibatkan jumlah kolisi yang semakin besar pula dan kinerja jaringan pun akan menjadi buruk. Kinerja Ethernet
yang seharusnya 10 Mbit/detik, jika dalam jaringan terpasang 100 node,
umumnya hanya menghasilkan kinerja yang berkisar antara 40% hingga 55%
dari bandwidth yang diharapkan (10 Mbit/detik). Salah satu cara untuk menghadapi masalah ini adalah dengan menggunakan Switch Ethernet untuk melakukan segmentasi terhadap jaringan Ethernet ke dalam beberapa collision domain.
Semoga Bermanfaat - Trigger Software
Protokol TCP/IP
4/
5
Oleh
ilyunal